summaryrefslogtreecommitdiffstats
path: root/sys/net/if_vlan.c
diff options
context:
space:
mode:
authormelifaro <melifaro@FreeBSD.org>2015-11-09 10:11:14 +0000
committermelifaro <melifaro@FreeBSD.org>2015-11-09 10:11:14 +0000
commita0ced91366c8e5d12333b1c0cc8cb100fd209fa2 (patch)
treef2732d013aba948ad902595a535b9c6656df4e44 /sys/net/if_vlan.c
parentb4eb11ae4d40ddba47d4c0752116e5f9daea5be8 (diff)
downloadFreeBSD-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.c7
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();
OpenPOWER on IntegriCloud