diff options
author | melifaro <melifaro@FreeBSD.org> | 2015-11-09 10:11:14 +0000 |
---|---|---|
committer | melifaro <melifaro@FreeBSD.org> | 2015-11-09 10:11:14 +0000 |
commit | a0ced91366c8e5d12333b1c0cc8cb100fd209fa2 (patch) | |
tree | f2732d013aba948ad902595a535b9c6656df4e44 /sys/net/if_vlan.c | |
parent | b4eb11ae4d40ddba47d4c0752116e5f9daea5be8 (diff) | |
download | FreeBSD-src-a0ced91366c8e5d12333b1c0cc8cb100fd209fa2.zip FreeBSD-src-a0ced91366c8e5d12333b1c0cc8cb100fd209fa2.tar.gz |
Use lladdr_event to propagate gratiotus arp.
Differential Revision: https://reviews.freebsd.org/D4019
Diffstat (limited to 'sys/net/if_vlan.c')
-rw-r--r-- | sys/net/if_vlan.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index 462c907..dc07975 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -523,7 +523,7 @@ vlan_iflladdr(void *arg __unused, struct ifnet *ifp) #ifndef VLAN_ARRAY struct ifvlan *next; #endif - int i; + int error, i; /* * Check if it's a trunk interface first of all @@ -544,8 +544,11 @@ vlan_iflladdr(void *arg __unused, struct ifnet *ifp) LIST_FOREACH_SAFE(ifv, &ifp->if_vlantrunk->hash[i], ifv_list, next) { #endif /* VLAN_ARRAY */ VLAN_UNLOCK(); - if_setlladdr(ifv->ifv_ifp, IF_LLADDR(ifp), + error = if_setlladdr(ifv->ifv_ifp, IF_LLADDR(ifp), ifp->if_addrlen); + if (error == 0) + EVENTHANDLER_INVOKE(iflladdr_event, + ifv->ifv_ifp); VLAN_LOCK(); } VLAN_UNLOCK(); |