svn commit: r195452 - projects/mesh11s/sys/net80211

Rui Paulo rpaulo at FreeBSD.org
Wed Jul 8 13:40:23 UTC 2009


Author: rpaulo
Date: Wed Jul  8 13:40:22 2009
New Revision: 195452
URL: http://svn.freebsd.org/changeset/base/195452

Log:
  Add 'show mesh' ddb command and print mesh node info.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/mesh11s/sys/net80211/ieee80211_ddb.c

Modified: projects/mesh11s/sys/net80211/ieee80211_ddb.c
==============================================================================
--- projects/mesh11s/sys/net80211/ieee80211_ddb.c	Wed Jul  8 13:39:11 2009	(r195451)
+++ projects/mesh11s/sys/net80211/ieee80211_ddb.c	Wed Jul  8 13:40:22 2009	(r195452)
@@ -76,6 +76,7 @@ static void _db_show_roamparams(const ch
 static void _db_show_txparams(const char *tag, const void *arg,
 	const struct ieee80211_txparam *tp);
 static void _db_show_stats(const struct ieee80211_stats *);
+static void _db_show_mesh(const struct ieee80211_mesh_state *);
 
 DB_SHOW_COMMAND(sta, db_show_sta)
 {
@@ -178,6 +179,18 @@ DB_SHOW_ALL_COMMAND(vaps, db_show_all_va
 	}
 }
 
+DB_SHOW_ALL_COMMAND(mesh, db_show_mesh)
+{
+	const struct ieee80211_mesh_state *ms;
+
+	if (!have_addr) {
+		db_printf("usage: show mesh <addr>\n");
+		return;
+	}
+	ms = (const struct ieee80211_mesh_state *) addr;
+	_db_show_mesh(ms);
+}
+
 static void
 _db_show_txampdu(const char *sep, int ix, const struct ieee80211_tx_ampdu *tap)
 {
@@ -283,6 +296,11 @@ _db_show_sta(const struct ieee80211_node
 
 	db_printf("\tinact %u inact_reload %u txrate %u\n",
 		ni->ni_inact, ni->ni_inact_reload, ni->ni_txrate);
+
+	_db_show_ssid(" meshid ", 0, ni->ni_meshidlen, ni->ni_meshid);
+	db_printf("\tmlstate %d mllid 0x%x mlpid 0x%x mlrcnt %u mltval %u\n",
+	    ni->ni_mlstate, ni->ni_mllid, ni->ni_mlpid, ni->ni_mlrcnt,
+	    ni->ni_mltval);
 	/* XXX wdsq */
 }
 
@@ -813,4 +831,24 @@ static void
 _db_show_stats(const struct ieee80211_stats *is)
 {
 }
+
+static void
+_db_show_mesh(const struct ieee80211_mesh_state *ms)
+{
+	struct ieee80211_mesh_route *rt;
+	int i;
+
+	_db_show_ssid(" meshid ", 0, ms->ms_idlen, ms->ms_id);
+	db_printf("nextseq %u ttl %u flags 0x%x\n", ms->ms_seq,
+	    ms->ms_ttl, ms->ms_flags);
+	db_printf("routing table:\n");
+	i = 0;
+	TAILQ_FOREACH(rt, &ms->ms_routes, rt_next) {
+		db_printf("entry %d:\tdest: %6D nexthop: %6D metric: %u", i,
+		    rt->rt_dest, ":", rt->rt_nexthop, ":", rt->rt_metric);
+		db_printf("\tlifetime: %u lastseq: %u priv: %p\n",
+		    rt->rt_lifetime, rt->rt_lastmseq, rt->rt_priv);
+		i++;
+	}
+}
 #endif /* DDB */


More information about the svn-src-projects mailing list