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