diff options
author | Bryan O'Donoghue <bryan.odonoghue@linaro.org> | 2021-06-05 02:11:33 +0100 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2021-06-14 18:18:12 +0300 |
commit | c7a61af55976dbd11b176d2badda869a7537dca4 (patch) | |
tree | 8cbbbd72f3ae3e6e242fd86bae1c9687362f9562 /drivers/net/wireless/ath/wcn36xx/wcn36xx.h | |
parent | 6feb634f4d9fceb0241612ad46ad55b54fd78df5 (diff) | |
download | linux-c7a61af55976dbd11b176d2badda869a7537dca4.tar.gz |
wcn36xx: Add ipv6 address tracking
Taking code from iwlwifi this commit adds a standard callback for
ipv6_addr_change().
This callback allows wcn36xx to know the set of ipv6 addresses. Something
we need to know in order to get wowlan working with ipv6.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Tested-by: Benjamin Li <benl@squareup.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210605011140.2004643-6-bryan.odonoghue@linaro.org
Diffstat (limited to 'drivers/net/wireless/ath/wcn36xx/wcn36xx.h')
-rw-r--r-- | drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h b/drivers/net/wireless/ath/wcn36xx/wcn36xx.h index 71fa9992b118..5a5114660b18 100644 --- a/drivers/net/wireless/ath/wcn36xx/wcn36xx.h +++ b/drivers/net/wireless/ath/wcn36xx/wcn36xx.h @@ -18,6 +18,7 @@ #define _WCN36XX_H_ #include <linux/completion.h> +#include <linux/in6.h> #include <linux/printk.h> #include <linux/spinlock.h> #include <net/mac80211.h> @@ -136,6 +137,13 @@ struct wcn36xx_vif { u8 self_dpu_desc_index; u8 self_ucast_dpu_sign; +#if IS_ENABLED(CONFIG_IPV6) + /* IPv6 addresses for WoWLAN */ + struct in6_addr target_ipv6_addrs[WCN36XX_HAL_IPV6_OFFLOAD_ADDR_MAX]; + unsigned long tentative_addrs[BITS_TO_LONGS(WCN36XX_HAL_IPV6_OFFLOAD_ADDR_MAX)]; + int num_target_ipv6_addrs; +#endif + struct list_head sta_list; }; |