• Sathishkumar Muruganandam's avatar
    ath10k: disable 4addr source port learning in 10.4 FW by default · 68c295f2
    Sathishkumar Muruganandam authored
    Currently in 10.4 FW, all the received 4addr frames are processed for
    source port learning which is enabled by default. This learning can't be
    disabled by default in FW since it breaks backward compatibility.
    
    Since ath10k uses mac80211 based 4addr mode, source port learning done in
    10.4 FW is redundant and also causes issues when 3addr frames are
    transmitted/received for a 4addr station.
    
    One such visible functional impact is when GTK rekey frame from
    hostapd based AP to 4addr STA is dropped in AP's 10.4 FW. This is since
    GTK rekey EAPOL frame is 3addr frame on AP interface and STA enabled
    with 4addr is already allowed for receiving 3addr EAPOL frames.
    
    Source port learning implementation in 10.4 FW drops this 3addr GTK rekey
    frame in AP destinated for 4addr STA causing disassociation and
    re-association for every GTK rekey session. GTK rekey issue is not seen
    when learning is disabled in FW.
    
    To prevent such issues without breaking backward compatibility, FW
    advertises new service bit making the source port learning configurable and
    this learning is being currently disabled during ath10k vdev creation.
    
    * Tested HW: QCA9984
    * Tested FW: 10.4-3.6.0.1-00004
    Signed-off-by: default avatarSathishkumar Muruganandam <murugana@codeaurora.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    68c295f2
mac.c 220 KB