* Re: [PATCH v2] mac80211: Handle mesh action frames in ieee80211_rx_h_action [not found] ` <1269653791-28478-1-git-send-email-javier@cozybit.com> @ 2010-03-29 6:30 ` Johannes Berg 2010-03-29 18:00 ` [PATCH 1/2 v3] " Javier Cardona 0 siblings, 1 reply; 5+ messages in thread From: Johannes Berg @ 2010-03-29 6:30 UTC (permalink / raw) To: Javier Cardona Cc: linux-wireless, Ледовских Николай Валерьевич, Steve Derosier, devel On Fri, 2010-03-26 at 18:36 -0700, Javier Cardona wrote: > This fixes the problem introduced in commit 8404080568613d93ad7cf0a16dfb68 > which broke mesh peer link establishment. > > Also in this patch, moved mesh action codes to a more visible location > (from mesh.h to ieee80211.h) so they are not overlooked in the future. Hm, come to think of it, I think it might be useful to split up into two patches, with the functional change coming _first_ so it can be applied to -stable? johannes > v2 changes: > Added missing break (Johannes) > > Signed-off-by: Javier Cardona <javier@cozybit.com> > --- > include/linux/ieee80211.h | 2 ++ > net/mac80211/mesh.c | 7 ++----- > net/mac80211/mesh.h | 2 -- > net/mac80211/mesh_hwmp.c | 4 ++-- > net/mac80211/mesh_plink.c | 2 +- > net/mac80211/rx.c | 7 ++++++- > 6 files changed, 13 insertions(+), 11 deletions(-) > > diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h > index 1998495..e0f528e 100644 > --- a/include/linux/ieee80211.h > +++ b/include/linux/ieee80211.h > @@ -1211,6 +1211,8 @@ enum ieee80211_category { > WLAN_CATEGORY_SA_QUERY = 8, > WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION = 9, > WLAN_CATEGORY_WMM = 17, > + WLAN_CATEGORY_MESH_PLINK = 30, /* Pending ANA approval */ > + WLAN_CATEGORY_MESH_PATH_SEL = 32, /* Pending ANA approval */ > WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, > WLAN_CATEGORY_VENDOR_SPECIFIC = 127, > }; > diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c > index 61080c5..2669fbf 100644 > --- a/net/mac80211/mesh.c > +++ b/net/mac80211/mesh.c > @@ -600,10 +600,10 @@ static void ieee80211_mesh_rx_mgmt_action(struct ieee80211_sub_if_data *sdata, > struct ieee80211_rx_status *rx_status) > { > switch (mgmt->u.action.category) { > - case MESH_PLINK_CATEGORY: > + case WLAN_CATEGORY_MESH_PLINK: > mesh_rx_plink_frame(sdata, mgmt, len, rx_status); > break; > - case MESH_PATH_SEL_CATEGORY: > + case WLAN_CATEGORY_MESH_PATH_SEL: > mesh_rx_path_sel_frame(sdata, mgmt, len); > break; > } > @@ -749,9 +749,6 @@ ieee80211_mesh_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) > > switch (fc & IEEE80211_FCTL_STYPE) { > case IEEE80211_STYPE_ACTION: > - if (skb->len < IEEE80211_MIN_ACTION_SIZE) > - return RX_DROP_MONITOR; > - /* fall through */ > case IEEE80211_STYPE_PROBE_RESP: > case IEEE80211_STYPE_BEACON: > skb_queue_tail(&ifmsh->skb_queue, skb); > diff --git a/net/mac80211/mesh.h b/net/mac80211/mesh.h > index 85562c5..c88087f 100644 > --- a/net/mac80211/mesh.h > +++ b/net/mac80211/mesh.h > @@ -209,8 +209,6 @@ struct mesh_rmc { > #define MESH_MAX_MPATHS 1024 > > /* Pending ANA approval */ > -#define MESH_PLINK_CATEGORY 30 > -#define MESH_PATH_SEL_CATEGORY 32 > #define MESH_PATH_SEL_ACTION 0 > > /* PERR reason codes */ > diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c > index ccff613..36141d6 100644 > --- a/net/mac80211/mesh_hwmp.c > +++ b/net/mac80211/mesh_hwmp.c > @@ -131,7 +131,7 @@ static int mesh_path_sel_frame_tx(enum mpath_frame_type action, u8 flags, > memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); > /* BSSID == SA */ > memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); > - mgmt->u.action.category = MESH_PATH_SEL_CATEGORY; > + mgmt->u.action.category = WLAN_CATEGORY_MESH_PATH_SEL; > mgmt->u.action.u.mesh_action.action_code = MESH_PATH_SEL_ACTION; > > switch (action) { > @@ -224,7 +224,7 @@ int mesh_path_error_tx(u8 ttl, u8 *target, __le32 target_sn, > memcpy(mgmt->da, ra, ETH_ALEN); > memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); > /* BSSID is left zeroed, wildcard value */ > - mgmt->u.action.category = MESH_PATH_SEL_CATEGORY; > + mgmt->u.action.category = WLAN_CATEGORY_MESH_PATH_SEL; > mgmt->u.action.u.mesh_action.action_code = MESH_PATH_SEL_ACTION; > ie_len = 15; > pos = skb_put(skb, 2 + ie_len); > diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c > index 1a29c4a..8517f88 100644 > --- a/net/mac80211/mesh_plink.c > +++ b/net/mac80211/mesh_plink.c > @@ -171,7 +171,7 @@ static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata, > memcpy(mgmt->da, da, ETH_ALEN); > memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); > /* BSSID is left zeroed, wildcard value */ > - mgmt->u.action.category = MESH_PLINK_CATEGORY; > + mgmt->u.action.category = WLAN_CATEGORY_MESH_PLINK; > mgmt->u.action.u.plink_action.action_code = action; > > if (action == PLINK_CLOSE) > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c > index 1da57c8..43c0310 100644 > --- a/net/mac80211/rx.c > +++ b/net/mac80211/rx.c > @@ -484,7 +484,7 @@ ieee80211_rx_mesh_check(struct ieee80211_rx_data *rx) > > if (ieee80211_is_action(hdr->frame_control)) { > mgmt = (struct ieee80211_mgmt *)hdr; > - if (mgmt->u.action.category != MESH_PLINK_CATEGORY) > + if (mgmt->u.action.category != WLAN_CATEGORY_MESH_PLINK) > return RX_DROP_MONITOR; > return RX_CONTINUE; > } > @@ -1964,6 +1964,11 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) > goto handled; > } > break; > + case WLAN_CATEGORY_MESH_PLINK: > + case WLAN_CATEGORY_MESH_PATH_SEL: > + if (ieee80211_vif_is_mesh(&sdata->vif)) > + return ieee80211_mesh_rx_mgmt(sdata, rx->skb); > + break; > } > > /* ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2 v3] mac80211: Handle mesh action frames in ieee80211_rx_h_action 2010-03-29 6:30 ` [PATCH v2] mac80211: Handle mesh action frames in ieee80211_rx_h_action Johannes Berg @ 2010-03-29 18:00 ` Javier Cardona 2010-03-29 18:00 ` [PATCH 2/2] mac80211: Moved mesh action codes to a more visible location Javier Cardona 2010-03-31 16:37 ` [PATCH 1/2 v3] mac80211: Handle mesh action frames in ieee80211_rx_h_action Johannes Berg 0 siblings, 2 replies; 5+ messages in thread From: Javier Cardona @ 2010-03-29 18:00 UTC (permalink / raw) To: linux-wireless; +Cc: Javier Cardona, Steve Derosier, devel This fixes the problem introduced in commit 8404080568613d93ad7cf0a16dfb68 which broke mesh peer link establishment. changes: v2 Added missing break (Johannes) v3 Broke original patch into two (Johannes) Signed-off-by: Javier Cardona <javier@cozybit.com> --- net/mac80211/mesh.c | 3 --- net/mac80211/rx.c | 5 +++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c index 61080c5..7a6bebc 100644 --- a/net/mac80211/mesh.c +++ b/net/mac80211/mesh.c @@ -749,9 +749,6 @@ ieee80211_mesh_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) switch (fc & IEEE80211_FCTL_STYPE) { case IEEE80211_STYPE_ACTION: - if (skb->len < IEEE80211_MIN_ACTION_SIZE) - return RX_DROP_MONITOR; - /* fall through */ case IEEE80211_STYPE_PROBE_RESP: case IEEE80211_STYPE_BEACON: skb_queue_tail(&ifmsh->skb_queue, skb); diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 1da57c8..1e03972 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -1964,6 +1964,11 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) goto handled; } break; + case MESH_PLINK_CATEGORY: + case MESH_PATH_SEL_CATEGORY: + if (ieee80211_vif_is_mesh(&sdata->vif)) + return ieee80211_mesh_rx_mgmt(sdata, rx->skb); + break; } /* -- 1.6.3.3 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] mac80211: Moved mesh action codes to a more visible location 2010-03-29 18:00 ` [PATCH 1/2 v3] " Javier Cardona @ 2010-03-29 18:00 ` Javier Cardona 2010-03-31 16:38 ` Johannes Berg 2010-03-31 16:37 ` [PATCH 1/2 v3] mac80211: Handle mesh action frames in ieee80211_rx_h_action Johannes Berg 1 sibling, 1 reply; 5+ messages in thread From: Javier Cardona @ 2010-03-29 18:00 UTC (permalink / raw) To: linux-wireless; +Cc: Javier Cardona, Steve Derosier, devel Grouped mesh action codes together with the other action codes in ieee80211.h. Signed-off-by: Javier Cardona <javier@cozybit.com> --- include/linux/ieee80211.h | 2 ++ net/mac80211/mesh.c | 4 ++-- net/mac80211/mesh.h | 2 -- net/mac80211/mesh_hwmp.c | 4 ++-- net/mac80211/mesh_plink.c | 2 +- net/mac80211/rx.c | 6 +++--- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index 1998495..e0f528e 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h @@ -1211,6 +1211,8 @@ enum ieee80211_category { WLAN_CATEGORY_SA_QUERY = 8, WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION = 9, WLAN_CATEGORY_WMM = 17, + WLAN_CATEGORY_MESH_PLINK = 30, /* Pending ANA approval */ + WLAN_CATEGORY_MESH_PATH_SEL = 32, /* Pending ANA approval */ WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, WLAN_CATEGORY_VENDOR_SPECIFIC = 127, }; diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c index 7a6bebc..2669fbf 100644 --- a/net/mac80211/mesh.c +++ b/net/mac80211/mesh.c @@ -600,10 +600,10 @@ static void ieee80211_mesh_rx_mgmt_action(struct ieee80211_sub_if_data *sdata, struct ieee80211_rx_status *rx_status) { switch (mgmt->u.action.category) { - case MESH_PLINK_CATEGORY: + case WLAN_CATEGORY_MESH_PLINK: mesh_rx_plink_frame(sdata, mgmt, len, rx_status); break; - case MESH_PATH_SEL_CATEGORY: + case WLAN_CATEGORY_MESH_PATH_SEL: mesh_rx_path_sel_frame(sdata, mgmt, len); break; } diff --git a/net/mac80211/mesh.h b/net/mac80211/mesh.h index 85562c5..c88087f 100644 --- a/net/mac80211/mesh.h +++ b/net/mac80211/mesh.h @@ -209,8 +209,6 @@ struct mesh_rmc { #define MESH_MAX_MPATHS 1024 /* Pending ANA approval */ -#define MESH_PLINK_CATEGORY 30 -#define MESH_PATH_SEL_CATEGORY 32 #define MESH_PATH_SEL_ACTION 0 /* PERR reason codes */ diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c index ccff613..36141d6 100644 --- a/net/mac80211/mesh_hwmp.c +++ b/net/mac80211/mesh_hwmp.c @@ -131,7 +131,7 @@ static int mesh_path_sel_frame_tx(enum mpath_frame_type action, u8 flags, memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); /* BSSID == SA */ memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); - mgmt->u.action.category = MESH_PATH_SEL_CATEGORY; + mgmt->u.action.category = WLAN_CATEGORY_MESH_PATH_SEL; mgmt->u.action.u.mesh_action.action_code = MESH_PATH_SEL_ACTION; switch (action) { @@ -224,7 +224,7 @@ int mesh_path_error_tx(u8 ttl, u8 *target, __le32 target_sn, memcpy(mgmt->da, ra, ETH_ALEN); memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); /* BSSID is left zeroed, wildcard value */ - mgmt->u.action.category = MESH_PATH_SEL_CATEGORY; + mgmt->u.action.category = WLAN_CATEGORY_MESH_PATH_SEL; mgmt->u.action.u.mesh_action.action_code = MESH_PATH_SEL_ACTION; ie_len = 15; pos = skb_put(skb, 2 + ie_len); diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c index 1a29c4a..8517f88 100644 --- a/net/mac80211/mesh_plink.c +++ b/net/mac80211/mesh_plink.c @@ -171,7 +171,7 @@ static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata, memcpy(mgmt->da, da, ETH_ALEN); memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); /* BSSID is left zeroed, wildcard value */ - mgmt->u.action.category = MESH_PLINK_CATEGORY; + mgmt->u.action.category = WLAN_CATEGORY_MESH_PLINK; mgmt->u.action.u.plink_action.action_code = action; if (action == PLINK_CLOSE) diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index 1e03972..43c0310 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -484,7 +484,7 @@ ieee80211_rx_mesh_check(struct ieee80211_rx_data *rx) if (ieee80211_is_action(hdr->frame_control)) { mgmt = (struct ieee80211_mgmt *)hdr; - if (mgmt->u.action.category != MESH_PLINK_CATEGORY) + if (mgmt->u.action.category != WLAN_CATEGORY_MESH_PLINK) return RX_DROP_MONITOR; return RX_CONTINUE; } @@ -1964,8 +1964,8 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) goto handled; } break; - case MESH_PLINK_CATEGORY: - case MESH_PATH_SEL_CATEGORY: + case WLAN_CATEGORY_MESH_PLINK: + case WLAN_CATEGORY_MESH_PATH_SEL: if (ieee80211_vif_is_mesh(&sdata->vif)) return ieee80211_mesh_rx_mgmt(sdata, rx->skb); break; -- 1.6.3.3 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] mac80211: Moved mesh action codes to a more visible location 2010-03-29 18:00 ` [PATCH 2/2] mac80211: Moved mesh action codes to a more visible location Javier Cardona @ 2010-03-31 16:38 ` Johannes Berg 0 siblings, 0 replies; 5+ messages in thread From: Johannes Berg @ 2010-03-31 16:38 UTC (permalink / raw) To: Javier Cardona; +Cc: linux-wireless, Steve Derosier, devel On Mon, 2010-03-29 at 11:00 -0700, Javier Cardona wrote: > Grouped mesh action codes together with the other action codes in > ieee80211.h. > > Signed-off-by: Javier Cardona <javier@cozybit.com> Reviewed-by: Johannes Berg <johannes@sipsolutions.net> > --- > include/linux/ieee80211.h | 2 ++ > net/mac80211/mesh.c | 4 ++-- > net/mac80211/mesh.h | 2 -- > net/mac80211/mesh_hwmp.c | 4 ++-- > net/mac80211/mesh_plink.c | 2 +- > net/mac80211/rx.c | 6 +++--- > 6 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h > index 1998495..e0f528e 100644 > --- a/include/linux/ieee80211.h > +++ b/include/linux/ieee80211.h > @@ -1211,6 +1211,8 @@ enum ieee80211_category { > WLAN_CATEGORY_SA_QUERY = 8, > WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION = 9, > WLAN_CATEGORY_WMM = 17, > + WLAN_CATEGORY_MESH_PLINK = 30, /* Pending ANA approval */ > + WLAN_CATEGORY_MESH_PATH_SEL = 32, /* Pending ANA approval */ > WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, > WLAN_CATEGORY_VENDOR_SPECIFIC = 127, > }; > diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c > index 7a6bebc..2669fbf 100644 > --- a/net/mac80211/mesh.c > +++ b/net/mac80211/mesh.c > @@ -600,10 +600,10 @@ static void ieee80211_mesh_rx_mgmt_action(struct ieee80211_sub_if_data *sdata, > struct ieee80211_rx_status *rx_status) > { > switch (mgmt->u.action.category) { > - case MESH_PLINK_CATEGORY: > + case WLAN_CATEGORY_MESH_PLINK: > mesh_rx_plink_frame(sdata, mgmt, len, rx_status); > break; > - case MESH_PATH_SEL_CATEGORY: > + case WLAN_CATEGORY_MESH_PATH_SEL: > mesh_rx_path_sel_frame(sdata, mgmt, len); > break; > } > diff --git a/net/mac80211/mesh.h b/net/mac80211/mesh.h > index 85562c5..c88087f 100644 > --- a/net/mac80211/mesh.h > +++ b/net/mac80211/mesh.h > @@ -209,8 +209,6 @@ struct mesh_rmc { > #define MESH_MAX_MPATHS 1024 > > /* Pending ANA approval */ > -#define MESH_PLINK_CATEGORY 30 > -#define MESH_PATH_SEL_CATEGORY 32 > #define MESH_PATH_SEL_ACTION 0 > > /* PERR reason codes */ > diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c > index ccff613..36141d6 100644 > --- a/net/mac80211/mesh_hwmp.c > +++ b/net/mac80211/mesh_hwmp.c > @@ -131,7 +131,7 @@ static int mesh_path_sel_frame_tx(enum mpath_frame_type action, u8 flags, > memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); > /* BSSID == SA */ > memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); > - mgmt->u.action.category = MESH_PATH_SEL_CATEGORY; > + mgmt->u.action.category = WLAN_CATEGORY_MESH_PATH_SEL; > mgmt->u.action.u.mesh_action.action_code = MESH_PATH_SEL_ACTION; > > switch (action) { > @@ -224,7 +224,7 @@ int mesh_path_error_tx(u8 ttl, u8 *target, __le32 target_sn, > memcpy(mgmt->da, ra, ETH_ALEN); > memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); > /* BSSID is left zeroed, wildcard value */ > - mgmt->u.action.category = MESH_PATH_SEL_CATEGORY; > + mgmt->u.action.category = WLAN_CATEGORY_MESH_PATH_SEL; > mgmt->u.action.u.mesh_action.action_code = MESH_PATH_SEL_ACTION; > ie_len = 15; > pos = skb_put(skb, 2 + ie_len); > diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c > index 1a29c4a..8517f88 100644 > --- a/net/mac80211/mesh_plink.c > +++ b/net/mac80211/mesh_plink.c > @@ -171,7 +171,7 @@ static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata, > memcpy(mgmt->da, da, ETH_ALEN); > memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); > /* BSSID is left zeroed, wildcard value */ > - mgmt->u.action.category = MESH_PLINK_CATEGORY; > + mgmt->u.action.category = WLAN_CATEGORY_MESH_PLINK; > mgmt->u.action.u.plink_action.action_code = action; > > if (action == PLINK_CLOSE) > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c > index 1e03972..43c0310 100644 > --- a/net/mac80211/rx.c > +++ b/net/mac80211/rx.c > @@ -484,7 +484,7 @@ ieee80211_rx_mesh_check(struct ieee80211_rx_data *rx) > > if (ieee80211_is_action(hdr->frame_control)) { > mgmt = (struct ieee80211_mgmt *)hdr; > - if (mgmt->u.action.category != MESH_PLINK_CATEGORY) > + if (mgmt->u.action.category != WLAN_CATEGORY_MESH_PLINK) > return RX_DROP_MONITOR; > return RX_CONTINUE; > } > @@ -1964,8 +1964,8 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) > goto handled; > } > break; > - case MESH_PLINK_CATEGORY: > - case MESH_PATH_SEL_CATEGORY: > + case WLAN_CATEGORY_MESH_PLINK: > + case WLAN_CATEGORY_MESH_PATH_SEL: > if (ieee80211_vif_is_mesh(&sdata->vif)) > return ieee80211_mesh_rx_mgmt(sdata, rx->skb); > break; ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2 v3] mac80211: Handle mesh action frames in ieee80211_rx_h_action 2010-03-29 18:00 ` [PATCH 1/2 v3] " Javier Cardona 2010-03-29 18:00 ` [PATCH 2/2] mac80211: Moved mesh action codes to a more visible location Javier Cardona @ 2010-03-31 16:37 ` Johannes Berg 1 sibling, 0 replies; 5+ messages in thread From: Johannes Berg @ 2010-03-31 16:37 UTC (permalink / raw) To: Javier Cardona; +Cc: linux-wireless, Steve Derosier, devel On Mon, 2010-03-29 at 11:00 -0700, Javier Cardona wrote: > This fixes the problem introduced in commit > 8404080568613d93ad7cf0a16dfb68 which broke mesh peer link establishment. > > changes: > v2 Added missing break (Johannes) > v3 Broke original patch into two (Johannes) > > Signed-off-by: Javier Cardona <javier@cozybit.com> Cc: stable@kernel.org Reviewed-by: Johannes Berg <johannes@sipsolutions.net> > --- > net/mac80211/mesh.c | 3 --- > net/mac80211/rx.c | 5 +++++ > 2 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c > index 61080c5..7a6bebc 100644 > --- a/net/mac80211/mesh.c > +++ b/net/mac80211/mesh.c > @@ -749,9 +749,6 @@ ieee80211_mesh_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) > > switch (fc & IEEE80211_FCTL_STYPE) { > case IEEE80211_STYPE_ACTION: > - if (skb->len < IEEE80211_MIN_ACTION_SIZE) > - return RX_DROP_MONITOR; > - /* fall through */ > case IEEE80211_STYPE_PROBE_RESP: > case IEEE80211_STYPE_BEACON: > skb_queue_tail(&ifmsh->skb_queue, skb); > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c > index 1da57c8..1e03972 100644 > --- a/net/mac80211/rx.c > +++ b/net/mac80211/rx.c > @@ -1964,6 +1964,11 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) > goto handled; > } > break; > + case MESH_PLINK_CATEGORY: > + case MESH_PATH_SEL_CATEGORY: > + if (ieee80211_vif_is_mesh(&sdata->vif)) > + return ieee80211_mesh_rx_mgmt(sdata, rx->skb); > + break; > } > > /* ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-03-31 16:38 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <368d7bd403c196b9e3a306eb7863a621@localhost> [not found] ` <1269653791-28478-1-git-send-email-javier@cozybit.com> 2010-03-29 6:30 ` [PATCH v2] mac80211: Handle mesh action frames in ieee80211_rx_h_action Johannes Berg 2010-03-29 18:00 ` [PATCH 1/2 v3] " Javier Cardona 2010-03-29 18:00 ` [PATCH 2/2] mac80211: Moved mesh action codes to a more visible location Javier Cardona 2010-03-31 16:38 ` Johannes Berg 2010-03-31 16:37 ` [PATCH 1/2 v3] mac80211: Handle mesh action frames in ieee80211_rx_h_action Johannes Berg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).