aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/Kconfig
diff options
context:
space:
mode:
authorIan Campbell <Ian.Campbell@citrix.com>2011-03-14 20:06:18 -0400
committerDavid S. Miller <davem@davemloft.net>2011-03-15 22:38:03 -0400
commitf942dc2552b8bfdee607be867b12a8971bb9cd85 (patch)
treeba7d264f94d9e6938ef4e36f93e179162e12cf20 /drivers/net/Kconfig
parente0da2481fc00e031c04480b9dc88fae9eff39a19 (diff)
xen network backend driver
netback is the host side counterpart to the frontend driver in drivers/net/xen-netfront.c. The PV protocol is also implemented by frontend drivers in other OSes too, such as the BSDs and even Windows. The patch is based on the driver from the xen.git pvops kernel tree but has been put through the checkpatch.pl wringer plus several manual cleanup passes and review iterations. The driver has been moved from drivers/xen/netback to drivers/net/xen-netback. One major change from xen.git is that the guest transmit path (i.e. what looks like receive to netback) has been significantly reworked to remove the dependency on the out of tree PageForeign page flag (a core kernel patch which enables a per page destructor callback on the final put_page). This page flag was used in order to implement a grant map based transmit path (where guest pages are mapped directly into SKB frags). Instead this version of netback uses grant copy operations into regular memory belonging to the backend domain. Reinstating the grant map functionality is something which I would like to revisit in the future. Note that this driver depends on 2e820f58f7ad "xen/irq: implement bind_interdomain_evtchn_to_irqhandler for backend drivers" which is in linux next via the "xen-two" tree and is intended for the 2.6.39 merge window: git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/backends this branch has only that single commit since 2.6.38-rc2 and is safe for cross merging into the net branch. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/Kconfig')
-rw-r--r--drivers/net/Kconfig38
1 files changed, 32 insertions, 6 deletions
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 46e1b1a28b80..797d68196728 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -2953,12 +2953,38 @@ config XEN_NETDEV_FRONTEND
2953 select XEN_XENBUS_FRONTEND 2953 select XEN_XENBUS_FRONTEND
2954 default y 2954 default y
2955 help 2955 help
2956 The network device frontend driver allows the kernel to 2956 This driver provides support for Xen paravirtual network
2957 access network devices exported exported by a virtual 2957 devices exported by a Xen network driver domain (often
2958 machine containing a physical network device driver. The 2958 domain 0).
2959 frontend driver is intended for unprivileged guest domains; 2959
2960 if you are compiling a kernel for a Xen guest, you almost 2960 The corresponding Linux backend driver is enabled by the
2961 certainly want to enable this. 2961 CONFIG_XEN_NETDEV_BACKEND option.
2962
2963 If you are compiling a kernel for use as Xen guest, you
2964 should say Y here. To compile this driver as a module, chose
2965 M here: the module will be called xen-netfront.
2966
2967config XEN_NETDEV_BACKEND
2968 tristate "Xen backend network device"
2969 depends on XEN_BACKEND
2970 help
2971 This driver allows the kernel to act as a Xen network driver
2972 domain which exports paravirtual network devices to other
2973 Xen domains. These devices can be accessed by any operating
2974 system that implements a compatible front end.
2975
2976 The corresponding Linux frontend driver is enabled by the
2977 CONFIG_XEN_NETDEV_FRONTEND configuration option.
2978
2979 The backend driver presents a standard network device
2980 endpoint for each paravirtual network device to the driver
2981 domain network stack. These can then be bridged or routed
2982 etc in order to provide full network connectivity.
2983
2984 If you are compiling a kernel to run in a Xen network driver
2985 domain (often this is domain 0) you should say Y here. To
2986 compile this driver as a module, chose M here: the module
2987 will be called xen-netback.
2962 2988
2963config ISERIES_VETH 2989config ISERIES_VETH
2964 tristate "iSeries Virtual Ethernet driver support" 2990 tristate "iSeries Virtual Ethernet driver support"