Changeset View
Changeset View
Standalone View
Standalone View
head/sys/net/route/route_ddb.c
Show First 20 Lines • Show All 125 Lines • ▼ Show 20 Lines | rt_dumpaddr_ddb(const char *name, const struct sockaddr *sa) | ||||
db_printf("%s <af:%d> ", name, sa->sa_family); | db_printf("%s <af:%d> ", name, sa->sa_family); | ||||
} | } | ||||
static int | static int | ||||
rt_dumpentry_ddb(struct radix_node *rn, void *arg __unused) | rt_dumpentry_ddb(struct radix_node *rn, void *arg __unused) | ||||
{ | { | ||||
struct sockaddr_storage ss; | struct sockaddr_storage ss; | ||||
struct rtentry *rt; | struct rtentry *rt; | ||||
struct nhop_object *nh; | |||||
int flags, idx; | int flags, idx; | ||||
/* If RNTORT is important, put it in a header. */ | /* If RNTORT is important, put it in a header. */ | ||||
rt = (void *)rn; | rt = (void *)rn; | ||||
nh = (struct nhop_object *)rt->rt_nhop; | |||||
rt_dumpaddr_ddb("dst", rt_key(rt)); | rt_dumpaddr_ddb("dst", rt_key(rt)); | ||||
rt_dumpaddr_ddb("gateway", &rt->rt_nhop->gw_sa); | rt_dumpaddr_ddb("gateway", &rt->rt_nhop->gw_sa); | ||||
rt_dumpaddr_ddb("netmask", rtsock_fix_netmask(rt_key(rt), rt_mask(rt), | rt_dumpaddr_ddb("netmask", rtsock_fix_netmask(rt_key(rt), rt_mask(rt), | ||||
&ss)); | &ss)); | ||||
if (rt->rt_ifp != NULL && (rt->rt_ifp->if_flags & IFF_DYING) == 0) { | if ((nh->nh_ifp->if_flags & IFF_DYING) == 0) { | ||||
rt_dumpaddr_ddb("ifp", rt->rt_ifp->if_addr->ifa_addr); | rt_dumpaddr_ddb("ifp", nh->nh_ifp->if_addr->ifa_addr); | ||||
rt_dumpaddr_ddb("ifa", rt->rt_ifa->ifa_addr); | rt_dumpaddr_ddb("ifa", nh->nh_ifa->ifa_addr); | ||||
} | } | ||||
db_printf("flags "); | db_printf("flags "); | ||||
flags = rt->rt_flags; | flags = rt->rt_flags; | ||||
if (flags == 0) | if (flags == 0) | ||||
db_printf("none"); | db_printf("none"); | ||||
while ((idx = ffs(flags)) > 0) { | while ((idx = ffs(flags)) > 0) { | ||||
▲ Show 20 Lines • Show All 305 Lines • Show Last 20 Lines |