Rx ProcessingΒΆ

The MAC core processes the raw byte stream from the Rx PHY. This processing is split in two paths.

The first path routes complete packets to kernel memory for processing by the mango_wlan driver and kernel networking stack. This path uses an external DMA core that consumes the per-packet byte stream from the MAC core and writes it directly to kernel SKBs in DRAM at addresses provided by the driver.

The second path parses the headers of received packets and emits a stream of MAC Header events for the MAC software. The MAC software only needs MAC headers and FCS results to update internal state. This flow minimizes overhead in the MAC software by only routing the required subset of received bytes to the MAC software.

MAC core Rx processing block diagram

Fig. 4.2 MAC core Rx processing