PERFORCE change 178574 for review

Ivor Prebeg iprebeg at FreeBSD.org
Fri May 21 00:00:31 UTC 2010


http://p4web.freebsd.org/@@178574?ac=10

Change 178574 by iprebeg at iprebeg_zeus on 2010/05/21 00:00:24

	Dirty hack, needs beautifing, leaving that for afterhours... fixes crash on X_ip_mrouter_done()

Affected files ...

.. //depot/projects/vimage/src/sys/netinet/ip_mroute.c#39 edit
.. //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#33 edit

Differences ...

==== //depot/projects/vimage/src/sys/netinet/ip_mroute.c#39 (text+ko) ====

@@ -608,6 +608,7 @@
 ip_mrouter_reset(void)
 {
 
+    /*
     V_pim_assert_enabled = 0;
     V_mrt_api_config = 0;
 
@@ -617,6 +618,7 @@
     bzero(V_bw_meter_timers, sizeof(V_bw_meter_timers));
     callout_init(&V_bw_upcalls_ch, CALLOUT_MPSAFE);
     callout_init(&V_bw_meter_ch, CALLOUT_MPSAFE);
+    */
 }
 
 static void
@@ -2829,6 +2831,18 @@
 {
 
 	MALLOC(V_nexpire, u_char *, mfchashsize, M_MRTABLE, M_WAITOK|M_ZERO);
+
+    /* from ip_mrouter_reset */
+    V_pim_assert_enabled = 0;
+    V_mrt_api_config = 0;
+
+    callout_init(&V_expire_upcalls_ch, CALLOUT_MPSAFE);
+
+    V_bw_upcalls_n = 0;
+    bzero(V_bw_meter_timers, sizeof(V_bw_meter_timers));
+    callout_init(&V_bw_upcalls_ch, CALLOUT_MPSAFE);
+    callout_init(&V_bw_meter_ch, CALLOUT_MPSAFE);
+    /* from ip_mrouter_reset */
 }
 
 VNET_SYSINIT(vnet_mroute_init, SI_SUB_PSEUDO, SI_ORDER_MIDDLE, vnet_mroute_init,
@@ -2838,7 +2852,9 @@
 vnet_mroute_uninit(const void *unused __unused)
 {
 
+#ifndef VIMAGE
 	X_ip_mrouter_done();
+#endif
 	FREE(V_nexpire, M_MRTABLE);
 	V_nexpire = NULL;
 }

==== //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#33 (text+ko) ====

@@ -81,13 +81,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/netinet6/ip6_mroute.c,v 1.64 2010/04/29 11:52:42 bz Exp $");
 
-#define VIMAGE
-#define DIAGNOSTIC
-//#define MRT6DEBUG
-//#define MRT6_OINIT
-#define PIM6_CHECKSUM
-#define UPCALL_TIMING
-
 //#include "opt_inet.h"
 #include "opt_inet6.h"
 


More information about the p4-projects mailing list