Replacing a legacy uml-switch with bess

Joshua Hawking joshuahawking1 at gmail.com
Thu Jan 7 07:31:16 EST 2021


Hi everyone,

I currently maintain a project called Netkit which facilitates network
simulation using UML machines. This project is quite old and we've been
working on upgrading it to a modern codebase.

Netkit relies on using uml_net for communication between the machines.
It uses the legacy uml_switches to create hubs that connect to the
machine, using the old ethX command line parameters. For example:

/home/josh/netkit-kernel
--eth0=daemon,,,/home/josh/.netkit/vhub_Internet.cnct

where the vhub_Internet.cnct is the uml_switch socket. We're looking to
upgrade this to use the new vector networking to utilize the better
performance and remove legacy code that could break on a kernel update.

I've been looking at the linux kernel documentation that discusses using
the Bess switch software to provide networking between UML machines.
(https://github.com/torvalds/linux/blob/master/Documentation/virt/uml/user_mode_linux_howto_v2.rst#bess-socket-transport)

However, I can't find any good examples of using Bess with UML and was
wondering whether anyone on the mailing list has any advice/examples.

I noted that Anton had submitted a PR to Bess to improve UML support and
I was wondering whether this means that the build without this patch
would not work with UML at all.

https://github.com/NetSys/bess/pull/1022

Hopefully someone may be able to point me in the right direction on
handling uml_switch removal!

Thanks,

Josh





More information about the linux-um mailing list