• Julius Niedworok's avatar
    mac80211: debugfs option to force TX status frames · 276d9e82
    Julius Niedworok authored
    At Technical University of Munich we use MAC 802.11 TX status frames to
    perform several measurements in MAC 802.11 setups.
    
    With ath based drivers this was possible until commit d94a461d
    ("ath9k: use ieee80211_tx_status_noskb where possible") as the driver
    ignored the IEEE80211_TX_CTL_REQ_TX_STATUS flag and always delivered
    tx_status frames. Since that commit, this behavior was changed and the
    driver now adheres to IEEE80211_TX_CTL_REQ_TX_STATUS.
    
    Due to performance reasons, IEEE80211_TX_CTL_REQ_TX_STATUS is not set for
    data frames from interfaces in managed mode. Hence, frames that are sent
    from a managed mode interface do never deliver tx_status frames. This
    remains true even if a monitor mode interface (the measurement interface)
    is added to the same ieee80211 physical device. Thus, there is no
    possibility for receiving tx_status frames for frames sent on an interface
    in managed mode, if the driver adheres to IEEE80211_TX_CTL_REQ_TX_STATUS.
    
    In order to force delivery of tx_status frames for research and debugging
    purposes, implement a debugfs option force_tx_status for ieee80211 physical
    devices. When this option is set for a physical device,
    IEEE80211_TX_CTL_REQ_TX_STATUS is enabled in all packets sent from that
    device. This option can be set via
    /sys/kernel/debug/ieee80211/<dev>/force_tx_status. The default is disabled.
    Co-developed-by: default avatarCharlie Groh <ga58taw@mytum.de>
    Signed-off-by: default avatarCharlie Groh <ga58taw@mytum.de>
    Signed-off-by: default avatarJulius Niedworok <julius.n@gmx.net>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    276d9e82
ieee80211_i.h 70.6 KB