Selectively print "hwaddr" from ifconfig(8).

ifconfig(8) printing the hwaddr is only really useful if it differs from
the link layer address.

Reported by:	jhb
Reviewed by:	rpokala
Approved by:	rstone (mentor)
Differential Revision:	https://reviews.freebsd.org/D11777
This commit is contained in:
Matt Joras 2017-08-04 21:06:47 +00:00
parent e28f262a86
commit fdf2bc100e

View File

@ -108,7 +108,15 @@ link_status(int s __unused, const struct ifaddrs *ifa)
if (rc != 0) {
return;
}
if (memcmp(ifr.ifr_addr.sa_data, laggaddr, sdl->sdl_alen) == 0) {
/*
* If this is definitely a lagg device or the hwaddr
* matches the link addr, don't bother.
*/
if (memcmp(ifr.ifr_addr.sa_data, laggaddr,
sdl->sdl_alen) == 0 ||
memcmp(ifr.ifr_addr.sa_data, LLADDR(sdl),
sdl->sdl_alen) == 0) {
return;
}
ether_format = ether_ntoa((const struct ether_addr *)