diff --git a/sys/net/debugnet.h b/sys/net/debugnet.h --- a/sys/net/debugnet.h +++ b/sys/net/debugnet.h @@ -262,8 +262,9 @@ #define DEBUGNET_NOTIFY_MTU(ifp) debugnet_any_ifnet_update(ifp) +void if_setdebugnet_methods(struct ifnet *, struct debugnet_methods *); #define DEBUGNET_SET(ifp, driver) \ - (ifp)->if_debugnet_methods = &driver##_debugnet_methods + if_setdebugnet_methods((ifp), &driver##_debugnet_methods) #else /* !DEBUGNET || !INET */ diff --git a/sys/net/if.c b/sys/net/if.c --- a/sys/net/if.c +++ b/sys/net/if.c @@ -4815,6 +4815,12 @@ ifp->if_get_counter = fn; } +void +if_setdebugnet_methods(if_t ifp, struct debugnet_methods *m) +{ + ifp->if_debugnet_methods = m; +} + #ifdef DDB static void if_show_ifnet(struct ifnet *ifp)