Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Nov 2018 01:58:48 +0000 (UTC)
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r340547 - head/sbin/dumpon
Message-ID:  <201811180158.wAI1wmfM034730@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markj
Date: Sun Nov 18 01:58:48 2018
New Revision: 340547
URL: https://svnweb.freebsd.org/changeset/base/340547

Log:
  Change dumpon(8)'s handling of -g.
  
  Rather than using a special value to denote "use the default router",
  treat the absence of the -g option to mean the same thing.  The
  in-kernel netdump client will always attempt to reach the server
  directly before falling back to the configured gateway anyway.  This
  change makes it cleaner to support a hostname value for -g.
  
  Reviewed by:	cem
  MFC after:	3 days
  Differential Revision:	https://reviews.freebsd.org/D18025

Modified:
  head/sbin/dumpon/dumpon.8
  head/sbin/dumpon/dumpon.c

Modified: head/sbin/dumpon/dumpon.8
==============================================================================
--- head/sbin/dumpon/dumpon.8	Sun Nov 18 01:27:17 2018	(r340546)
+++ head/sbin/dumpon/dumpon.8	Sun Nov 18 01:58:48 2018	(r340547)
@@ -28,7 +28,7 @@
 .\"     From: @(#)swapon.8	8.1 (Berkeley) 6/5/93
 .\" $FreeBSD$
 .\"
-.Dd October 26, 2018
+.Dd November 17, 2018
 .Dt DUMPON 8
 .Os
 .Sh NAME
@@ -46,7 +46,7 @@
 .Op Fl k Ar pubkey
 .Op Fl Z
 .Op Fl z
-.Op Fl g Ar gateway | Li default
+.Op Fl g Ar gateway
 .Fl s Ar server
 .Fl c Ar client
 .Ar iface
@@ -140,21 +140,22 @@ The local IP address of the
 .Xr netdump 4
 client.
 .It Fl g Ar gateway
-Optional.
-If not specified, it is assumed that the
-.Ar server
-is on the same link as the
-.Ar client .
-.Pp
-If specified,
-.Ar gateway
-is the address of the first-hop router between the
+The first-hop router between
 .Ar client
-and the
+and
 .Ar server .
-The special value
-.Dv Dq default
-indicates that the currently configured system default route should be used.
+If the
+.Fl g
+option is not specified and the system has a default route, the default
+router is used as the
+.Xr netdump 4
+gateway.
+If the
+.Fl g
+option is not specified and the system does not have a default route,
+.Ar server
+is assumed to be on the same link as
+.Ar client .
 .It Fl s Ar server
 The IP address of the
 .Xr netdumpd 8

Modified: head/sbin/dumpon/dumpon.c
==============================================================================
--- head/sbin/dumpon/dumpon.c	Sun Nov 18 01:27:17 2018	(r340546)
+++ head/sbin/dumpon/dumpon.c	Sun Nov 18 01:58:48 2018	(r340547)
@@ -88,7 +88,7 @@ usage(void)
 	fprintf(stderr,
     "usage: dumpon [-v] [-k <pubkey>] [-Zz] <device>\n"
     "       dumpon [-v] [-k <pubkey>] [-Zz]\n"
-    "              [-g <gateway>|default] -s <server> -c <client> <iface>\n"
+    "              [-g <gateway>] -s <server> -c <client> <iface>\n"
     "       dumpon [-v] off\n"
     "       dumpon [-v] -l\n");
 	exit(EX_USAGE);
@@ -109,8 +109,6 @@ find_gateway(const char *ifname)
 	size_t sz;
 	int error, i, ifindex, mib[7];
 
-	ret = NULL;
-
 	/* First look up the interface index. */
 	if (getifaddrs(&ifap) != 0)
 		err(EX_OSERR, "getifaddrs");
@@ -148,6 +146,7 @@ find_gateway(const char *ifname)
 		free(buf);
 	}
 
+	ret = NULL;
 	for (next = buf; next < buf + sz; next += rtm->rtm_msglen) {
 		rtm = (struct rt_msghdr *)(void *)next;
 		if (rtm->rtm_version != RTM_VERSION)
@@ -476,12 +475,13 @@ main(int argc, char *argv[])
 		if (inet_aton(client, &ndconf.ndc_client) == 0)
 			errx(EX_USAGE, "invalid client address '%s'", client);
 
-		if (gateway == NULL)
+		gateway = find_gateway(argv[0]);
+		if (gateway == NULL) {
+			if (verbose)
+				printf("failed to look up gateway for %s\n",
+				    server);
 			gateway = server;
-		else if (strcmp(gateway, "default") == 0 &&
-		    (gateway = find_gateway(argv[0])) == NULL)
-			errx(EX_NOHOST,
-			    "failed to look up next-hop router for %s", server);
+		}
 		if (inet_aton(gateway, &ndconf.ndc_gateway) == 0)
 			errx(EX_USAGE, "invalid gateway address '%s'", gateway);
 



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