Merge branch 'generic-dispatch' of git://brick.kernel.dk/data/git/linux-2.6-block
[linux-2.6] / 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/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/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/networking.html>.  That site
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/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_MCAST
112         bool "Multicast transport"
113         depends on UML_NET
114         help
115         This Multicast User-Mode Linux network transport allows multiple
116         UMLs (even ones running on different host machines!) to talk to
117         each other over a virtual ethernet network.  However, it requires
118         at least one UML with one of the other transports to act as a
119         bridge if any of them need to be able to talk to their hosts or any
120         other IP machines.
121
122         To use this, your host kernel(s) must support IP Multicasting.
123
124         For more information, see
125         <http://user-mode-linux.sourceforge.net/networking.html>  That site
126         has examples of the UML command line to use to enable Multicast
127         networking, and notes about the security of this approach.
128
129         If you need UMLs on multiple physical hosts to communicate as if
130         they shared an Ethernet network, say Y.  If you need to communicate
131         with other IP machines, make sure you select one of the other
132         transports (possibly in addition to Multicast; they're not
133         exclusive).  If you don't need to network UMLs say N to each of
134         the transports.
135
136 config UML_NET_PCAP
137         bool "pcap transport"
138         depends on UML_NET && EXPERIMENTAL
139         help
140         The pcap transport makes a pcap packet stream on the host look
141         like an ethernet device inside UML.  This is useful for making
142         UML act as a network monitor for the host.  You must have libcap
143         installed in order to build the pcap transport into UML.
144
145         For more information, see
146         <http://user-mode-linux.sourceforge.net/networking.html>  That site
147         has examples of the UML command line to use to enable this option.
148
149         If you intend to use UML as a network monitor for the host, say
150         Y here.  Otherwise, say N.
151
152 config UML_NET_SLIRP
153         bool "SLiRP transport"
154         depends on UML_NET
155         help
156         The SLiRP User-Mode Linux network transport allows a running UML
157         to network by invoking a program that can handle SLIP encapsulated
158         packets.  This is commonly (but not limited to) the application
159         known as SLiRP, a program that can re-socket IP packets back onto
160         the host on which it is run.  Only IP packets are supported,
161         unlike other network transports that can handle all Ethernet
162         frames.  In general, slirp allows the UML the same IP connectivity
163         to the outside world that the host user is permitted, and unlike
164         other transports, SLiRP works without the need of root level
165         privleges, setuid binaries, or SLIP devices on the host.  This
166         also means not every type of connection is possible, but most
167         situations can be accomodated with carefully crafted slirp
168         commands that can be passed along as part of the network device's
169         setup string.  The effect of this transport on the UML is similar
170         that of a host behind a firewall that masquerades all network
171         connections passing through it (but is less secure).
172
173         To use this you should first have slirp compiled somewhere
174         accessible on the host, and have read its documentation.  If you
175         don't need UML networking, say N.
176
177         Startup example: "eth0=slirp,FE:FD:01:02:03:04,/usr/local/bin/slirp"
178
179 endmenu
180