Changeset 12051


Ignore:
Timestamp:
2008-07-31T23:11:27+02:00 (10 years ago)
Author:
nbd
Message:

fix multicast/authframe handling for wds ap with split sta interfaces

Location:
trunk/package/madwifi/patches
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/madwifi/patches/371-wds_sta_separation.patch

    r12003 r12051  
    4040                IEEE80211_NODE_STAT_ADD(ni, rx_bytes, skb->len); 
    4141                ic->ic_lastdata = jiffies; 
    42 @@ -1132,6 +1140,11 @@ 
     42@@ -1132,6 +1140,13 @@ 
    4343                dev = vap->iv_xrvap->iv_dev; 
    4444 #endif 
     
    4646+       /* if the node has a wds subif, move data frames there, 
    4747+        * but keep EAP traffic on the master */ 
    48 +       if (ni->ni_subif && ((eh)->ether_type != __constant_htons(ETHERTYPE_PAE))) 
    49 +               dev = ni->ni_subif->iv_dev; 
     48+       if (ni->ni_subif && ((eh)->ether_type != __constant_htons(ETHERTYPE_PAE))) { 
     49+               vap = ni->ni_subif; 
     50+               dev = vap->iv_dev; 
     51+       } 
    5052+ 
    5153        /* perform as a bridge within the vap */ 
    5254        /* XXX intra-vap bridging only */ 
    5355        if (vap->iv_opmode == IEEE80211_M_HOSTAP && 
    54 @@ -1157,6 +1170,7 @@ 
     56@@ -1157,6 +1172,7 @@ 
    5557                        if (ni1 != NULL) { 
    5658                                if (ni1->ni_vap == vap && 
     
    420422  * Guess how the interrupt handler should work. 
    421423  */ 
     424--- a/net80211/ieee80211_output.c 
     425+++ b/net80211/ieee80211_output.c 
     426@@ -786,6 +786,8 @@ 
     427                hdrsize = sizeof(struct ieee80211_frame); 
     428  
     429        SKB_CB(skb)->auth_pkt = (eh.ether_type == __constant_htons(ETHERTYPE_PAE)); 
     430+       if (!SKB_CB(skb)->auth_pkt && ni->ni_subif) 
     431+               vap = ni->ni_subif; 
     432  
     433        switch (vap->iv_opmode) { 
     434        case IEEE80211_M_IBSS: 
  • trunk/package/madwifi/patches/372-queue_vif.patch

    r12003 r12051  
    11--- a/net80211/ieee80211_input.c 
    22+++ b/net80211/ieee80211_input.c 
    3 @@ -1181,6 +1181,7 @@ 
     3@@ -1183,6 +1183,7 @@ 
    44                } 
    55                if (skb1 != NULL) { 
     
    99                        skb_reset_mac_header(skb1); 
    1010                        skb_set_network_header(skb1, sizeof(struct ether_header)); 
    11 @@ -1188,7 +1189,12 @@ 
     11@@ -1190,7 +1191,12 @@ 
    1212                        skb1->protocol = __constant_htons(ETH_P_802_2); 
    1313                        /* XXX insert vlan tag before queue it? */ 
Note: See TracChangeset for help on using the changeset viewer.