From Fedora Project Wiki

Team driver support in NetworkManager

Summary

Owner

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.

Contingency plan

Ensure NetworkManager only controls bond interface it is told to control via NM_CONTROLLED in ifcfg files. Tools that need teaming would have to continue to use the same tools as before.

Documentation

Documentation will be drafted at Networking/Teaming. A manual page will be automatically generated from the settings source files.

Release notes

Comments and discussions

See Talk:Features/NetworkManagerTeaming