• Markus Theil's avatar
    mac80211: enable QoS support for nl80211 ctrl port · 10cb8e61
    Markus Theil authored
    This patch unifies sending control port frames
    over nl80211 and AF_PACKET sockets a little more.
    
    Before this patch, EAPOL frames got QoS prioritization
    only when using AF_PACKET sockets.
    
    __ieee80211_select_queue only selects a QoS-enabled queue
    for control port frames, when the control port protocol
    is set correctly on the skb. For the AF_PACKET path this
    works, but the nl80211 path used ETH_P_802_3.
    
    Another check for injected frames in wme.c then prevented
    the QoS TID to be copied in the frame.
    
    In order to fix this, get rid of the frame injection marking
    for nl80211 ctrl port and set the correct ethernet protocol.
    
    Please note:
    An erlier version of this path tried to prevent
    frame aggregation for control port frames in order to speed up
    the initial connection setup a little. This seemed to cause
    issues on my older Intel dvm-based hardware, and was therefore
    removed again. Future commits which try to reintroduce this
    have to check carefully how hw behaves with aggregated and
    non-aggregated traffic for the same TID.
    My NIC: Intel(R) Centrino(R) Ultimate-N 6300 AGN, REV=0x74
    Reported-by: default avatarkernel test robot <lkp@intel.com>
    Signed-off-by: default avatarMarkus Theil <markus.theil@tu-ilmenau.de>
    Link: https://lore.kernel.org/r/20210206115112.567881-1-markus.theil@tu-ilmenau.deSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    10cb8e61
status.c 36.2 KB