Author: monthadar
Date: Thu Feb  7 21:29:48 2013
New Revision: 246516
URL: http://svnweb.freebsd.org/changeset/base/246516

Log:
  Update ddb to print mesh routing table.
  
  * Modified _db_show_vap and _db_show_com to print mesh routing table
    if the 'm' modifier is specified;
  
  Approved by:  adrian (mentor)

Modified:
  head/sys/net80211/ieee80211_ddb.c

Modified: head/sys/net80211/ieee80211_ddb.c
==============================================================================
--- head/sys/net80211/ieee80211_ddb.c   Thu Feb  7 21:29:14 2013        
(r246515)
+++ head/sys/net80211/ieee80211_ddb.c   Thu Feb  7 21:29:48 2013        
(r246516)
@@ -63,9 +63,9 @@ __FBSDID("$FreeBSD$");
 } while (0)
 
 static void _db_show_sta(const struct ieee80211_node *);
-static void _db_show_vap(const struct ieee80211vap *, int);
+static void _db_show_vap(const struct ieee80211vap *, int, int);
 static void _db_show_com(const struct ieee80211com *,
-       int showvaps, int showsta, int showprocs);
+       int showvaps, int showsta, int showmesh, int showprocs);
 
 static void _db_show_node_table(const char *tag,
        const struct ieee80211_node_table *);
@@ -103,7 +103,7 @@ DB_SHOW_COMMAND(statab, db_show_statab)
 
 DB_SHOW_COMMAND(vap, db_show_vap)
 {
-       int i, showprocs = 0;
+       int i, showmesh = 0, showprocs = 0;
 
        if (!have_addr) {
                db_printf("usage: show vap <addr>\n");
@@ -113,18 +113,22 @@ DB_SHOW_COMMAND(vap, db_show_vap)
                switch (modif[i]) {
                case 'a':
                        showprocs = 1;
+                       showmesh = 1;
+                       break;
+               case 'm':
+                       showmesh = 1;
                        break;
                case 'p':
                        showprocs = 1;
                        break;
                }
-       _db_show_vap((const struct ieee80211vap *) addr, showprocs);
+       _db_show_vap((const struct ieee80211vap *) addr, showmesh, showprocs);
 }
 
 DB_SHOW_COMMAND(com, db_show_com)
 {
        const struct ieee80211com *ic;
-       int i, showprocs = 0, showvaps = 0, showsta = 0;
+       int i, showprocs = 0, showvaps = 0, showsta = 0, showmesh = 0;
 
        if (!have_addr) {
                db_printf("usage: show com <addr>\n");
@@ -133,11 +137,14 @@ DB_SHOW_COMMAND(com, db_show_com)
        for (i = 0; modif[i] != '\0'; i++)
                switch (modif[i]) {
                case 'a':
-                       showsta = showvaps = showprocs = 1;
+                       showsta = showmesh = showvaps = showprocs = 1;
                        break;
                case 's':
                        showsta = 1;
                        break;
+               case 'm':
+                       showmesh = 1;
+                       break;
                case 'v':
                        showvaps = 1;
                        break;
@@ -147,7 +154,7 @@ DB_SHOW_COMMAND(com, db_show_com)
                }
 
        ic = (const struct ieee80211com *) addr;
-       _db_show_com(ic, showvaps, showsta, showprocs);
+       _db_show_com(ic, showvaps, showsta, showmesh, showprocs);
 }
 
 DB_SHOW_ALL_COMMAND(vaps, db_show_all_vaps)
@@ -178,7 +185,7 @@ DB_SHOW_ALL_COMMAND(vaps, db_show_all_va
                                                    vap->iv_ifp->if_xname, vap);
                                        db_printf("\n");
                                } else
-                                       _db_show_com(ic, 1, 1, 1);
+                                       _db_show_com(ic, 1, 1, 1, 1);
                        }
        }
 }
@@ -330,7 +337,7 @@ _db_show_tdma(const char *sep, const str
 #endif /* IEEE80211_SUPPORT_TDMA */
 
 static void
-_db_show_vap(const struct ieee80211vap *vap, int showprocs)
+_db_show_vap(const struct ieee80211vap *vap, int showmesh, int showprocs)
 {
        const struct ieee80211com *ic = vap->iv_ic;
        int i;
@@ -341,6 +348,10 @@ _db_show_vap(const struct ieee80211vap *
        db_printf("\n");
 
        db_printf("\topmode %s", ieee80211_opmode_name[vap->iv_opmode]);
+#ifdef IEEE80211_SUPPORT_MESH
+       if (vap->iv_opmode == IEEE80211_M_MBSS)
+               db_printf("(%p)", vap->iv_mesh);
+#endif
        db_printf(" state %s", ieee80211_state_name[vap->iv_state]);
        db_printf(" ifp %p(%s)", vap->iv_ifp, vap->iv_ifp->if_xname);
        db_printf("\n");
@@ -472,6 +483,10 @@ _db_show_vap(const struct ieee80211vap *
        db_printf(" acl %p", vap->iv_acl);
        db_printf(" as %p", vap->iv_as);
        db_printf("\n");
+#ifdef IEEE80211_SUPPORT_MESH
+       if (showmesh && vap->iv_mesh != NULL)
+               _db_show_mesh(vap->iv_mesh);
+#endif
 #ifdef IEEE80211_SUPPORT_TDMA
        if (vap->iv_tdma != NULL)
                _db_show_tdma("\t", vap->iv_tdma, showprocs);
@@ -495,7 +510,8 @@ _db_show_vap(const struct ieee80211vap *
 }
 
 static void
-_db_show_com(const struct ieee80211com *ic, int showvaps, int showsta, int 
showprocs)
+_db_show_com(const struct ieee80211com *ic, int showvaps, int showsta,
+    int showmesh, int showprocs)
 {
        struct ieee80211vap *vap;
 
@@ -651,7 +667,7 @@ _db_show_com(const struct ieee80211com *
        if (showvaps && !TAILQ_EMPTY(&ic->ic_vaps)) {
                db_printf("\n");
                TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next)
-                       _db_show_vap(vap, showprocs);
+                       _db_show_vap(vap, showmesh, showprocs);
        }
        if (showsta && !TAILQ_EMPTY(&ic->ic_sta.nt_node)) {
                const struct ieee80211_node_table *nt = &ic->ic_sta;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to