port bonding LACP information needed

212 views
Skip to first unread message

Johnny Wong

unread,
Dec 19, 2021, 5:39:40 PM12/19/21
to sonicproject
My understanding is that SONiC port over teamd for network bonding.  But I am unable to find what algorithm it is using and if it is possible to change the load balancing algorithm.  

Can anyone point me to the right direction? 

Gord Chen

unread,
Dec 20, 2021, 10:50:39 PM12/20/21
to sonicproject
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-configure_teamd_runners#sec-Configure_the_loadbalance_Runner
There are different types of runners and load balance is also included

Currently SONiC config would only support lacp runner. If you would like to use other type of runner, you can enter the team container and use 
teamdctl to launch a new portchannel

Regards,
Gord

rotar...@gmail.com 在 2021年12月20日 星期一上午6:39:40 [UTC+8] 的信中寫道:
Message has been deleted

Johnny Wong

unread,
Dec 21, 2021, 10:36:16 AM12/21/21
to sonicproject

would it be beneficial for the community to request a feature where the administrator be able to change teamd in a more configurable/automated way?

I am running into an issue (or limitation) where I need to bond two links possibly three links in VMWare environment.  But it only support 802.3ad in STATIC mode.

Johnny Wong

unread,
Aug 30, 2025, 8:12:45 PM (7 days ago) Aug 30
to sonicproject
Like to revisit this... as I have found out that SONiC only does L2 and L3 and not L4.  But I couldn't figure out how to add L4 to the configuration

admin@sonic:~$ teamdctl PortChannel01 config dump actual
{
    "device": "PortChannel01",
    "hwaddr": "00:e0:ec:8a:1a:bb",
    "ports": {
        "Ethernet104": {
            "lacp_key": 101,
            "link_watch": {
                "name": "ethtool"
            }
        },
        "Ethernet108": {
            "lacp_key": 101,
            "link_watch": {
                "name": "ethtool"
            }
        }
    },
    "runner": {
        "active": true,
        "min_ports": 1,
        "name": "lacp",
        "tx_hash": [
            "eth",
            "ipv4",
            "ipv6"

        ]
    }
}


teamd   docker
---------------------------
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.3  37080 31684 pts/0    Ss+  Aug30   0:27 /usr/bin/python3 /usr/local/bin/supervisord
root          14  0.0  0.4 130816 32552 pts/0    Sl   Aug30   0:05 python3 /usr/bin/supervisor-proc-exit-listener --container-name teamd
root          20  0.0  0.0 221828  6036 pts/0    Sl   Aug30   0:08 /usr/sbin/rsyslogd -n -iNONE
root          24  0.0  0.0  88588  7984 pts/0    Sl   Aug30   0:05 /usr/bin/teammgrd
root          25  0.1  0.1  92040  8436 pts/0    Sl   Aug30   1:33 /usr/bin/tlm_teamd
root          31  0.0  0.0  15284  3124 ?        S    Aug30   0:43 /usr/bin/teamd -r -t PortChannel01 -c {"device":"PortChannel01","hwaddr":"00:e0:ec:8a:1a:bb","runner":{"active":true,"name":"lacp","min_ports":1}} -L /var/warmboot/teamd/ -g -d
root          39  0.0  0.0  15280  3228 ?        S    Aug30   0:45 /usr/bin/teamd -r -t PortChannel6 -c {"device":"PortChannel6","hwaddr":"00:e0:ec:8a:1a:bb","runner":{"active":true,"name":"lacp","min_ports":1}} -L /var/warmboot/teamd/ -g -d
root          44  0.0  0.0  88420  7716 pts/0    Sl   Aug30   0:05 /usr/bin/teamsyncd


If someone can tell me where to find the section to add tcp, udp
Reply all
Reply to author
Forward
0 new messages