summaryrefslogtreecommitdiffstats
path: root/sys/net/if_atmsubr.c
diff options
context:
space:
mode:
authorharti <harti@FreeBSD.org>2003-04-29 08:07:44 +0000
committerharti <harti@FreeBSD.org>2003-04-29 08:07:44 +0000
commit434086177ff1782e5033d3ef3944a029b263f85b (patch)
tree631feff583589aa3eebd1ddb28044891f36cc315 /sys/net/if_atmsubr.c
parentdb92d84028d043a57be76ff4d516386f5736053e (diff)
downloadFreeBSD-src-434086177ff1782e5033d3ef3944a029b263f85b.zip
FreeBSD-src-434086177ff1782e5033d3ef3944a029b263f85b.tar.gz
Add module data and version to the atm_subr and reference this info from the
(currently) only consumer (en). Add a sysctl node hw.atm where the atm drivers will hook on their hardware sysctl sub-trees. Make atm_ifattach call if_attach and remove the corresponding call to if_attach from en. Create atm_ifdetach and use that in en. While the last change actually changes the interface this is not a problem in practice because the only other consumer of this API is an older LANAI driver on the net, that is not ready for current anyway. Reviewed by: -atm
Diffstat (limited to 'sys/net/if_atmsubr.c')
-rw-r--r--sys/net/if_atmsubr.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/sys/net/if_atmsubr.c b/sys/net/if_atmsubr.c
index 7fbf1e8..ac1c8da 100644
--- a/sys/net/if_atmsubr.c
+++ b/sys/net/if_atmsubr.c
@@ -45,11 +45,14 @@
#include <sys/param.h>
#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/module.h>
#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/socket.h>
#include <sys/sockio.h>
#include <sys/errno.h>
+#include <sys/sysctl.h>
#include <net/if.h>
#include <net/netisr.h>
@@ -68,6 +71,8 @@
#include <netnatm/natm.h>
#endif
+SYSCTL_NODE(_hw, OID_AUTO, atm, CTLFLAG_RW, 0, "ATM hardware");
+
#ifndef ETHERTYPE_IPV6
#define ETHERTYPE_IPV6 0x86dd
#endif
@@ -283,7 +288,7 @@ atm_input(ifp, ah, m, rxhand)
}
/*
- * Perform common duties while attaching to interface list
+ * Perform common duties while attaching to interface list.
*/
void
atm_ifattach(ifp)
@@ -295,6 +300,7 @@ atm_ifattach(ifp)
ifp->if_type = IFT_ATM;
ifp->if_addrlen = 0;
ifp->if_hdrlen = 0;
+ if_attach(ifp);
ifp->if_mtu = ATMMTU;
ifp->if_output = atm_output;
#if 0
@@ -321,3 +327,21 @@ atm_ifattach(ifp)
}
}
+
+/*
+ * Common stuff for detaching an ATM interface
+ */
+void
+atm_ifdetach(struct ifnet *ifp)
+{
+ if_detach(ifp);
+}
+
+static moduledata_t atm_mod = {
+ "atm",
+ NULL,
+ 0
+};
+
+DECLARE_MODULE(atm, atm_mod, SI_SUB_PSEUDO, SI_ORDER_ANY);
+MODULE_VERSION(atm, 1);
OpenPOWER on IntegriCloud