Page MenuHomeFreeBSD

D24663.id71273.diff
No OneTemporary

D24663.id71273.diff

Index: sys/net/route/route_ddb.c
===================================================================
--- sys/net/route/route_ddb.c
+++ sys/net/route/route_ddb.c
@@ -207,6 +207,8 @@
_DB_FUNC(_show, route, db_show_route_cmd, db_show_table, CS_OWN, NULL)
{
char abuf[INET6_ADDRSTRLEN], *buf, *end;
+ struct rib_head *rh;
+ struct radix_node *rn;
void *dst_addrp;
struct rtentry *rt;
union {
@@ -241,8 +243,15 @@
if (inet_ntop(af, dst_addrp, abuf, sizeof(abuf)) != NULL)
db_printf("Looking up route to destination '%s'\n", abuf);
+ rt = NULL;
CURVNET_SET(vnet0);
- rt = rtalloc1((struct sockaddr *)&u, 0, RTF_RNH_LOCKED);
+
+ rh = rt_tables_get_rnh(RT_DEFAULT_FIB, af);
+
+ rn = rh->rnh_matchaddr(&u, &rh->head);
+ if (rn && ((rn->rn_flags & RNF_ROOT) == 0))
+ rt = (struct rtentry *)rn;
+
CURVNET_RESTORE();
if (rt == NULL) {
@@ -251,7 +260,6 @@
}
rt_dumpentry_ddb((void *)rt, NULL);
- RTFREE_LOCKED(rt);
return;
usage:

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 20, 8:52 AM (15 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27761277
Default Alt Text
D24663.id71273.diff (954 B)

Event Timeline