Skip to content

Switch from legacy to vector User-mode Linux networking #39

Open
@b177y

Description

@b177y

Is your feature request related to a problem? Please describe.
The current methods of networking in Netkit are (legacy) tuntap devices and uml_switch daemons. These are now deprecated methods, which at some point will be removed from Linux. This is not an urgent issue as the current kernels should still be fine when these legacy methods are fully removed, but it would be good to look into implementing them.

Describe the solution you'd like
Research into the 'vector' networking methods, test them out, consider how these could be used with netkit.

It looks like legacy tuntap would be replaced with vector tap, which looks like it shouldnt require too much change to the code - it might be worth looking at this along with the multiple tuntap issue as that will also require changing the code around tuntap interfaces. It might be worth considering using setuid binaries / binaries with set capabilities to avoid making the user having to run scripts as root.

The uml_switch daemon would be replaced by BESS (github). This doesn't require any additional privileges (similar to the legacy uml_switch daemon).

Another vector networking method for uml that might be worth looking at is raw socket transport. This can be used to connect to a side of a veth pair, with the other side connected to a bridge with brctl, or a virtual switch for example with OVS. This is probably not the route to go but may be worth looking at?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions