[PATCH 0/2] VDE support as a vector 'transport

Renzo Davoli renzo at cs.unibo.it
Tue Jul 30 06:54:45 PDT 2024


Virtual Distributed Ethernet (VDE) is a project whose main goal is to provide a
highly flexible support for virtual networking [1].

Common usages of VDE include fast prototyping and teaching.
Some Universities use UML and VDE in their courses:
University of Bologna: "Virtual System Design"
University of Modena and Reggio Emilia: "Networking"
University Paris 13: prof.Saiu and Loddo implemented "Marionnet" [6].
(based on UML and VDE).
Denison University Columbus OH, USA (prof Goldwweber), 
Unimercatorum (prof. Davide Berardi)...
and maybe many others I don't remember or I have never heard of.

The support for VDE currently in user-mode linux is quite dated.

I am proposing a new support for VDE as a 'transport' of the vector module.

When vdeplug4[1,2] is installed on the host running UML, vde 'transport' enables several
virtual networking implementations.

A very partial list includes:

linux ... vec0:transport=vde,vnl=tap://tap0
   use tap0
linux ... vec0:transport=vde,vnl=slirp://
   use slirp
linux ... vec0:transport=vde,vnl=vde:///tmp/switch
   connect to a vde switch
scp sshlirp-x86_64 remote.host:/tmp/sshlirp
linux ... vec0:transport=\"vde,vnl=cmd://ssh remote.host //tmp/sshlirp\"
   connect to a remote slirp (instant VPN: convert ssh to VPN, it requires [3])
linux ... vec0:transport=vde,vnl=vxvde://234.0.0.1
   connect to a local area cloud (all the UML nodes using the same multicast address running
   on hosts in the same multicast domain (LAN) will be automagically connected together to a virtual LAN.

The same vnl (virtual network locator) can be used to configure virtual interfaces for
qemu-systems/kvm, virtualbox, vdens (vde namespaces) [4], lxc [5] ... creating
virtual networks of heterogeneous nodes.

This new VDE support for UML does not need to link the libvdeplug library when compiling
UML (it uses a helper process).
When UML using vec0:transport=vde runs on a host where vdeplug4 is not installed, simply
a "no such file or directory" error message is emitted at run time.

	renzo 

[1]: https://github.com/rd235/vdeplug4
[2]: https://wiki.virtualsquare.org/#/tutorials/vdebasics
[3]: https://github.com/virtualsquare/sshlirp
[4]: https://github.com/rd235/vdens
[5]: https://github.com/virtualsquare/vdelxc
[6]: https://marionnet.org/

 Renzo Davoli(2):
	 vector_user: add VDE support
	 user_mode_linux_howto_v2: add VDE vector support in doc

 .../virt/uml/user_mode_linux_howto_v2.rst          | 37 ++++++++++
 arch/um/drivers/vector_user.c                      | 83 ++++++++++++++++++++++
 2 files changed, 120 insertions(+)




More information about the linux-um mailing list