Manikanta Pubbisetty <mpubbise@xxxxxxxxxxxxxx> wrote: > 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: Manikanta Pubbisetty <mpubbise@xxxxxxxxxxxxxx> > Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> I had to fix some conflicts, please carefully check my resolution in the pending branch: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=7ae879447535ae1327e78dc614385ff6dd45c2fd Applying: ath10k: add dynamic vlan support Using index info to reconstruct a base tree... M drivers/net/wireless/ath/ath10k/core.h M drivers/net/wireless/ath/ath10k/mac.c M drivers/net/wireless/ath/ath10k/wmi.h Falling back to patching base and 3-way merge... Auto-merging drivers/net/wireless/ath/ath10k/wmi.h CONFLICT (content): Merge conflict in drivers/net/wireless/ath/ath10k/wmi.h Auto-merging drivers/net/wireless/ath/ath10k/mac.c Auto-merging drivers/net/wireless/ath/ath10k/core.h Recorded preimage for 'drivers/net/wireless/ath/ath10k/wmi.h' error: Failed to merge in the changes. Patch failed at 0001 ath10k: add dynamic vlan support -- https://patchwork.kernel.org/patch/10692385/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches