summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhrs <hrs@FreeBSD.org>2016-11-16 03:54:41 +0000
committerhrs <hrs@FreeBSD.org>2016-11-16 03:54:41 +0000
commit83b19367b2f0a1ccdf6525e2dacb9adc6de750a7 (patch)
treebd3e041d4c52d0861807db86daf161d8800aa8e7
parentdf6589498cb04d17435955dca3a4cb2aa127ec60 (diff)
downloadFreeBSD-src-83b19367b2f0a1ccdf6525e2dacb9adc6de750a7.zip
FreeBSD-src-83b19367b2f0a1ccdf6525e2dacb9adc6de750a7.tar.gz
MFC r308348:
Add link-layer address option in RA even for IFT_L2VLAN and IFT_BRIDGE. Reported by: philip
-rw-r--r--usr.sbin/rtadvd/if.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/usr.sbin/rtadvd/if.c b/usr.sbin/rtadvd/if.c
index ac2ba1b..4fa33c6 100644
--- a/usr.sbin/rtadvd/if.c
+++ b/usr.sbin/rtadvd/if.c
@@ -115,6 +115,8 @@ lladdropt_length(struct sockaddr_dl *sdl)
{
switch (sdl->sdl_type) {
case IFT_ETHER:
+ case IFT_L2VLAN:
+ case IFT_BRIDGE:
return (ROUNDUP8(ETHER_ADDR_LEN + 2));
default:
return (0);
@@ -130,6 +132,8 @@ lladdropt_fill(struct sockaddr_dl *sdl, struct nd_opt_hdr *ndopt)
switch (sdl->sdl_type) {
case IFT_ETHER:
+ case IFT_L2VLAN:
+ case IFT_BRIDGE:
ndopt->nd_opt_len = (ROUNDUP8(ETHER_ADDR_LEN + 2)) >> 3;
addr = (char *)(ndopt + 1);
memcpy(addr, LLADDR(sdl), ETHER_ADDR_LEN);
OpenPOWER on IntegriCloud