Module Name: src
Committed By: pooka
Date: Thu Mar 13 21:11:12 UTC 2014
Modified Files:
src/sys/rump/net/lib/libvirtif: Makefile.virtif if_virt.c
Removed Files:
src/sys/rump/net/lib/libvirtif: virtif_component.c
Log Message:
No reason to attach if_virt as a RUMP_COMPONENT(), simply use MODULE().
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/rump/net/lib/libvirtif/Makefile.virtif
cvs rdiff -u -r1.43 -r1.44 src/sys/rump/net/lib/libvirtif/if_virt.c
cvs rdiff -u -r1.1 -r0 src/sys/rump/net/lib/libvirtif/virtif_component.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/rump/net/lib/libvirtif/Makefile.virtif
diff -u src/sys/rump/net/lib/libvirtif/Makefile.virtif:1.3 src/sys/rump/net/lib/libvirtif/Makefile.virtif:1.4
--- src/sys/rump/net/lib/libvirtif/Makefile.virtif:1.3 Thu Mar 13 20:59:12 2014
+++ src/sys/rump/net/lib/libvirtif/Makefile.virtif Thu Mar 13 21:11:12 2014
@@ -1,16 +1,14 @@
-# $NetBSD: Makefile.virtif,v 1.3 2014/03/13 20:59:12 pooka Exp $
+# $NetBSD: Makefile.virtif,v 1.4 2014/03/13 21:11:12 pooka Exp $
#
.if !defined(VIRTIF)
.error Define VIRTIF when including ${.PARSEFILE}
.endif
-SRCS= if_virt.c virtif_component.c
+SRCS= if_virt.c
VIRTIFDIR:= ${.PARSEDIR}
.PATH: ${VIRTIFDIR}
-CPPFLAGS+= -I${VIRTIFDIR}/../../../librump/rumpkern
-
CPPFLAGS+= -DVIRTIF_BASE=${VIRTIF} -I${VIRTIFDIR}
RUMPCOMP_USER_CPPFLAGS+= -DVIRTIF_BASE=${VIRTIF} -I${VIRTIFDIR}
Index: src/sys/rump/net/lib/libvirtif/if_virt.c
diff -u src/sys/rump/net/lib/libvirtif/if_virt.c:1.43 src/sys/rump/net/lib/libvirtif/if_virt.c:1.44
--- src/sys/rump/net/lib/libvirtif/if_virt.c:1.43 Thu Mar 13 20:59:12 2014
+++ src/sys/rump/net/lib/libvirtif/if_virt.c Thu Mar 13 21:11:12 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: if_virt.c,v 1.43 2014/03/13 20:59:12 pooka Exp $ */
+/* $NetBSD: if_virt.c,v 1.44 2014/03/13 21:11:12 pooka Exp $ */
/*
* Copyright (c) 2008, 2013 Antti Kantee. All Rights Reserved.
@@ -26,12 +26,13 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_virt.c,v 1.43 2014/03/13 20:59:12 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_virt.c,v 1.44 2014/03/13 21:11:12 pooka Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/kmem.h>
#include <sys/cprng.h>
+#include <sys/module.h>
#include <net/bpf.h>
#include <net/if.h>
@@ -378,3 +379,31 @@ VIF_DELIVERPKT(struct virtif_sc *sc, str
}
m = NULL;
}
+
+MODULE(MODULE_CLASS_DRIVER, if_virt, NULL);
+
+static int
+if_virt_modcmd(modcmd_t cmd, void *opaque)
+{
+ int error = 0;
+
+ switch (cmd) {
+ case MODULE_CMD_INIT:
+ if_clone_attach(&VIF_CLONER);
+ break;
+ case MODULE_CMD_FINI:
+ /*
+ * not sure if interfaces are refcounted
+ * and properly protected
+ */
+#if 0
+ if_clone_detach(&VIF_CLONER);
+#else
+ error = ENOTTY;
+#endif
+ break;
+ default:
+ error = ENOTTY;
+ }
+ return error;
+}