NDP Ethernet address display
Boris Kochergin
spawk at acm.poly.edu
Sat Jan 8 00:53:00 UTC 2011
Hi. I noticed that ndp(8) doesn't zero-pad Ethernet addresses, which is
inconsistent with arp(8):
# ndp -an
...
2001:470:897b::1 0:30:48:b1:1b:9c em0 permanent R
# arp -an
...
? (128.238.9.201) at 00:30:48:b1:1b:9c on em0 permanent [ethernet]
As everything else I can think of zero-pads them, this makes it a little
annoying to grep for addresses, etc. Is this intentional? It is the case
in 7.x through CURRENT and the fix is quite simple:
--- /usr/src/usr.sbin/ndp/ndp.c.orig 2011-01-07 19:16:17.000000000 -0500
+++ /usr/src/usr.sbin/ndp/ndp.c 2011-01-07 19:15:36.000000000 -0500
@@ -828,7 +828,7 @@
if (sdl->sdl_alen) {
cp = (u_char *)LLADDR(sdl);
- snprintf(hbuf, sizeof(hbuf), "%x:%x:%x:%x:%x:%x",
+ snprintf(hbuf, sizeof(hbuf),
"%02x:%02x:%02x:%02x:%02x:%02x",
cp[0], cp[1], cp[2], cp[3], cp[4], cp[5]);
} else
snprintf(hbuf, sizeof(hbuf), "(incomplete)");
-Boris
More information about the freebsd-net
mailing list