summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ndp/ndp.c
diff options
context:
space:
mode:
authorsumikawa <sumikawa@FreeBSD.org>2000-10-09 09:28:49 +0000
committersumikawa <sumikawa@FreeBSD.org>2000-10-09 09:28:49 +0000
commit3231981619fced584225d26464095abaa710d986 (patch)
tree91f1c8eb599e7ff79ed414b9e54416296d8e6335 /usr.sbin/ndp/ndp.c
parenta8492d4f89c0c40ac54ac7b13d75d67c2c55a3e9 (diff)
downloadFreeBSD-src-3231981619fced584225d26464095abaa710d986.zip
FreeBSD-src-3231981619fced584225d26464095abaa710d986.tar.gz
- simplify option flags
- do not print header when using -c - linklocal address are not cleared when using -c Obtained from: KAME
Diffstat (limited to 'usr.sbin/ndp/ndp.c')
-rw-r--r--usr.sbin/ndp/ndp.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c
index 8010c19..a01886a 100644
--- a/usr.sbin/ndp/ndp.c
+++ b/usr.sbin/ndp/ndp.c
@@ -1,5 +1,5 @@
/* $FreeBSD$ */
-/* $KAME: ndp.c,v 1.41 2000/07/04 12:54:11 jinmei Exp $ */
+/* $KAME: ndp.c,v 1.46 2000/10/09 09:17:10 sumikawa Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
@@ -122,7 +122,7 @@
#define ADVANCE(x, n) (x += ROUNDUP((n)->sa_len))
static int pid;
-static int fflag;
+static int cflag;
static int nflag;
static int tflag;
static int32_t thiszone; /* time difference with gmt */
@@ -168,7 +168,7 @@ main(argc, argv)
char **argv;
{
int ch;
- int aflag = 0, cflag = 0, dflag = 0, sflag = 0, Hflag = 0,
+ int aflag = 0, dflag = 0, sflag = 0, Hflag = 0,
pflag = 0, rflag = 0, Pflag = 0, Rflag = 0;
pid = getpid();
@@ -179,7 +179,6 @@ main(argc, argv)
aflag = 1;
break;
case 'c':
- fflag = 1;
cflag = 1;
break;
case 'd':
@@ -562,7 +561,7 @@ dump(addr)
char flgbuf[8];
/* Print header */
- if (!tflag)
+ if (!tflag && !cflag)
printf("%-31.31s %-17.17s %6.6s %-9.9s %2s %4s %4s\n",
"Neighbor", "Linklayer Address", "Netif", "Expire",
"St", "Flgs", "Prbs");
@@ -597,24 +596,23 @@ again:;
found_entry = 1;
} else if (IN6_IS_ADDR_MULTICAST(&sin->sin6_addr))
continue;
- if (fflag == 1) {
- delete((char *)inet_ntop(AF_INET6, &sin->sin6_addr,
- ntop_buf, sizeof(ntop_buf)));
- continue;
- }
-
if (IN6_IS_ADDR_LINKLOCAL(&sin->sin6_addr) ||
IN6_IS_ADDR_MC_LINKLOCAL(&sin->sin6_addr)) {
/* XXX: should scope id be filled in the kernel? */
if (sin->sin6_scope_id == 0)
sin->sin6_scope_id = sdl->sdl_index;
-
- /* XXX: KAME specific hack; removed the embedded id */
+#ifdef __KAME__
+ /* KAME specific hack; removed the embedded id */
*(u_int16_t *)&sin->sin6_addr.s6_addr[2] = 0;
+#endif
}
getnameinfo((struct sockaddr *)sin, sin->sin6_len, host_buf,
sizeof(host_buf), NULL, 0,
NI_WITHSCOPEID | (nflag ? NI_NUMERICHOST : 0));
+ if (cflag == 1) {
+ delete(host_buf);
+ continue;
+ }
gettimeofday(&time, 0);
if (tflag)
ts_print(&time);
OpenPOWER on IntegriCloud