aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/mac80211.c
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2014-01-14 05:35:49 -0500
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-02-03 15:23:36 -0500
commit777369237b1dfdd9bc11b855d8f08fe724b60c35 (patch)
tree0a5d3dc4ac86de145b1087f02dcb31aaa9a1b717 /drivers/net/wireless/iwlwifi/mvm/mac80211.c
parentc87163b9ae894b94c87746fceddb593e7be62ab4 (diff)
iwlwifi: mvm: add predefined broadcast filter configuration
Configure arp request broadcast filter if this option is enabled, in order to allow only arp request broadcasts to pass-in. (A following patch will make this filter even narrower by limiting the arp request to our own ip) Signed-off-by: Eliad Peller <eliadx.peller@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/mac80211.c')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mac80211.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index 08b8051e56f8..6f9640b68771 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -128,6 +128,28 @@ static const struct wiphy_wowlan_tcp_support iwl_mvm_wowlan_tcp_support = {
128}; 128};
129#endif 129#endif
130 130
131#ifdef CONFIG_IWLWIFI_BCAST_FILTERING
132static const struct iwl_fw_bcast_filter iwl_mvm_default_bcast_filters[] = {
133 {
134 /* arp */
135 .discard = 0,
136 .frame_type = BCAST_FILTER_FRAME_TYPE_ALL,
137 .attrs = {
138 {
139 /* frame type - arp, hw type - ethernet */
140 .offset_type =
141 BCAST_FILTER_OFFSET_PAYLOAD_START,
142 .offset = sizeof(rfc1042_header),
143 .val = cpu_to_be32(0x08060001),
144 .mask = cpu_to_be32(0xffffffff),
145 },
146 },
147 },
148 /* last filter must be empty */
149 {},
150};
151#endif
152
131static void iwl_mvm_reset_phy_ctxts(struct iwl_mvm *mvm) 153static void iwl_mvm_reset_phy_ctxts(struct iwl_mvm *mvm)
132{ 154{
133 int i; 155 int i;
@@ -292,6 +314,11 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
292 } 314 }
293#endif 315#endif
294 316
317#ifdef CONFIG_IWLWIFI_BCAST_FILTERING
318 /* assign default bcast filtering configuration */
319 mvm->bcast_filters = iwl_mvm_default_bcast_filters;
320#endif
321
295 ret = iwl_mvm_leds_init(mvm); 322 ret = iwl_mvm_leds_init(mvm);
296 if (ret) 323 if (ret)
297 return ret; 324 return ret;