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