Is there anyway to see stats on the size of MPDUs and A-MPDUs?
I’m trying to quantify the efficiency of sending data over the medium.
Additionally is there anyway to control A-MPDU or MPDU sizes?
Edit:
Also found reference in the driver skbq.c and rc.c that suggests that the A-MPDUs are currently configured to only contain a single packet. Is this a correct interpretation of what’s happening in morse_skbq_tx_status_fill() and morse_rc_sta_feedback_rates().
Strictly speaking, we don’t have stats on MPDU length. But we do have statistics on the aggregation counts. Note that the A-MPDU length is negotiated by devices on association.
For the TX side, we have a count of how many times N packets were aggregated. This can be checked with morse_cli -i wlan0 stats | grep 'AGG N aggregates'. The output is a list of counts with the first entry showing the number of packets not aggregated, and then 1 through to 16.
For the RX side, we have a count on the number of times a bit in the block ack bitmap was set. You can get this information with morse_cli -i wlan0 stats | grep 'RX AMPDU bitmap'.
Note, we only support up to 16 aggregates at this stage.
MPDU size is controlled by the MTU or fragmentation threshold, whichever is lower. On our evaluation kits, this (by default), will be the MTU at 1500. You can control the MTU with ip or ifconfig. For the fragmentation threshold, this can be managed with iw, or if you’re using OpenWrt, with the frag option in the relevant wifi-devicesection of the wireless config.
You can limit the aggregation count with the max_aggregation_count module parameter of the Morse Micro driver.