diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-01-14 09:14:34 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-01-18 15:55:38 -0500 |
commit | a65240c1013222dbf41166c8b2c5ed2720c807c3 (patch) | |
tree | 782ebe013571cbf1b83c306964372faffe348b42 /net/mac80211/driver-ops.h | |
parent | 0a214d3f7e5041685ebff054628a4354bedd78c3 (diff) |
mac80211: allow drivers to access IPv6 information
To be able to implement NS response offloading (in
regular operation or while in WoWLAN) drivers need
to know the IPv6 addresses assigned to interfaces.
Implement an IPv6 notifier in mac80211 to call the
driver when addresses change.
Unlike for IPv4, implement it as a callback rather
than as a list in the BSS configuration, that is
more flexible.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/driver-ops.h')
-rw-r--r-- | net/mac80211/driver-ops.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h index e6033b06caba..d51afbd614d3 100644 --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h | |||
@@ -1036,4 +1036,16 @@ drv_set_default_unicast_key(struct ieee80211_local *local, | |||
1036 | trace_drv_return_void(local); | 1036 | trace_drv_return_void(local); |
1037 | } | 1037 | } |
1038 | 1038 | ||
1039 | #if IS_ENABLED(CONFIG_IPV6) | ||
1040 | static inline void drv_ipv6_addr_change(struct ieee80211_local *local, | ||
1041 | struct ieee80211_sub_if_data *sdata, | ||
1042 | struct inet6_dev *idev) | ||
1043 | { | ||
1044 | trace_drv_ipv6_addr_change(local, sdata); | ||
1045 | if (local->ops->ipv6_addr_change) | ||
1046 | local->ops->ipv6_addr_change(&local->hw, &sdata->vif, idev); | ||
1047 | trace_drv_return_void(local); | ||
1048 | } | ||
1049 | #endif | ||
1050 | |||
1039 | #endif /* __MAC80211_DRIVER_OPS */ | 1051 | #endif /* __MAC80211_DRIVER_OPS */ |