Skip to content

Commit

Permalink
ifnet: append if_debug.c to if.c
Browse files Browse the repository at this point in the history
With this change if_index can become static.  There is nothing
that if_debug.c would want to isolate from if.c.  Potentially
if.c wants to share everything with if_debug.c.

Move Bjoern's copyright to if.c.

Reviewed by:	bz
  • Loading branch information
glebius committed Nov 23, 2021
1 parent 8a6f38c commit ce40632
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 140 deletions.
1 change: 0 additions & 1 deletion sys/conf/files
Original file line number Diff line number Diff line change
Expand Up @@ -4144,7 +4144,6 @@ net/if.c standard
net/if_bridge.c optional bridge inet | if_bridge inet
net/if_clone.c standard
net/if_dead.c standard
net/if_debug.c optional ddb
net/if_disc.c optional disc
net/if_edsc.c optional edsc
net/if_enc.c optional enc inet | enc inet6
Expand Down
94 changes: 93 additions & 1 deletion sys/net/if.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/*-
* SPDX-License-Identifier: BSD-3-Clause
*
* Copyright (c) 2010 Bjoern A. Zeeb <bz@FreeBSD.org>
* Copyright (c) 1980, 1986, 1993
* The Regents of the University of California. All rights reserved.
*
Expand Down Expand Up @@ -66,6 +67,10 @@
#include <sys/jail.h>
#include <sys/priv.h>

#ifdef DDB
#include <ddb/ddb.h>
#endif

#include <machine/stdarg.h>
#include <vm/uma.h>

Expand Down Expand Up @@ -308,7 +313,7 @@ VNET_DEFINE(struct ifgrouphead, ifg_head);
VNET_DEFINE_STATIC(int, if_indexlim) = 8;

/* Table of ifnet by index. */
VNET_DEFINE(struct ifnet **, ifindex_table);
VNET_DEFINE_STATIC(struct ifnet **, ifindex_table);

#define V_if_indexlim VNET(if_indexlim)
#define V_ifindex_table VNET(ifindex_table)
Expand Down Expand Up @@ -4591,3 +4596,90 @@ if_setgetcounterfn(if_t ifp, if_get_counter_t fn)

ifp->if_get_counter = fn;
}

#ifdef DDB
static void
if_show_ifnet(struct ifnet *ifp)
{

if (ifp == NULL)
return;
db_printf("%s:\n", ifp->if_xname);
#define IF_DB_PRINTF(f, e) db_printf(" %s = " f "\n", #e, ifp->e);
IF_DB_PRINTF("%s", if_dname);
IF_DB_PRINTF("%d", if_dunit);
IF_DB_PRINTF("%s", if_description);
IF_DB_PRINTF("%u", if_index);
IF_DB_PRINTF("%u", if_refcount);
IF_DB_PRINTF("%d", if_index_reserved);
IF_DB_PRINTF("%p", if_softc);
IF_DB_PRINTF("%p", if_l2com);
IF_DB_PRINTF("%p", if_llsoftc);
IF_DB_PRINTF("%d", if_amcount);
IF_DB_PRINTF("%p", if_addr);
IF_DB_PRINTF("%p", if_broadcastaddr);
IF_DB_PRINTF("%p", if_afdata);
IF_DB_PRINTF("%d", if_afdata_initialized);
IF_DB_PRINTF("%u", if_fib);
IF_DB_PRINTF("%p", if_vnet);
IF_DB_PRINTF("%p", if_home_vnet);
IF_DB_PRINTF("%p", if_vlantrunk);
IF_DB_PRINTF("%p", if_bpf);
IF_DB_PRINTF("%u", if_pcount);
IF_DB_PRINTF("%p", if_bridge);
IF_DB_PRINTF("%p", if_lagg);
IF_DB_PRINTF("%p", if_pf_kif);
IF_DB_PRINTF("%p", if_carp);
IF_DB_PRINTF("%p", if_label);
IF_DB_PRINTF("%p", if_netmap);
IF_DB_PRINTF("0x%08x", if_flags);
IF_DB_PRINTF("0x%08x", if_drv_flags);
IF_DB_PRINTF("0x%08x", if_capabilities);
IF_DB_PRINTF("0x%08x", if_capenable);
IF_DB_PRINTF("%p", if_snd.ifq_head);
IF_DB_PRINTF("%p", if_snd.ifq_tail);
IF_DB_PRINTF("%d", if_snd.ifq_len);
IF_DB_PRINTF("%d", if_snd.ifq_maxlen);
IF_DB_PRINTF("%p", if_snd.ifq_drv_head);
IF_DB_PRINTF("%p", if_snd.ifq_drv_tail);
IF_DB_PRINTF("%d", if_snd.ifq_drv_len);
IF_DB_PRINTF("%d", if_snd.ifq_drv_maxlen);
IF_DB_PRINTF("%d", if_snd.altq_type);
IF_DB_PRINTF("%x", if_snd.altq_flags);
#undef IF_DB_PRINTF
}

DB_SHOW_COMMAND(ifnet, db_show_ifnet)
{

if (!have_addr) {
db_printf("usage: show ifnet <struct ifnet *>\n");
return;
}

if_show_ifnet((struct ifnet *)addr);
}

DB_SHOW_ALL_COMMAND(ifnets, db_show_all_ifnets)
{
VNET_ITERATOR_DECL(vnet_iter);
struct ifnet *ifp;
u_short idx;

VNET_FOREACH(vnet_iter) {
CURVNET_SET_QUIET(vnet_iter);
#ifdef VIMAGE
db_printf("vnet=%p\n", curvnet);
#endif
for (idx = 1; idx <= V_if_index; idx++) {
ifp = V_ifindex_table[idx].ife_ifnet;
if (ifp == NULL)
continue;
db_printf( "%20s ifp=%p\n", ifp->if_xname, ifp);
if (db_pager_quit)
break;
}
CURVNET_RESTORE();
}
}
#endif /* DDB */
138 changes: 0 additions & 138 deletions sys/net/if_debug.c

This file was deleted.

0 comments on commit ce40632

Please sign in to comment.