Skip to content

[teamd]: different portchannels configured with same LACP key #4009

@mkovnir

Description

@mkovnir

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:

  1. Build 2 (or more) links between 2 switches.
  2. On switchA configure links to belong to one portchannel
  3. 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.

LACP_key

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 ```


Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions