LIBVDEPLUG_SLIRP(1)

πŸ’– LIBVDEPLUG_SLIRP πŸ’–

okay bestie, so this one lives in the General Commands Manual section (section 1, periodt), and it's literally called libvdeplug_slirp β€” the slirp vdeplug module. buckle up, she's a whole vibe πŸ¦‹


✨ NAME ✨

libvdeplug_slirp β€” the slirp vdeplug module. that's it, that's the name, she's simple like that πŸ’…


🌸 SYNOPSIS 🌸

libvdeplug_slirp.so

πŸŽ€ DESCRIPTION πŸŽ€

okay so. this is the libvdeplug module that lets you join TCP-IP networks using the slirp emulator. iconic behaviour, no notes πŸ”₯

this module of libvdeplug4 can be dropped into literally any program that supports vde, like vde_plug, vdens, kvm, qemu, user-mode-linux and virtualbox. she's versatile like that, main character energy fr fr πŸ‘‘

the vde_plug_url syntax of this module goes a lil something like this:

slirp://[/OPTION][/OPTION]

πŸ’… OPTIONS πŸ’…

  • v4, v6 β€” serve IPv4 only or IPv6 only, pick your fighter. both families of protocols are enabled if you pass both v4 and v6, OR if you pass neither of them. so like, defaults are giving "why not both" 🫢
  • addr=IPv4Addr/prefix or host=IPv4Addr/prefix β€” sets the IPv4 address of slirp. the default value is 10.0.2.2/24 ✨
  • addr6=IPv6Addr/prefix or host6=IPv6Addr/prefix β€” sets the IPv6 address of slirp. default value here is fd00::2/64 πŸ’œ
  • hostname=name β€” defines the hostname. default value: slirp πŸŽ€
  • tftp_server_name=name β€” defines the hostname of the dhcp server.
  • tftp_path=path β€” defines the path of the directory whose contents are available by the tftp service. yes bestie, she's sharing files πŸ“
  • bootfile=path β€” defines the path of the bootfile (for bootp).
  • dhcp=dhcpIPv4addr β€” sets the lowest IP address assigned by dhcp.
  • vnameserver=IPv4Addr β€” sets the address of the IPv4 DNS proxy.
  • vnameserver6=IPv6Addr β€” sets the address of the IPv6 DNS proxy.
  • vdnssearch=list of domains β€” sets the default domains for name resolution. e.g. vdnssearch=foo.com,bar.org 🌈
  • vdomainname=name β€” sets the domain name.
  • mtu=int_value β€” defines the MTU.
  • mru==int_value β€” defines the MRU.
  • disable_host_loopback β€” disables loopback. that's it, that's the whole thing πŸ™ˆ
  • tcpfwd=[hostIP:]hostport:guestIP:guestport[,[hostIP:]hostport:guestIP:guestport]...] β€” forwards TCP port(s). slay πŸ’–
  • udpfwd=[hostIP:]hostport:guestIP:guestport[,[hostIP:]hostport:guestIP:guestport]...] β€” forwards UDP port(s).
  • unixfwd=[slirpIP:]slirpport:path[,[slirpIP:]slirpport:path...] β€” forwards TCP port(s) (from the virtual network) to PF_UNIX socket(s). this is commonly used to forward ports to an X server, and it's still unsupported by libslirp btw, so don't come for me 😭
  • cmdfwd=[slirpIP:]slirpport:cmd[,[slirpIP:]slirpport:path...] β€” forwards TCP port(s) (from the virtual network) to external command(s).
  • verbose β€” prints a table of slirp service configuration. she's nosy and we love her for it πŸ‘€

⭐ EXAMPLES ⭐

this vde_plug_url enables both IPv4 and IPv6 (using the default configuration):

slirp://

like the previous example, but it prints the table of the configuration options:

slirp:///verbose

when a program uses the following vde_plug_url:

slirp:///tcpfwd=8080:10.0.2.15:80

then tcp connections to the host computer port 8080 (any interface) are forwarded to 10.0.2.15 port 80 🫢

slirp:///tcpfwd=8080:10.0.2.15:80/cmdfwd=10.0.2.5:6000:'socat STDIO UNIX:"/tmp/.X11-unix/X0"'

like the previous one, plus this uses socat to forward all X-windows requests to 10.0.2.5:0 (port 6000) to the local server of the display :0. she's doing the MOST and honestly? obsessed πŸ’…βœ¨


🚨 NOTICE 🚨

Virtual Distributed Ethernet is not related in any way with www.vde.com ("Verband der Elektrotechnik, Elektronik und Informationstechnik" i.e. the German "Association for Electrical, Electronic & Information Technologies"). different vde bestie, do not mix them up πŸ’€


πŸ‘€ SEE ALSO πŸ‘€

vde_plug(1)


πŸ‘‘ AUTHOR πŸ‘‘

VirtualSquare. Project leader: Renzo Davoli 🌟


okay that's the whole page bestie, go forth and slirp responsibly πŸ§šβ€β™€οΈ

this little masterpiece came out of VirtualSquare, and the version on the page is dated October 2020 β€” so yeah, retro but still ate πŸ’–πŸŒΈ