Author: monthadar
Date: Tue May  1 16:06:20 2012
New Revision: 234884
URL: http://svn.freebsd.org/changeset/base/234884

Log:
  * Fixed PREQ flag field Adressing mode subfiled according to amendment specs;
  
  Approved by: adria

Modified:
  head/sys/net80211/ieee80211_hwmp.c
  head/sys/net80211/ieee80211_mesh.h

Modified: head/sys/net80211/ieee80211_hwmp.c
==============================================================================
--- head/sys/net80211/ieee80211_hwmp.c  Tue May  1 16:05:09 2012        
(r234883)
+++ head/sys/net80211/ieee80211_hwmp.c  Tue May  1 16:06:20 2012        
(r234884)
@@ -824,7 +824,7 @@ hwmp_rootmode_cb(void *arg)
        IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, vap->iv_bss,
            "%s", "send broadcast PREQ");
 
-       preq.preq_flags = IEEE80211_MESHPREQ_FLAGS_AM;
+       preq.preq_flags = 0;
        if (ms->ms_flags & IEEE80211_MESHFLAGS_PORTAL)
                preq.preq_flags |= IEEE80211_MESHPREQ_FLAGS_PR;
        if (hs->hs_rootmode == IEEE80211_HWMP_ROOTMODE_PROACTIVE)
@@ -1092,8 +1092,8 @@ hwmp_recv_preq(struct ieee80211vap *vap,
                                 * Propagate the original PREQ.
                                 * PREQ is unicast now to rttarg->rt_nexthop
                                 */
-                               ppreq.preq_flags &=
-                                   ~IEEE80211_MESHPREQ_FLAGS_AM;
+                               ppreq.preq_flags |=
+                                   IEEE80211_MESHPREQ_FLAGS_AM;
                                ppreq.preq_hopcount += 1;
                                ppreq.preq_ttl -= 1;
                                ppreq.preq_metric +=
@@ -1701,7 +1701,7 @@ hwmp_discover(struct ieee80211vap *vap,
                         * Try to discover the path for this node.
                         * Group addressed PREQ Case A
                         */
-                       preq.preq_flags = IEEE80211_MESHPREQ_FLAGS_AM;
+                       preq.preq_flags = 0;
                        preq.preq_hopcount = 0;
                        preq.preq_ttl = ms->ms_ttl;
                        preq.preq_id = ++hs->hs_preqid;

Modified: head/sys/net80211/ieee80211_mesh.h
==============================================================================
--- head/sys/net80211/ieee80211_mesh.h  Tue May  1 16:05:09 2012        
(r234883)
+++ head/sys/net80211/ieee80211_mesh.h  Tue May  1 16:06:20 2012        
(r234884)
@@ -230,7 +230,7 @@ struct ieee80211_meshpreq_ie {
        uint8_t         preq_len;
        uint8_t         preq_flags;
 #define        IEEE80211_MESHPREQ_FLAGS_PR     0x01    /* Portal Role */
-#define        IEEE80211_MESHPREQ_FLAGS_AM     0x02    /* 0 = ucast / 1 = 
bcast */
+#define        IEEE80211_MESHPREQ_FLAGS_AM     0x02    /* 0 = bcast / 1 = 
ucast */
 #define        IEEE80211_MESHPREQ_FLAGS_PP     0x04    /* Proactive PREP */
 #define        IEEE80211_MESHPREQ_FLAGS_AE     0x40    /* Address Extension */
        uint8_t         preq_hopcount;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to