diff options
author | fjoe <fjoe@FreeBSD.org> | 2010-01-09 19:03:48 +0000 |
---|---|---|
committer | fjoe <fjoe@FreeBSD.org> | 2010-01-09 19:03:48 +0000 |
commit | 698b0138320a007f2cfeef510ccd43bffbd9411a (patch) | |
tree | af54b4234bdbe505b86e256438e7e7911b2f66cd /sys/netgraph | |
parent | 5a2e2b97d2ace2fcf382252a646ea7d495a53063 (diff) | |
download | FreeBSD-src-698b0138320a007f2cfeef510ccd43bffbd9411a.zip FreeBSD-src-698b0138320a007f2cfeef510ccd43bffbd9411a.tar.gz |
Send link state change control messages to "orphans" hook as well.
MFC after: 1 week
Diffstat (limited to 'sys/netgraph')
-rw-r--r-- | sys/netgraph/ng_ether.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c index fab0622..dc38d41 100644 --- a/sys/netgraph/ng_ether.c +++ b/sys/netgraph/ng_ether.c @@ -359,9 +359,6 @@ ng_ether_link_state(struct ifnet *ifp, int state) struct ng_mesg *msg; int cmd, dummy_error = 0; - if (priv->lower == NULL) - return; - if (state == LINK_STATE_UP) cmd = NGM_LINK_IS_UP; else if (state == LINK_STATE_DOWN) @@ -369,9 +366,16 @@ ng_ether_link_state(struct ifnet *ifp, int state) else return; - NG_MKMESSAGE(msg, NGM_FLOW_COOKIE, cmd, 0, M_NOWAIT); - if (msg != NULL) - NG_SEND_MSG_HOOK(dummy_error, node, msg, priv->lower, 0); + if (priv->lower != NULL) { + NG_MKMESSAGE(msg, NGM_FLOW_COOKIE, cmd, 0, M_NOWAIT); + if (msg != NULL) + NG_SEND_MSG_HOOK(dummy_error, node, msg, priv->lower, 0); + } + if (priv->orphan != NULL) { + NG_MKMESSAGE(msg, NGM_FLOW_COOKIE, cmd, 0, M_NOWAIT); + if (msg != NULL) + NG_SEND_MSG_HOOK(dummy_error, node, msg, priv->orphan, 0); + } } /****************************************************************** |