From patchwork Wed Dec 1 20:32:08 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Berg X-Patchwork-Id: 372441 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id oB1KWDbS004118 for ; Wed, 1 Dec 2010 20:32:14 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756965Ab0LAUcK (ORCPT ); Wed, 1 Dec 2010 15:32:10 -0500 Received: from he.sipsolutions.net ([78.46.109.217]:53389 "EHLO sipsolutions.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756841Ab0LAUcJ (ORCPT ); Wed, 1 Dec 2010 15:32:09 -0500 Received: by sipsolutions.net with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from ) id 1PNtLT-0000Kr-9K; Wed, 01 Dec 2010 21:32:07 +0100 Subject: [PATCH/RFC v2] mac80211: use configured mesh TTL From: Johannes Berg To: Javier Cardona Cc: "John W. Linville" , Steve Derosier , devel@lists.open80211s.org, linux-wireless@vger.kernel.org In-Reply-To: <1291235337.4199.14.camel@jlt3.sipsolutions.net> References: <1291168735-3423-1-git-send-email-javier@cozybit.com> <1291184383.4199.4.camel@jlt3.sipsolutions.net> <1291229642.4199.11.camel@jlt3.sipsolutions.net> <1291232151.4199.12.camel@jlt3.sipsolutions.net> <1291235337.4199.14.camel@jlt3.sipsolutions.net> Date: Wed, 01 Dec 2010 21:32:08 +0100 Message-ID: <1291235528.4199.15.camel@jlt3.sipsolutions.net> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Wed, 01 Dec 2010 20:32:14 +0000 (UTC) --- wireless-testing.orig/net/mac80211/mesh_pathtbl.c 2010-12-01 21:26:47.000000000 +0100 +++ wireless-testing/net/mac80211/mesh_pathtbl.c 2010-12-01 21:27:42.000000000 +0100 @@ -467,8 +467,8 @@ void mesh_plink_broken(struct sta_info * mpath->flags &= ~MESH_PATH_ACTIVE; ++mpath->sn; spin_unlock_bh(&mpath->state_lock); - mesh_path_error_tx(MESH_TTL, mpath->dst, - cpu_to_le32(mpath->sn), + mesh_path_error_tx(sdata->u.mesh.mshcfg.dot11MeshTTL, + mpath->dst, cpu_to_le32(mpath->sn), cpu_to_le16(PERR_RCODE_DEST_UNREACH), bcast, sdata); } else @@ -614,7 +614,8 @@ void mesh_path_discard_frame(struct sk_b mpath = mesh_path_lookup(da, sdata); if (mpath) sn = ++mpath->sn; - mesh_path_error_tx(MESH_TTL, skb->data, cpu_to_le32(sn), + mesh_path_error_tx(sdata->u.mesh.mshcfg.dot11MeshTTL, skb->data, + cpu_to_le32(sn), cpu_to_le16(PERR_RCODE_NO_ROUTE), ra, sdata); } --- wireless-testing.orig/net/mac80211/mesh_hwmp.c 2010-12-01 21:31:01.000000000 +0100 +++ wireless-testing/net/mac80211/mesh_hwmp.c 2010-12-01 21:31:30.000000000 +0100 @@ -232,7 +232,7 @@ int mesh_path_error_tx(u8 ttl, u8 *targe *pos++ = WLAN_EID_PERR; *pos++ = ie_len; /* ttl */ - *pos++ = MESH_TTL; + *pos++ = ttl; /* number of destinations */ *pos++ = 1; /* @@ -1013,5 +1013,6 @@ mesh_path_tx_root_frame(struct ieee80211 mesh_path_sel_frame_tx(MPATH_RANN, 0, sdata->vif.addr, cpu_to_le32(++ifmsh->sn), 0, NULL, 0, broadcast_addr, - 0, MESH_TTL, 0, 0, 0, sdata); + 0, sdata->u.mesh.mshcfg.dot11MeshTTL, + 0, 0, 0, sdata); }