[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Allow netback to be built as a module.
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID 271cb04a4f2b74a7f7d3baa68868ef6f8c159525 # Parent ead0b7fcad3a8868ad753c5592a096f5506542cf Allow netback to be built as a module. From: Jan Beulich Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> diff -r ead0b7fcad3a -r 271cb04a4f2b buildconfigs/linux-defconfig_xen0_x86_32 --- a/buildconfigs/linux-defconfig_xen0_x86_32 Tue Feb 28 17:56:00 2006 +++ b/buildconfigs/linux-defconfig_xen0_x86_32 Tue Feb 28 17:59:24 2006 @@ -1320,6 +1320,7 @@ # CONFIG_XEN_BLKDEV_TAP_BE is not set CONFIG_XEN_NETDEV_BACKEND=y # CONFIG_XEN_NETDEV_PIPELINED_TRANSMITTER is not set +CONFIG_XEN_NETDEV_LOOPBACK=y # CONFIG_XEN_TPMDEV_BACKEND is not set CONFIG_XEN_BLKDEV_FRONTEND=y CONFIG_XEN_NETDEV_FRONTEND=y diff -r ead0b7fcad3a -r 271cb04a4f2b buildconfigs/linux-defconfig_xen0_x86_64 --- a/buildconfigs/linux-defconfig_xen0_x86_64 Tue Feb 28 17:56:00 2006 +++ b/buildconfigs/linux-defconfig_xen0_x86_64 Tue Feb 28 17:59:24 2006 @@ -1244,6 +1244,7 @@ # CONFIG_XEN_BLKDEV_TAP_BE is not set CONFIG_XEN_NETDEV_BACKEND=y # CONFIG_XEN_NETDEV_PIPELINED_TRANSMITTER is not set +CONFIG_XEN_NETDEV_LOOPBACK=y # CONFIG_XEN_TPMDEV_BACKEND is not set CONFIG_XEN_BLKDEV_FRONTEND=y CONFIG_XEN_NETDEV_FRONTEND=y diff -r ead0b7fcad3a -r 271cb04a4f2b buildconfigs/linux-defconfig_xen_x86_32 --- a/buildconfigs/linux-defconfig_xen_x86_32 Tue Feb 28 17:56:00 2006 +++ b/buildconfigs/linux-defconfig_xen_x86_32 Tue Feb 28 17:59:24 2006 @@ -2986,6 +2986,7 @@ # CONFIG_XEN_BLKDEV_TAP_BE is not set CONFIG_XEN_NETDEV_BACKEND=y # CONFIG_XEN_NETDEV_PIPELINED_TRANSMITTER is not set +CONFIG_XEN_NETDEV_LOOPBACK=y # CONFIG_XEN_TPMDEV_BACKEND is not set CONFIG_XEN_BLKDEV_FRONTEND=y CONFIG_XEN_NETDEV_FRONTEND=y diff -r ead0b7fcad3a -r 271cb04a4f2b buildconfigs/linux-defconfig_xen_x86_64 --- a/buildconfigs/linux-defconfig_xen_x86_64 Tue Feb 28 17:56:00 2006 +++ b/buildconfigs/linux-defconfig_xen_x86_64 Tue Feb 28 17:59:24 2006 @@ -2656,6 +2656,7 @@ # CONFIG_XEN_BLKDEV_TAP_BE is not set CONFIG_XEN_NETDEV_BACKEND=y # CONFIG_XEN_NETDEV_PIPELINED_TRANSMITTER is not set +CONFIG_XEN_NETDEV_LOOPBACK=y # CONFIG_XEN_TPMDEV_BACKEND is not set CONFIG_XEN_BLKDEV_FRONTEND=y CONFIG_XEN_NETDEV_FRONTEND=y diff -r ead0b7fcad3a -r 271cb04a4f2b linux-2.6-xen-sparse/drivers/xen/Kconfig --- a/linux-2.6-xen-sparse/drivers/xen/Kconfig Tue Feb 28 17:56:00 2006 +++ b/linux-2.6-xen-sparse/drivers/xen/Kconfig Tue Feb 28 17:59:24 2006 @@ -89,7 +89,7 @@ modified to use grant tables. config XEN_NETDEV_BACKEND - bool "Network-device backend driver" + tristate "Network-device backend driver" default y help The network-device backend driver allows the kernel to export its @@ -109,6 +109,14 @@ are unsure; or if you experience network hangs when this option is enabled; then you must say N here. +config XEN_NETDEV_LOOPBACK + tristate "Network-device loopback driver" + depends on XEN_NETDEV_BACKEND + default y + help + A two-interface loopback device to emulate a local netfront-netback + connection. + config XEN_TPMDEV_BACKEND bool "TPM-device backend driver" default n diff -r ead0b7fcad3a -r 271cb04a4f2b linux-2.6-xen-sparse/drivers/xen/core/skbuff.c --- a/linux-2.6-xen-sparse/drivers/xen/core/skbuff.c Tue Feb 28 17:56:00 2006 +++ b/linux-2.6-xen-sparse/drivers/xen/core/skbuff.c Tue Feb 28 17:59:24 2006 @@ -16,6 +16,7 @@ /* Referenced in netback.c. */ /*static*/ kmem_cache_t *skbuff_cachep; +EXPORT_SYMBOL(skbuff_cachep); #define MAX_SKBUFF_ORDER 4 static kmem_cache_t *skbuff_order_cachep[MAX_SKBUFF_ORDER + 1]; diff -r ead0b7fcad3a -r 271cb04a4f2b linux-2.6-xen-sparse/drivers/xen/netback/Makefile --- a/linux-2.6-xen-sparse/drivers/xen/netback/Makefile Tue Feb 28 17:56:00 2006 +++ b/linux-2.6-xen-sparse/drivers/xen/netback/Makefile Tue Feb 28 17:59:24 2006 @@ -1,2 +1,5 @@ +obj-$(CONFIG_XEN_NETDEV_BACKEND) := netbk.o +obj-$(CONFIG_XEN_NETDEV_LOOPBACK) += netloop.o -obj-y := netback.o xenbus.o interface.o loopback.o +netbk-y := netback.o xenbus.o interface.o +netloop-y := loopback.o diff -r ead0b7fcad3a -r 271cb04a4f2b linux-2.6-xen-sparse/drivers/xen/netback/loopback.c --- a/linux-2.6-xen-sparse/drivers/xen/netback/loopback.c Tue Feb 28 17:56:00 2006 +++ b/linux-2.6-xen-sparse/drivers/xen/netback/loopback.c Tue Feb 28 17:59:24 2006 @@ -178,6 +178,23 @@ return err; } +static void __init clean_loopback(int i) +{ + struct net_device *dev1, *dev2; + char dev_name[IFNAMSIZ]; + + sprintf(dev_name, "vif0.%d", i); + dev1 = dev_get_by_name(dev_name); + sprintf(dev_name, "veth%d", i); + dev2 = dev_get_by_name(dev_name); + if (dev1 && dev2) { + unregister_netdev(dev2); + unregister_netdev(dev1); + free_netdev(dev2); + free_netdev(dev1); + } +} + static int __init loopback_init(void) { int i, err = 0; @@ -190,6 +207,18 @@ } module_init(loopback_init); + +static void __exit loopback_exit(void) +{ + int i; + + for (i = nloopbacks; i-- > 0; ) + clean_loopback(i); +} + +module_exit(loopback_exit); + +MODULE_LICENSE("Dual BSD/GPL"); /* * Local variables: diff -r ead0b7fcad3a -r 271cb04a4f2b linux-2.6-xen-sparse/drivers/xen/netback/netback.c --- a/linux-2.6-xen-sparse/drivers/xen/netback/netback.c Tue Feb 28 17:56:00 2006 +++ b/linux-2.6-xen-sparse/drivers/xen/netback/netback.c Tue Feb 28 17:59:24 2006 @@ -809,6 +809,8 @@ &netif_be_dbg); #endif + __unsafe(THIS_MODULE); + return 0; } @@ -819,6 +821,8 @@ module_init(netback_init); module_exit(netback_cleanup); + +MODULE_LICENSE("Dual BSD/GPL"); /* * Local variables: _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |