Date: Fri, 26 Jun 2009 22:26:07 +0000 (UTC) From: Rui Paulo <rpaulo@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r195082 - projects/mesh11s/sys/net80211 Message-ID: <200906262226.n5QMQ7fN010135@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rpaulo Date: Fri Jun 26 22:26:07 2009 New Revision: 195082 URL: http://svn.freebsd.org/changeset/base/195082 Log: Enable commented out verify length. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Fri Jun 26 22:13:15 2009 (r195081) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Fri Jun 26 22:26:07 2009 (r195082) @@ -564,18 +564,8 @@ hwmp_recv_preq(struct ieee80211vap *vap, } fi = hwmp_rt_find(vap, PREQ_TADDR(0)); -#if 0 - /* - * Record the PREQ ID and the originator MAC address. - */ - if (fi == NULL) { - fi = hwmp_rt_add(vap, PREQ_TADDR(0)); - fi->fi_seq = preq->preq_origseq; - fi->fi_metric = preq->preq_metric; - fi->fi_lifetime = preq->preq_lifetime; - } - fi->fi_preqid = preq->preq_id; -#endif + if (fi) + fi->fi_preqid = preq->preq_id; /* * Check if the PREQ is addressed to us. @@ -599,16 +589,15 @@ hwmp_recv_preq(struct ieee80211vap *vap, IEEE80211_ADDR_COPY(prep.prep_origaddr, vap->iv_myaddr); prep.prep_origseq = hs->hs_seq++; hwmp_send_prep(ni, vap->iv_myaddr, wh->i_addr2, &prep); -#if 0 /* * Build the reverse path, if we don't have it already. */ - if (fi == NULL || - IEEE80211_ADDR_EQ(fi->fi_nexthop, invalidaddr)) { - ieee80211_hwmp_discover(vap, fi->fi_dest); - } -#endif - + fi = hwmp_rt_find(vap, preq->preq_origaddr); + if (fi == NULL) { + fi = hwmp_rt_add(vap, preq->preq_origaddr); + ieee80211_hwmp_discover(vap, fi->fi_dest, NULL); + } else if (IEEE80211_ADDR_EQ(fi->fi_nexthop, invalidaddr)) + ieee80211_hwmp_discover(vap, fi->fi_dest, NULL); return; } @@ -626,7 +615,6 @@ hwmp_recv_preq(struct ieee80211vap *vap, */ if (fi != NULL && !IEEE80211_ADDR_EQ(fi->fi_nexthop, invalidaddr)) { - IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, "forwarding PREQ from %s", ether_sprintf(preq->preq_origaddr)); @@ -670,6 +658,12 @@ hwmp_recv_preq(struct ieee80211vap *vap, broadcastaddr, &prep); } } else { + fi = hwmp_rt_add(vap, PREQ_TADDR(0)); + fi->fi_seq = preq->preq_origseq; + fi->fi_metric = preq->preq_metric; + fi->fi_lifetime = preq->preq_lifetime; + fi->fi_preqid = preq->preq_id; + IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, "forwarding PREQ from %s", ether_sprintf(preq->preq_origaddr));
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906262226.n5QMQ7fN010135>