From 5056e27c2d94cd3dce26860a82a784814b55b3e9 Mon Sep 17 00:00:00 2001 From: thompsa Date: Mon, 18 Jan 2010 20:34:00 +0000 Subject: Declare a new EVENTHANDLER called iflladdr_event which signals that the L2 address on an interface has changed. This lets stacked interfaces such as vlan(4) detect that their lower interface has changed and adjust things in order to keep working. Previously this situation broke at least vlan(4) and lagg(4) configurations. The EVENTHANDLER_INVOKE call was not placed within if_setlladdr() due to the risk of a loop. PR: kern/142927 Submitted by: Nikolay Denev --- sys/netgraph/ng_ether.c | 1 + 1 file changed, 1 insertion(+) (limited to 'sys/netgraph/ng_ether.c') diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c index dc38d41..5abc5aa 100644 --- a/sys/netgraph/ng_ether.c +++ b/sys/netgraph/ng_ether.c @@ -481,6 +481,7 @@ ng_ether_rcvmsg(node_p node, item_p item, hook_p lasthook) } error = if_setlladdr(priv->ifp, (u_char *)msg->data, ETHER_ADDR_LEN); + EVENTHANDLER_INVOKE(iflladdr_event, priv->ifp); break; } case NGM_ETHER_GET_PROMISC: -- cgit v1.1