From owner-svn-src-projects@FreeBSD.ORG Thu Jul 9 13:42:20 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 06FE31065678; Thu, 9 Jul 2009 13:42:20 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EA0CB8FC15; Thu, 9 Jul 2009 13:42:19 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n69DgIL2086608; Thu, 9 Jul 2009 13:42:18 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n69DgIBu086606; Thu, 9 Jul 2009 13:42:18 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907091342.n69DgIBu086606@svn.freebsd.org> From: Rui Paulo Date: Thu, 9 Jul 2009 13:42:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195491 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jul 2009 13:42:20 -0000 Author: rpaulo Date: Thu Jul 9 13:42:18 2009 New Revision: 195491 URL: http://svn.freebsd.org/changeset/base/195491 Log: Set table seqno only if we didn't send one already. 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 Thu Jul 9 12:48:43 2009 (r195490) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Thu Jul 9 13:42:18 2009 (r195491) @@ -720,7 +720,7 @@ hwmp_recv_preq(struct ieee80211vap *vap, prep.prep_lifetime = preq->preq_lifetime; prep.prep_metric = IEEE80211_MESHLMETRIC_INITIALVAL; IEEE80211_ADDR_COPY(prep.prep_origaddr, vap->iv_myaddr); - prep.prep_origseq = hs->hs_seq++; + prep.prep_origseq = ++hs->hs_seq; hwmp_send_prep(ni, vap->iv_myaddr, wh->i_addr2, &prep); /* * Build the reverse path, if we don't have it already. @@ -983,8 +983,9 @@ hwmp_recv_prep(struct ieee80211vap *vap, } } else { IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, - "discard PREP from %s, wrong seqno %u", - ether_sprintf(prep->prep_origaddr), prep->prep_targetseq); + "discard PREP from %s, wrong seqno %u != %u", + ether_sprintf(prep->prep_origaddr), prep->prep_targetseq, + hr->hr_seq); vap->iv_stats.is_hwmp_wrongseq++; } @@ -1239,8 +1240,10 @@ hwmp_discover(struct ieee80211vap *vap, hr = IEEE80211_MESH_ROUTE_PRIV(rt, struct ieee80211_hwmp_route); if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) { - hr->hr_seq = ++hs->hs_seq; - hr->hr_preqid = ++hs->hs_preqid; + if (hr->hr_preqid == 0) { + hr->hr_seq = ++hs->hs_seq; + hr->hr_preqid = ++hs->hs_preqid; + } rt->rt_metric = IEEE80211_MESHLMETRIC_INITIALVAL; rt->rt_lifetime = timeval2msecs(ieee80211_hwmp_pathtimeout);