VDE_PLUG(1)
π vde_plug β the manual, but make it make sense π
okok so you're reading vde_plug(1) from the General Commands Manual and honestly? iconic choice. sit down, bestie, we're gonna get you fluent in virtual ethernet cables π«Ά
β¨ NAME β¨
vde_plug β Virtual Distributed Ethernet plug. and the way that two plugs make a whole vde cable? that's the whole gig. literally just a plug, but make it networking π
πΈ SYNOPSIS πΈ
vde_plug [ -p portnum ] [ -g group ] [ -m octal-mode ] [ socketdir ]
that's it. that's the whole vibe. look at those optional flags chilling in brackets π
π¦ DESCRIPTION π¦
okay so picture this: a vde_plug is a plug that you connect into a VDE switch. super simple concept, right? here's the deal though β all the data that gets caught by the plug is written out to its stdout, and everything coming in from stdin gets injected into the switch. so it's basically a two-way door, no cap πͺβ¨
this tool was designed to be used together with dpipe(1) to interconnect a second vde_plug to another switch β so the two of them work as a virtual ethernet crossed cable between the two switches. crossed cable! between switches! we love a networking moment π
π the classic example
dpipe vde_plug = vde_plug /tmp/vde2.ctl
this one connects two local switches. the former is using the standard control socket /tmp/vde.ctl while the latter is using /tmp/vde2.ctl. two switches, one command, slay π₯
π§ the remote example
dpipe vde_plug = ssh remote.machine.org vde_plug
this connects two remote switches. and here's the tea: if the two vde_switches run as daemon and they're connected to tap interfaces, a level 2 encrypted tunnel is established. encrypted tunnel!! we're thriving ππ
π the login-shell example
vde_plug can also be established as a login shell for users. the following command works exactly like the previous example:
dpipe vde_plug = ssh vdeuser@remote.machine.org vde_plug
where vdeuser is the user with vde_plug as their standard shell. and because security is not a vibe to skip β all the remote accesses are logged by syslog at the beginning and at the end of each session. β¨
attempt to login without the command vde_plug at the end, or trying to execute something else? blocked, bestie. and the attempt gets logged into syslog. π«π
π OPTIONS π
-pportnum β you can decide which port of the switch to use. when this option isn't specified, the switch assigns the first available unused port (if any). and here's the cool part: you can connect several cables in the same switch port, and in this way all these cables work concurrently. it means that packets can result as duplicate but β and this is the key bit β no ARP table loops are generated. is useful when vde is used for mobility: several physical interfaces can be used at a time during handoffs to prevent hichups in connectivity. π¦-ggroup β group ownership of the communication socket. for security, when more want to share a switch, it's better to use a unix group to own the comm sockets so that the network traffic cannot be sniffed. keep your traffic private, bestie πβ¨-moctal-mode β octalchmod-like permissions for the comm sockets.- socketdir β (this option can also be set as:
-socksocketdir) specify the directory which contains the UNIX socket to be used by local programs for joining the VDE. the default value is"/tmp/vde.ctl", which corresponds to the socket"/tmp/vde.ctl/ctl"(or/var/run/vde.ctlwhen thevde_switchruns as a shared daemon). it's possible for users to redefine their default switch as".vde-2/stdsock"in their home directory. if it exists, this directory (or symbolic link to the actual directory) is used as the default value for the user. π π
β 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"). same letters, completely different entity, don't get it twisted π
π SEE ALSO π
vde_switch(1), vde_plug2tap(1), vdeq(1), dpipe(1). go read those next, iykyk π
π AUTHOR π
VDE is a project by Renzo Davoli <renzo@cs.unibo.it> β thank you for your service π«Ά
and that's the whole page, bestie!! β¨ this doc came to you courtesy of Virtual Distributed Ethernet, dated December 6, 2006 β oldie but a goodie, fr fr ππ· go make some virtual cables π
π¦ where this page comes from
- alpine 3.24: vde2-doc 2.3.3-r7 Β· GPL
- arch rolling: vde2 2.3.3-10 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- nixos 26.05: vde2 2.3.3
- nixpkgs unstable: vde2 2.3.3
- opensuse-leap 16.0: vde2 2.3.2+svn587-160000.2.2 Β· GPL-2.0-only
- opensuse-leap 16.0: vde2 2.3.2+svn587-160000.2.2 Β· GPL-2.0-only
- opensuse-leap 16.0: vde2 2.3.2+svn587-160000.2.2 Β· GPL-2.0-only
- opensuse-leap 16.0: vde2 2.3.2+svn587-160000.2.2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms