Here we are going to discuss about Network Teaming and Link Aggregation. Here Teaming will combine two network interfaces link to provide better performance in redundancy and throughput.

We can link Network Interface Card ( NIC ) together logically thorough Network Teaming method for higher throughput and failover condition.

teamd is the service and linux kernel driver which worked in teaming . In teaming, a runner manage load balancing and active backup . Teamd support runner , which consist of these method  roundrobin, broadcast, activebackup, loadbalancer, lacp.

Check Existing Network Interfaces :

Display the existing available network interfaces . ip link command will be show the existing interface.

# ip link



Add the team interface and Configuring teaming :

In the teaming all the network interaction will be go through the team interface. Which will create by multiple network port interfaces . Here we will create team interface and apply the IPV4  parameters  through nmcli tool utility.

Run the below command will create a team interface connection  .

# nmcli con add type team con-name “connection–name”  ifname  “Interface Name”

In the above command we can also add runner configuration, which is based on JSON format , runner and json can be specifies like below command.

# nmcli con add type team con-name “CONNECTION NAME”  ifname  “INTERFACE NAME”  team.config ‘{runner”:{name”: “OPTION”}}’

Runner having one different option method like broadcast, roundrobin, activebackup, loadbalance, lacp.

Below I have create my team interface with connection name team1  and interface name team1.

# nmcli con add type team con-name team1 ifname team1


If you want to add runner in config , you can pass in option section

# nmcli con add type team con-name team1 ifname team1 config ‘{“runner”:{name”: “ roundrobin”}}’

Assign Static ipv4 attributes on the team interface.

The below command will assign a static ipv4 address to the team0 interface.

#nmcli con mod team1 ipv4.address
#nmcli con mod team1 ipv4.method manual

Here in the team ipv4 assignment the ipv4 address should be assigned before to declearation of manual .


Create and Assign the port interfaces:

Here we are creating each of the port interfaces with below syntax.

# nmcli con add type team-slave con-name CONNECTTION NAME ifname INTERFACE_NAME  master TEAM NAME

Where CONNECTION NAME will be the name to the port, INTERFACE NAME is the name of an existing interface and TEAM NAME will be the connection name of the network team interface.

#nmcli con add type team-slave ifname enp0s8 con-name team1-port master team1
#nmcli con add type team-slave ifname enp0s3 con-name team1-port2 master team1


Down and UP the team and port interfaces.

Here nmcli will also be used to manage team and port interfaces connection with below command.

# nmcli dev dis INTERFACE NAME
# nmcli con up CONNECTION NAME



Display the team interface status.

When the team interface will be up and we can check through below command status of team interfaces.

# teamdctl team1 state
#nmcli con show
#nmcli con show  --active



Check the  local network gateway through network team interface. Use another terminal and ping the local gateway thorugh ping command thorugh the team1 interface.

# ping –I team1


Uses of teamnl and teamdctl command :

Teamnl and teamdctl command is very useful command to check network teams, these command will only work on active teams interfaces.

  • To Show team ports of the team1 interfaces :


# teamnl  team1 ports


  • To check active port of team1 :


# teamnl team0 getoption  activeport


  • To check status of team1 interface :

# teamdctl team1 state

By Sachin G

I am a professional freelance contributor and founder of tech transit. Love to write and lover of education, culture, and community. I have been using it, setting, supporting, and maintaining it since 2009.Linux rocks! Sachin G Follow me on LinkedIn and x formerly twitter