diff options
Diffstat (limited to 'sys/net/if.c')
-rw-r--r-- | sys/net/if.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/net/if.c b/sys/net/if.c index 7ffb296..8310190 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -430,6 +430,9 @@ if_attach(ifp) TAILQ_INSERT_HEAD(&ifp->if_addrhead, ifa, ifa_link); } ifp->if_broadcastaddr = 0; /* reliably crash if used uninitialized */ + + /* Announce the interface. */ + rt_ifannouncemsg(ifp, IFAN_ARRIVAL); } /* @@ -511,6 +514,9 @@ if_detach(ifp) (void) rnh->rnh_walktree(rnh, if_rtdel, ifp); } + /* Announce that the interface is gone. */ + rt_ifannouncemsg(ifp, IFAN_DEPARTURE); + KNOTE(&ifp->if_klist, NOTE_EXIT); TAILQ_REMOVE(&ifnet, ifp, if_link); mtx_destroy(&ifp->if_snd.ifq_mtx); |