mac80211: Mesh data frames must have the QoS header
Per sec 7.1.3.5 of draft 12.0 of 802.11s, mesh frames indicate the presence of the mesh control header in their QoS header. Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
4777be4163
commit
2154c81c32
8 changed files with 17 additions and 14 deletions
|
@ -1910,7 +1910,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx)
|
|||
fwded_mcast);
|
||||
skb_set_queue_mapping(fwd_skb,
|
||||
ieee80211_select_queue(sdata, fwd_skb));
|
||||
ieee80211_set_qos_hdr(local, fwd_skb);
|
||||
ieee80211_set_qos_hdr(sdata, fwd_skb);
|
||||
} else {
|
||||
int err;
|
||||
/*
|
||||
|
@ -2572,12 +2572,12 @@ static void ieee80211_rx_handlers(struct ieee80211_rx_data *rx)
|
|||
CALL_RXH(ieee80211_rx_h_ps_poll)
|
||||
CALL_RXH(ieee80211_rx_h_michael_mic_verify)
|
||||
/* must be after MMIC verify so header is counted in MPDU mic */
|
||||
CALL_RXH(ieee80211_rx_h_remove_qos_control)
|
||||
CALL_RXH(ieee80211_rx_h_amsdu)
|
||||
#ifdef CONFIG_MAC80211_MESH
|
||||
if (ieee80211_vif_is_mesh(&rx->sdata->vif))
|
||||
CALL_RXH(ieee80211_rx_h_mesh_fwding);
|
||||
#endif
|
||||
CALL_RXH(ieee80211_rx_h_remove_qos_control)
|
||||
CALL_RXH(ieee80211_rx_h_amsdu)
|
||||
CALL_RXH(ieee80211_rx_h_data)
|
||||
CALL_RXH(ieee80211_rx_h_ctrl);
|
||||
CALL_RXH(ieee80211_rx_h_mgmt_check)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue