svn commit: r195082 - projects/mesh11s/sys/net80211
Rui Paulo
rpaulo at FreeBSD.org
Fri Jun 26 22:26:08 UTC 2009
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));
More information about the svn-src-projects
mailing list