• Manikanta Pubbisetty's avatar
    ath10k: add dynamic vlan support · 4920ce3b
    Manikanta Pubbisetty authored
    Multicast/broadcast traffic destined for a particular vlan group will
    always be encrypted in software. To enable dynamic VLANs, it requires
    driver support for sending software encrypted packets.
    
    In ath10k, sending software encrypted frames is allowed only when we insmod
    the driver with cryptmode param set to 1, this configuration disables
    hardware crypto and enables RAW mode implicitly. Since, enabling raw
    mode has performance impact, this cannot be considered as an ideal
    solution for supporting VLANs in the driver.
    
    As an alternative take, in this approach, cryptographic keys for
    unicast traffic (per peer PTKs) and keys for non-vlan group traffic
    will be configured in hardware, allowing hardware encryption for unicast
    and non-vlan group traffic. Only vlan group traffic will be encrypted in
    software and pushed to the target with encap mode set to RAW in the TX
    descriptors.
    
    Not all firmwares can support this type of key configuration(having few
    keys installed in hardware and few only in software); for this purpose a
    new WMI service flag "WMI_SERVICE_PER_PACKET_SW_ENCRYPT" is introduced to
    advertise this support.
    
    Also, adding the logic required to send sw encrypted frames in raw mode.
    
    Hardwares Tested : QCA9984, QCA988X
    Firmwares Tested : 10.4-3.5.3-00057, 10.2.4-1.0-00042
    Signed-off-by: default avatarManikanta Pubbisetty <mpubbise@codeaurora.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    4920ce3b
mac.c 225 KB