PERFORCE change 45575 for review
Scott Long
scottl at FreeBSD.org
Sun Jan 18 18:41:31 PST 2004
http://perforce.freebsd.org/chv.cgi?CH=45575
Change 45575 by scottl at scottl_netperf_socket on 2004/01/18 18:40:56
Fix two integration botches, stay tuned for more.
Affected files ...
.. //depot/projects/netperf_socket/sys/kern/uipc_domain.c#3 integrate
.. //depot/projects/netperf_socket/sys/net/route.c#2 integrate
Differences ...
==== //depot/projects/netperf_socket/sys/kern/uipc_domain.c#3 (text+ko) ====
@@ -134,8 +134,8 @@
if (max_linkhdr < 16) /* XXX */
max_linkhdr = 16;
- callout_init(&pffast_callout, 0);
- callout_init(&pfslow_callout, 0);
+ callout_init(&pffast_callout, CALLOUT_MPSAFE);
+ callout_init(&pfslow_callout, CALLOUT_MPSAFE);
callout_reset(&pffast_callout, 1, pffasttimo, NULL);
callout_reset(&pfslow_callout, 1, pfslowtimo, NULL);
==== //depot/projects/netperf_socket/sys/net/route.c#2 (text+ko) ====
@@ -1320,5 +1320,46 @@
#undef senderr
}
+static void
+rt_print_sockaddr(const char *leader, const char *tag, const struct sockaddr *sa)
+{
+ printf("%s%s: len %u af %u addr %7D\n", leader, tag,
+ sa->sa_len, sa->sa_family,
+ (const unsigned char *) sa->sa_data, ":");
+}
+
+static void
+rt_print1(const char *leader, const char *tag, const struct rtentry *rt)
+{
+ printf("%s%s @%p: refcnt %ld flags 0x%lx\n", leader, tag,
+ rt, rt->rt_refcnt, rt->rt_flags);
+ printf("%sllinfo %p nodes %p %p\n", leader,
+ rt->rt_llinfo, &rt->rt_nodes[0], &rt->rt_nodes[1]);
+ if (rt->rt_gateway)
+ rt_print_sockaddr(leader, "gw", rt->rt_gateway);
+ if (rt_key(rt))
+ rt_print_sockaddr(leader, "key", rt_key(rt));
+ if (rt_mask(rt))
+ rt_print_sockaddr(leader, "mask", rt_mask(rt));
+ if (rt->rt_ifp)
+ printf("%sifp: %p (%s)\n", leader,
+ rt->rt_ifp, rt->rt_ifp->if_xname);
+ if (rt->rt_ifa)
+ printf("%sifa: %p\n", leader, rt->rt_ifa); /* XXX expand */
+ if (rt->rt_genmask)
+ rt_print_sockaddr(leader, "genmask", rt->rt_genmask);
+ if (rt->rt_gwroute)
+ rt_print1(" ", "gwroute", rt->rt_gwroute);
+ if (rt->rt_parent)
+ rt_print1(" ", "parent", rt->rt_parent);
+ /* XXX rt_rmx */
+}
+
+void
+rt_print(const struct rtentry *rt)
+{
+ rt_print1("", "route", rt);
+}
+
/* This must be before ip6_init2(), which is now SI_ORDER_MIDDLE */
SYSINIT(route, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, route_init, 0);
More information about the p4-projects
mailing list