summaryrefslogtreecommitdiffstats
path: root/sys/net
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2006-06-01 00:41:07 +0000
committerthompsa <thompsa@FreeBSD.org>2006-06-01 00:41:07 +0000
commitf6293051c9bcfc333ae61c575230e2f23c6390d3 (patch)
treeeacc21ad5d48ab5f45bf67df8e6eb129d05ff383 /sys/net
parent7bd2588031d7ff3f099e21244f9f1750a0f2d495 (diff)
downloadFreeBSD-src-f6293051c9bcfc333ae61c575230e2f23c6390d3.zip
FreeBSD-src-f6293051c9bcfc333ae61c575230e2f23c6390d3.tar.gz
Announce all interfaces to devd on attach/detach. This adds a new devctl
notification so all interfaces including pseudo are reported. When netif creates the clones at startup devctl_disable has not been turned off yet so the interfaces will not be initialised twice, enforce this by adding an explicit order between rc.d/netif and rc.d/devd. This change allows actions to taken in userland when an interface is cloned and the pseudo interface will be automatically configured if a ifconfig_<int>="" line exists in rc.conf. Reviewed by: brooks No objections on: net
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/if.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/net/if.c b/sys/net/if.c
index 03b21ca..a3c02bb 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -505,6 +505,7 @@ if_attach(struct ifnet *ifp)
if_attachdomain1(ifp);
EVENTHANDLER_INVOKE(ifnet_arrival_event, ifp);
+ devctl_notify("IFNET", ifp->if_xname, "ATTACH", NULL);
/* Announce the interface. */
rt_ifannouncemsg(ifp, IFAN_ARRIVAL);
@@ -682,6 +683,7 @@ if_detach(struct ifnet *ifp)
/* Announce that the interface is gone. */
rt_ifannouncemsg(ifp, IFAN_DEPARTURE);
EVENTHANDLER_INVOKE(ifnet_departure_event, ifp);
+ devctl_notify("IFNET", ifp->if_xname, "DETACH", NULL);
IF_AFDATA_LOCK(ifp);
for (dp = domains; dp; dp = dp->dom_next) {
OpenPOWER on IntegriCloud