summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/netgraph/ng_ether.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c
index fab06226610a..dc38d4157db6 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);
+ }
}
/******************************************************************