Move iflladdr_event eventhandler invocation to if_setlladdr.
Suggested by: glebius
This commit is contained in:
parent
f894f17244
commit
8ad43f2d0a
@ -2512,8 +2512,6 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, struct thread *td)
|
||||
return (error);
|
||||
error = if_setlladdr(ifp,
|
||||
ifr->ifr_addr.sa_data, ifr->ifr_addr.sa_len);
|
||||
if (error == 0)
|
||||
EVENTHANDLER_INVOKE(iflladdr_event, ifp);
|
||||
break;
|
||||
|
||||
case SIOCAIFGROUP:
|
||||
@ -3377,6 +3375,7 @@ if_setlladdr(struct ifnet *ifp, const u_char *lladdr, int len)
|
||||
(*ifp->if_ioctl)(ifp, SIOCSIFFLAGS, (caddr_t)&ifr);
|
||||
}
|
||||
}
|
||||
EVENTHANDLER_INVOKE(iflladdr_event, ifp);
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
@ -690,7 +690,6 @@ lagg_port_setlladdr(void *arg, int pending)
|
||||
struct lagg_softc *sc = (struct lagg_softc *)arg;
|
||||
struct lagg_llq *llq, *head;
|
||||
struct ifnet *ifp;
|
||||
int error;
|
||||
|
||||
/* Grab a local reference of the queue and remove it from the softc */
|
||||
LAGG_WLOCK(sc);
|
||||
@ -706,7 +705,6 @@ lagg_port_setlladdr(void *arg, int pending)
|
||||
ifp = llq->llq_ifp;
|
||||
|
||||
CURVNET_SET(ifp->if_vnet);
|
||||
error = 0;
|
||||
|
||||
/*
|
||||
* Set the link layer address on the laggport interface.
|
||||
@ -714,11 +712,8 @@ lagg_port_setlladdr(void *arg, int pending)
|
||||
* may result in arp transmission / lltable updates.
|
||||
*/
|
||||
if (llq->llq_type == LAGG_LLQTYPE_PHYS)
|
||||
error = if_setlladdr(ifp, llq->llq_lladdr,
|
||||
if_setlladdr(ifp, llq->llq_lladdr,
|
||||
ETHER_ADDR_LEN);
|
||||
if (error)
|
||||
printf("%s: setlladdr failed on %s\n", __func__,
|
||||
ifp->if_xname);
|
||||
else
|
||||
EVENTHANDLER_INVOKE(iflladdr_event, ifp);
|
||||
CURVNET_RESTORE();
|
||||
|
@ -523,7 +523,7 @@ vlan_iflladdr(void *arg __unused, struct ifnet *ifp)
|
||||
#ifndef VLAN_ARRAY
|
||||
struct ifvlan *next;
|
||||
#endif
|
||||
int error, i;
|
||||
int i;
|
||||
|
||||
/*
|
||||
* Check if it's a trunk interface first of all
|
||||
@ -544,11 +544,8 @@ 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();
|
||||
error = if_setlladdr(ifv->ifv_ifp, IF_LLADDR(ifp),
|
||||
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();
|
||||
|
@ -489,8 +489,6 @@ ng_eiface_rcvmsg(node_p node, item_p item, hook_p lasthook)
|
||||
}
|
||||
error = if_setlladdr(priv->ifp,
|
||||
(u_char *)msg->data, ETHER_ADDR_LEN);
|
||||
if (error == 0)
|
||||
EVENTHANDLER_INVOKE(iflladdr_event, priv->ifp);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -534,8 +534,6 @@ ng_ether_rcvmsg(node_p node, item_p item, hook_p lasthook)
|
||||
}
|
||||
error = if_setlladdr(priv->ifp,
|
||||
(u_char *)msg->data, ETHER_ADDR_LEN);
|
||||
if (error == 0)
|
||||
EVENTHANDLER_INVOKE(iflladdr_event, priv->ifp);
|
||||
break;
|
||||
}
|
||||
case NGM_ETHER_GET_PROMISC:
|
||||
|
Loading…
x
Reference in New Issue
Block a user