aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/rtadvd
diff options
context:
space:
mode:
authorHiroki Sato <hrs@FreeBSD.org>2016-11-05 19:51:13 +0000
committerHiroki Sato <hrs@FreeBSD.org>2016-11-05 19:51:13 +0000
commit374d225e54087ead8c8b0f4d919bea0556f2bbbb (patch)
treefe6a89f177ca42d5e35726d9d8f880a44d71b08f /usr.sbin/rtadvd
parent161ab37d24e40dea535714b4d3473a65879e5c9a (diff)
downloadsrc-374d225e54087ead8c8b0f4d919bea0556f2bbbb.tar.gz
src-374d225e54087ead8c8b0f4d919bea0556f2bbbb.zip
Add link-layer address option in RA even for IFT_L2VLAN and IFT_BRIDGE.
Reported by: philip MFC after: 3 days
Notes
Notes: svn path=/head/; revision=308348
Diffstat (limited to 'usr.sbin/rtadvd')
-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 6013e9ba08c1..72ea36a8f64f 100644
--- a/usr.sbin/rtadvd/if.c
+++ b/usr.sbin/rtadvd/if.c
@@ -114,6 +114,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);
@@ -129,6 +131,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);