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