Team driver support in NetworkManager
Summary
Owner
- Name: Pavel Šimerda
- Email: psimerda at redhat.com
- Name: Jiří Pírko
- Email: jpirko at redhat.com
Current status
- Targeted release: Fedora 20
- Last updated: 2013-02-20
- Percentage of completion: 0%
Detailed description
The purpose of the Team driver is to provide a mechanism to team multiple NICs (ports) into one logical one (teamdev) at L2 layer. The process is called "channel bonding", "Ethernet bonding", "channel teaming", "link aggregation", etc.
The teaming kernel driver (see Features/TeamDriver) supersedes bonding but NetworkManager still supports only the legacy bonding driver (see Features/NetworkManagerBonding).
Benefit to Fedora
Team Driver provides userspace driven NIC Teaming. In addition to that there are some new features in Team Driver that are not available in bonding. For example:
- load balancing for LACP
- separate per-port link monitoring setup
- port priorities and stickiness
- IPv6 Neighbor Solicitation/Neighbor Advertisement link monitoring
NetworkManager has the ambition of replacing network scripts in the future and the team driver is already supported there. Therefore this is more of a must than a benefit.
Scope
- NetworkManager – core, API, CLI, keyfile and ifcfg configuration
- nm-connection-editor / gnome-control-center basic support
How to test
Set up teaming through keyfile, ifcfg file, nmcli or GUI, use 'ip' command to check the kernel configuration and test that the teaming device can be used for network communication.
Ensure that a bond interface created by libvirt/netcf or the system initscripts is recognized by NetworkManager but not touched by it until either 'nmcli' or the network applet is used to change connections or deactivate slave interfaces.
User experience
Basic GUI and CLI interface will be available. Users will see bond interfaces in network indicators and be able to inspect their status through the applets or the command-line tools.
Dependencies
Dependencies are all already available. Conflicts with other configuration tools will be resolved the same way as for Features/NetworkManagerBridging and Features/NetworkManagerBonding, meaning that team interfaces created by other tools will be ignored by NetworkManager.