xref: /netbsd-src/sys/rump/net/lib/libnpf/npf_component.c (revision 6bb51422881aa32822c80737814503e72f496e36)
1*6bb51422Spooka /*	$NetBSD: npf_component.c,v 1.2 2016/01/26 23:12:19 pooka Exp $	*/
26f134b41Spooka 
36f134b41Spooka /*
46f134b41Spooka  * Public Domain.
56f134b41Spooka  */
66f134b41Spooka 
76f134b41Spooka #include <sys/cdefs.h>
8*6bb51422Spooka __KERNEL_RCSID(0, "$NetBSD: npf_component.c,v 1.2 2016/01/26 23:12:19 pooka Exp $");
96f134b41Spooka 
106f134b41Spooka #include <sys/param.h>
116f134b41Spooka #include <sys/conf.h>
126f134b41Spooka #include <sys/device.h>
136f134b41Spooka #include <sys/stat.h>
146f134b41Spooka 
15*6bb51422Spooka #include <rump-sys/kern.h>
16*6bb51422Spooka #include <rump-sys/vfs.h>
176f134b41Spooka 
186f134b41Spooka extern const struct cdevsw npf_cdevsw;
196f134b41Spooka 
RUMP_COMPONENT(RUMP_COMPONENT_NET)206f134b41Spooka RUMP_COMPONENT(RUMP_COMPONENT_NET)
216f134b41Spooka {
226f134b41Spooka 	devmajor_t bmajor = NODEVMAJOR, cmajor = NODEVMAJOR;
236f134b41Spooka 	int error;
246f134b41Spooka 
256f134b41Spooka 	error = devsw_attach("npf", NULL, &bmajor, &npf_cdevsw, &cmajor);
266f134b41Spooka 	if (error) {
276f134b41Spooka 		panic("npf attach failed: %d", error);
286f134b41Spooka 	}
296f134b41Spooka 
306f134b41Spooka 	error = rump_vfs_makeonedevnode(S_IFCHR, "/dev/npf", cmajor, 0);
316f134b41Spooka 	if (error) {
326f134b41Spooka 		panic("npf device node creation failed: %d", error);
336f134b41Spooka 	}
346f134b41Spooka 	devsw_detach(NULL, &npf_cdevsw);
356f134b41Spooka }
36