summaryrefslogtreecommitdiff
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorAlexander Bondar <alexander.bondar@intel.com>2013-02-11 14:56:29 +0200
committerJohannes Berg <johannes.berg@intel.com>2013-03-11 16:22:14 +0200
commit488b366a452934141959384c7a1b52b22d6154ef (patch)
tree85851d49961be9db15cbeea8038e873e4fc9028a /include/net/mac80211.h
parent511044ea0bfc06614d903263ad094d1071fa172f (diff)
downloadlinux-stable-488b366a452934141959384c7a1b52b22d6154ef.tar.gz
linux-stable-488b366a452934141959384c7a1b52b22d6154ef.tar.bz2
linux-stable-488b366a452934141959384c7a1b52b22d6154ef.zip
mac80211: add driver callback for per-interface multicast filter
Some devices have multicast filter capability for each individual virtual interface rather than just a global one. Add an interface specific driver callback allowing such drivers to configure this. Signed-off-by: Alexander Bondar <alexander.bondar@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 8c0ca11a39c4..f5db5e970428 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -2259,6 +2259,9 @@ enum ieee80211_roc_type {
* See the section "Frame filtering" for more information.
* This callback must be implemented and can sleep.
*
+ * @set_multicast_list: Configure the device's interface specific RX multicast
+ * filter. This callback is optional. This callback must be atomic.
+ *
* @set_tim: Set TIM bit. mac80211 calls this function when a TIM bit
* must be set or cleared for a given STA. Must be atomic.
*
@@ -2605,6 +2608,10 @@ struct ieee80211_ops {
unsigned int changed_flags,
unsigned int *total_flags,
u64 multicast);
+ void (*set_multicast_list)(struct ieee80211_hw *hw,
+ struct ieee80211_vif *vif, bool allmulti,
+ struct netdev_hw_addr_list *mc_list);
+
int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
bool set);
int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd,