Owner

Current status

Detailed Description

Bridging is about connecting two or more network devices to make network traffic automatically go from the one to the other. The network devices can be physical or virtual.

Bridging is a commonly used technology to connect VMs to the outside world: create a tap device on the host, create a bridge between the physical nic and the tap, let the vm use the tap device as its nic. So far, this setup is handled by libvirt. This is the main driving use case for this feature.

Bonding is about glueing two network connections together and treat them as a single connection with bigger bandwidth. This happens at the ethernet level and thus only works if the two connections are to the same network. Bonding has uses mainly on servers, and is more of a byproduct in this feature, since the infrastructure for bridging will likely also support bonding.

Benefit to Fedora

NetworkManager becomes a more central point for network configuration, giving a more unified user experience. Virtualization on Fedora will be easier to set up.

Scope

How To Test

Configure a bridging interface and its slaves using GUI or CLI. Check using ip link, brctl or other tool. Test that the bridging actually works.

User Experience

GUI and CLI tools.

Dependencies

NetworkManager must only use bridging when configured so and it must only take over bridge configuration if requested so by administrator or by another tool. Therefore libvirt and other tools that rely on bridging can be ported to the new functionality at any time.

Contingency Plan

Don't support bridging in NetworkManager, virtualization will continue to rely on libvirt for this purpose.