1
2menu "UML Network Devices"
3	depends on NET
4
5# UML virtual driver
6config UML_NET
7	bool "Virtual network device"
8	help
9        While the User-Mode port cannot directly talk to any physical
10        hardware devices, this choice and the following transport options
11        provide one or more virtual network devices through which the UML
12        kernels can talk to each other, the host, and with the host's help,
13        machines on the outside world.
14
15        For more information, including explanations of the networking and
16        sample configurations, see
17        <http://user-mode-linux.sourceforge.net/old/networking.html>.
18
19        If you'd like to be able to enable networking in the User-Mode
20        linux environment, say Y; otherwise say N.  Note that you must
21        enable at least one of the following transport options to actually
22        make use of UML networking.
23
24config UML_NET_ETHERTAP
25	bool "Ethertap transport"
26	depends on UML_NET
27	help
28        The Ethertap User-Mode Linux network transport allows a single
29        running UML to exchange packets with its host over one of the
30        host's Ethertap devices, such as /dev/tap0.  Additional running
31        UMLs can use additional Ethertap devices, one per running UML.
32        While the UML believes it's on a (multi-device, broadcast) virtual
33        Ethernet network, it's in fact communicating over a point-to-point
34        link with the host.
35
36        To use this, your host kernel must have support for Ethertap
37        devices.  Also, if your host kernel is 2.4.x, it must have
38        CONFIG_NETLINK_DEV configured as Y or M.
39
40        For more information, see
41        <http://user-mode-linux.sourceforge.net/old/networking.html>  That site
42        has examples of the UML command line to use to enable Ethertap
43        networking.
44
45        If you'd like to set up an IP network with the host and/or the
46        outside world, say Y to this, the Daemon Transport and/or the
47        Slip Transport.  You'll need at least one of them, but may choose
48        more than one without conflict.  If you don't need UML networking,
49        say N.
50
51config UML_NET_TUNTAP
52	bool "TUN/TAP transport"
53	depends on UML_NET
54	help
55        The UML TUN/TAP network transport allows a UML instance to exchange
56        packets with the host over a TUN/TAP device.  This option will only
57        work with a 2.4 host, unless you've applied the TUN/TAP patch to
58        your 2.2 host kernel.
59
60        To use this transport, your host kernel must have support for TUN/TAP
61        devices, either built-in or as a module.
62
63config UML_NET_SLIP
64	bool "SLIP transport"
65	depends on UML_NET
66	help
67        The slip User-Mode Linux network transport allows a running UML to
68        network with its host over a point-to-point link.  Unlike Ethertap,
69        which can carry any Ethernet frame (and hence even non-IP packets),
70        the slip transport can only carry IP packets.
71
72        To use this, your host must support slip devices.
73
74        For more information, see
75        <http://user-mode-linux.sourceforge.net/old/networking.html>.
76        has examples of the UML command line to use to enable slip
77        networking, and details of a few quirks with it.
78
79        The Ethertap Transport is preferred over slip because of its
80        limitations.  If you prefer slip, however, say Y here.  Otherwise
81        choose the Multicast transport (to network multiple UMLs on
82        multiple hosts), Ethertap (to network with the host and the
83        outside world), and/or the Daemon transport (to network multiple
84        UMLs on a single host).  You may choose more than one without
85        conflict.  If you don't need UML networking, say N.
86
87config UML_NET_DAEMON
88	bool "Daemon transport"
89	depends on UML_NET
90	help
91        This User-Mode Linux network transport allows one or more running
92        UMLs on a single host to communicate with each other, but not to
93        the host.
94
95        To use this form of networking, you'll need to run the UML
96        networking daemon on the host.
97
98        For more information, see
99        <http://user-mode-linux.sourceforge.net/old/networking.html>  That site
100        has examples of the UML command line to use to enable Daemon
101        networking.
102
103        If you'd like to set up a network with other UMLs on a single host,
104        say Y.  If you need a network between UMLs on multiple physical
105        hosts, choose the Multicast Transport.  To set up a network with
106        the host and/or other IP machines, say Y to the Ethertap or Slip
107        transports.  You'll need at least one of them, but may choose
108        more than one without conflict.  If you don't need UML networking,
109        say N.
110
111config UML_NET_VDE
112	bool "VDE transport"
113	depends on UML_NET
114	help
115	This User-Mode Linux network transport allows one or more running
116	UMLs on a single host to communicate with each other and also
117	with the rest of the world using Virtual Distributed Ethernet,
118	an improved fork of uml_switch.
119
120	You must have libvdeplug installed in order to build the vde
121	transport into UML.
122
123	To use this form of networking, you will need to run vde_switch
124	on the host.
125
126	For more information, see <http://wiki.virtualsquare.org/>
127	That site has a good overview of what VDE is and also examples
128	of the UML command line to use to enable VDE networking.
129
130	If you need UML networking with VDE,
131	say Y.
132
133config UML_NET_MCAST
134	bool "Multicast transport"
135	depends on UML_NET
136	help
137        This Multicast User-Mode Linux network transport allows multiple
138        UMLs (even ones running on different host machines!) to talk to
139        each other over a virtual ethernet network.  However, it requires
140        at least one UML with one of the other transports to act as a
141        bridge if any of them need to be able to talk to their hosts or any
142        other IP machines.
143
144        To use this, your host kernel(s) must support IP Multicasting.
145
146        For more information, see
147        <http://user-mode-linux.sourceforge.net/old/networking.html>  That site
148        has examples of the UML command line to use to enable Multicast
149        networking, and notes about the security of this approach.
150
151        If you need UMLs on multiple physical hosts to communicate as if
152        they shared an Ethernet network, say Y.  If you need to communicate
153        with other IP machines, make sure you select one of the other
154        transports (possibly in addition to Multicast; they're not
155        exclusive).  If you don't need to network UMLs say N to each of
156        the transports.
157
158config UML_NET_PCAP
159	bool "pcap transport"
160	depends on UML_NET
161	help
162	The pcap transport makes a pcap packet stream on the host look
163	like an ethernet device inside UML.  This is useful for making
164	UML act as a network monitor for the host.  You must have libcap
165	installed in order to build the pcap transport into UML.
166
167        For more information, see
168        <http://user-mode-linux.sourceforge.net/old/networking.html>  That site
169        has examples of the UML command line to use to enable this option.
170
171	If you intend to use UML as a network monitor for the host, say
172	Y here.  Otherwise, say N.
173
174config UML_NET_SLIRP
175	bool "SLiRP transport"
176	depends on UML_NET
177	help
178        The SLiRP User-Mode Linux network transport allows a running UML
179        to network by invoking a program that can handle SLIP encapsulated
180        packets.  This is commonly (but not limited to) the application
181        known as SLiRP, a program that can re-socket IP packets back onto
182        the host on which it is run.  Only IP packets are supported,
183        unlike other network transports that can handle all Ethernet
184        frames.  In general, slirp allows the UML the same IP connectivity
185        to the outside world that the host user is permitted, and unlike
186        other transports, SLiRP works without the need of root level
187        privleges, setuid binaries, or SLIP devices on the host.  This
188        also means not every type of connection is possible, but most
189        situations can be accommodated with carefully crafted slirp
190        commands that can be passed along as part of the network device's
191        setup string.  The effect of this transport on the UML is similar
192        that of a host behind a firewall that masquerades all network
193        connections passing through it (but is less secure).
194
195        To use this you should first have slirp compiled somewhere
196        accessible on the host, and have read its documentation.  If you
197        don't need UML networking, say N.
198
199        Startup example: "eth0=slirp,FE:FD:01:02:03:04,/usr/local/bin/slirp"
200
201endmenu
202
203