• Manikanta Pubbisetty's avatar
    ath11k: handle RX fragments · 243874c6
    Manikanta Pubbisetty authored
    IPQ8074 HW has support to verify the PN of the received frames.
    For all frames except for fragmented ones, HW checks the PN and
    delivers them to the driver. For fragmented frames, driver is
    required to do a little more; it has to reassemble the fragments
    and then reinject them to the HW for verifying the PN. Currently,
    to keep the logic simple, PN verifcation is disabled in HW and is
    handled in mac80211 for all the frames (fragmented and unfragmented).
    
    On the contrary, offloading PN Validation to the HW brings important
    benefits. It reduces CPU cycles spent on the host CPU for verifying
    the same; helps in enabling features which improve performance like
    mac80211 fast RX path, enabling multiple REO rings for parallel RX
    processing, 802.11 decapsulation offloading. All these features are
    dependent on PN offload which in turn is dependent on handling of
    the received fragments in the driver.
    
    When TKIP security is used, additional handling is required while
    processing the fragments; since MIC is computed on an MSDU in TKIP,
    only the last fragment has the MIC info. In this case, driver has to
    compute the MIC after reassembly and compare it against the MIC
    present in the frame. For this, MICHAEL_MIC kernel crypto library
    APIs are used and the dependencies are appropriately set.
    Signed-off-by: default avatarManikanta Pubbisetty <mpubbise@codeaurora.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    243874c6
dp_rx.c 126 KB