um: adjust current_thread_info() for newer gcc versions
[linux-2.6.git] / arch / um / Kconfig.net
1
2 menu "UML Network Devices"
3         depends on NET
4
5 # UML virtual driver
6 config 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
24 config 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
51 config 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
63 config 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
87 config 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
111 config 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
133 config 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
158 config UML_NET_PCAP
159         bool "pcap transport"
160         depends on UML_NET && EXPERIMENTAL
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
174 config 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
201 endmenu
202