Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Mar 2011 16:28:11 +0000 (UTC)
From:      Attilio Rao <attilio@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r219919 - projects/sv/sys/netinet
Message-ID:  <201103231628.p2NGSBfn000488@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: attilio
Date: Wed Mar 23 16:28:11 2011
New Revision: 219919
URL: http://svn.freebsd.org/changeset/base/219919

Log:
  Unwind back nd_gw setting in order to make it fully available for next
  iterations of the netdump_trigger().
  
  Reported by:	rstone

Modified:
  projects/sv/sys/netinet/netdump_client.c

Modified: projects/sv/sys/netinet/netdump_client.c
==============================================================================
--- projects/sv/sys/netinet/netdump_client.c	Wed Mar 23 16:22:08 2011	(r219918)
+++ projects/sv/sys/netinet/netdump_client.c	Wed Mar 23 16:28:11 2011	(r219919)
@@ -1080,13 +1080,14 @@ netdump_trigger(void *arg, int howto)
 {
 	struct dumperinfo dumper;
 	void (*old_if_input)(struct ifnet *, struct mbuf *)=NULL;
-	int found, must_lock;
+	int found, must_lock, nd_gw_unset;
 
 	if ((howto&(RB_HALT|RB_DUMP))!=RB_DUMP || !nd_enable || cold ||
 	    dumping)
 		return;
 
 	found = 0;
+	nd_gw_unset = 0;
 	must_lock = 1;
 #if defined(KDB) && !defined(KDB_UNATTENDED)
 	if (panicstr != NULL)
@@ -1147,6 +1148,7 @@ netdump_trigger(void *arg, int howto)
 
 	if (nd_gw.s_addr == INADDR_ANY) {
 		nd_gw.s_addr = nd_server.s_addr;
+		nd_gw_unset = 1;
 	}
 	printf("\n-----------------------------------\n");
 	printf("netdump in progress. searching for server.. ");
@@ -1187,6 +1189,8 @@ netdump_trigger(void *arg, int howto)
 	printf("cancelling normal dump\n");
 	set_dumper(NULL);
 trig_abort:
+	if (nd_gw_unset != 0)
+		nd_gw.s_addr = INADDR_ANY;
 	if (old_if_input)
 		nd_ifp->if_input = old_if_input;
 	if ((nd_ifp->if_capenable & IFCAP_POLLING) == 0 && must_lock != 0)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103231628.p2NGSBfn000488>