Description
According to 6.3.3 of IEEE 802.1AX-2014:
An Aggregator also shall be assigned an integer identifier that is used by Link Aggregation Control to uniquely identify the Aggregator within the System.
SONIC system starts teamd (separate process for each portchannel) without specifying LACP key, and default value ("0") is used for different portchannels. This lead to situation when neighboring device is not able to differentiate links belonging to different portchannels.
Steps to reproduce the issue:
- Build 2 (or more) links between 2 switches.
- On switchA configure links to belong to one portchannel
- On switchB configure links to belong to different portchannels
Describe the results you expected:
SwitchA aggregates both link to one portchannel, switchB aggregates links to different portchannels.
Describe the results you expected:
System should assign locally unique integer as LACP key for different portchannels and described above assymetric topology will not be possible.

Output of show version:
SONiC Software Version: SONiC.HEAD.129-0c9040de
Distribution: Debian 9.11
Kernel: 4.9.0-9-2-amd64
Build commit: 0c9040de
Build date: Thu Nov 21 12:50:41 UTC 2019
Built by: johnar@jenkins-worker-4
Platform: x86_64-mlnx_msn2700-r0
HwSKU: Mellanox-SN2700
ASIC: mellanox
Serial Number: MT1829X20804
Uptime: 11:43:35 up 2:24, 1 user, load average: 3.41, 3.30, 3.41
Docker images:
REPOSITORY TAG IMAGE ID SIZE
docker-syncd-mlnx HEAD.129-0c9040de 4f3b126274c2 373MB
docker-syncd-mlnx latest 4f3b126274c2 373MB
docker-fpm-frr HEAD.129-0c9040de 7345e105bf26 321MB
docker-fpm-frr latest 7345e105bf26 321MB
docker-sflow HEAD.129-0c9040de f240b81ea842 305MB
docker-sflow latest f240b81ea842 305MB
docker-lldp-sv2 HEAD.129-0c9040de f1b94915bf13 299MB
docker-lldp-sv2 latest f1b94915bf13 299MB
docker-dhcp-relay HEAD.129-0c9040de 7ba3cee353b6 289MB
docker-dhcp-relay latest 7ba3cee353b6 289MB
docker-database HEAD.129-0c9040de c5c92210277c 281MB
docker-database latest c5c92210277c 281MB
docker-snmp-sv2 HEAD.129-0c9040de ad01f8a547b1 335MB
docker-snmp-sv2 latest ad01f8a547b1 335MB
docker-orchagent HEAD.129-0c9040de 7fc54899dc92 322MB
docker-orchagent latest 7fc54899dc92 322MB
docker-teamd HEAD.129-0c9040de c0316e26bbbd 304MB
docker-teamd latest c0316e26bbbd 304MB
docker-sonic-telemetry HEAD.129-0c9040de 43df42f49e91 304MB
docker-sonic-telemetry latest 43df42f49e91 304MB
docker-router-advertiser HEAD.129-0c9040de b0aff9280842 281MB
docker-router-advertiser latest b0aff9280842 281MB
docker-platform-monitor HEAD.129-0c9040de 10013f82e4d7 565MB
docker-platform-monitor latest 10013f82e4d7 565MB ```
Description
According to 6.3.3 of IEEE 802.1AX-2014:
An Aggregator also shall be assigned an integer identifier that is used by Link Aggregation Control to uniquely identify the Aggregator within the System.
SONIC system starts teamd (separate process for each portchannel) without specifying LACP key, and default value ("0") is used for different portchannels. This lead to situation when neighboring device is not able to differentiate links belonging to different portchannels.
Steps to reproduce the issue:
Describe the results you expected:
SwitchA aggregates both link to one portchannel, switchB aggregates links to different portchannels.
Describe the results you expected:
System should assign locally unique integer as LACP key for different portchannels and described above assymetric topology will not be possible.
Output of
show version: