diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index d977bc959195..77cc17804221 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -62,7 +62,6 @@ #include #include #include -#include #ifdef INET #include @@ -224,7 +223,7 @@ vlan_setmulti(struct ifnet *ifp) */ extern void (*vlan_input_p)(struct ifnet *, struct mbuf *); -/* For MII eyes only... */ +/* For if_link_state_change() eyes only... */ extern void (*vlan_link_state_p)(struct ifnet *, int); static int @@ -819,11 +818,9 @@ vlan_link_state(struct ifnet *ifp, int link) VLAN_LOCK(); LIST_FOREACH(ifv, &ifv_list, ifv_list) { - if (ifv->ifv_p == ifp) { - ifv->ifv_if.if_link_state = ifv->ifv_p->if_link_state; - rt_ifmsg(&(ifv->ifv_if)); - KNOTE_UNLOCKED(&ifp->if_klist, link); - } + if (ifv->ifv_p == ifp) + if_link_state_change(&ifv->ifv_if, + ifv->ifv_p->if_link_state); } VLAN_UNLOCK(); }