WLAN Complete Product Development – MD6000
MD6000 is the latest series of high end WIFI mesh boards being developed by Benison Technologies for our customers. The board consists of IMX6 quad core processors with 6 PCIe slots that can hold WIFI radios supporting 802.11 a, b, g, n, ac and 802.15.4 support. Each radio can be configured to its own functionality and supported frequency to work as Backhaul radios, AP radios and as Scanners. The radios primarily work on the 5Ghz, 2.4Ghz and 900 Mhz band. This MD6000 will primarily be used in networking solutions for high-performance outdoor data, voice, and video networking.
The new software in addition to the existing features will support the following new features
- 6 radios that can have support for a/b/g/n/ac protocols
- 802.11 n and ac radios can be configured to work on backhaul or AP mode.
- 802.15.4 long range low power device support
- Support for frame aggregation and block ack.
- Multicore support of the MD software that will harness the quad core CPUs to deliver high performance data plane switching across mesh nodes.
The Software Architecture integrates the Mesh Networking algorithm to the Mac 80211 layer thereby freeing any dependencies from the underlying wifi device drivers.
The block diagram of the Mac 80211 based Mesh Networking architecture is shown below.
Ath9k and Ath10k will be used for 80211n and 80211ac support. For 802.15.g support TI C3110 drivers will be used.
Meshap is the core algorithm used to manage the mesh networks. It interfaces with Mac80211 layer to handle management and data frames and routing information.
The meshap module will integrate with mac80211 layer to support 11n and 11ac HT/VHT capabilities on capable wireless stations.
cfg80211 is the Linux 802.11 configuration API. The hostapd will use this layer to configure the MAC80211 layer based on callbacks from hostapd in userspace.
Hostapd is a user space daemon for access point and authentication servers. It configures the wireless interfaces (using netlink sockets) for MAC80211 based system. It will be used to bring up AP interfaces on the card.
Multi-Core Overall Architecture
The MD6000 device will harness the quad core multicore capabilities present in IMX processors to deliver full line rate traffic for 11n and 11ac interfaces.
Management Frame Processing
CPU0 will be used to processing All management related frames. The processing of management frames will be as same as on single core CPU.
Data Plane Processing
For data plane processing a separate data plane thread will be pinned to all other CPUs. This will ensure that these CPUs(CPU1/2/3) dedicated run the data packets and forward them. As the kernel will not context switch these threads, the L1 cache will be hot and will ensure maximum performance when forwarding data packets.
If packets flows queued on different queues then performance will degrade because of reordering issues. To overcome this issue, the software will do a hash based src mac, dst mac, which will help to add same flow packets into same queue.
The MD6000 will be designed to interoperate with 2nd generation mesh nodes like MD4000 and MD1000.