sonic-utilities icon indicating copy to clipboard operation
sonic-utilities copied to clipboard

[Sonic-utilities] Static lag support rebase master

Open kannansel opened this issue 1 year ago • 1 comments

What I did

   Why ?
    Static lag support changes in SWSS module
    sonic-net/SONiC#1039

How I did it

    Patch explanation
    1. static lag supported with option roundrobin.
    2. config and show command support
    3. test cases -> updated

CLI config
config portchannel add PortChannel04 --static true

root@sonic:~# show inter port
Flags: A - active, I - inactive, Up - up, Dw - Down, N/A - not
available,
       S - selected, D - deselected, * - not synced
  No.  Team Dev       Protocol     Ports
-----  -------------  -----------
-----------------------------------------
   01  PortChannel01  LACP(A)(Up)  Ethernet16(S)
   02  PortChannel02  NONE(A)(Up)  Ethernet48(S) Ethernet64(S)
Ethernet32(S)
root@sonic:~#

How to verify it

    UT:-
            Test cases
    1       Create static port channel with static flag     pass    pass
    2       verify static has option flag true or false     pass    pass
    3       Add static member see the portchannel is up     pass    pass
    4       verify teamd is created with round-robin option by default
    pass    pass
    5       Remove last portchannel member check port channel down  pass
    pass
    6       Remove portchannel member check port channel still up   pass
    pass
    7       verify teamdctl config dump     pass    pass
    8       verify teamdctl state dump      pass    pass
    9       shutdown the portchannel check the kernel state pass    pass
    10      no shutdown the portchannel check the kernel state      pass
    pass
    11      "Check the show output matches the review comment
    root@sonic:~# show inter port
    Flags: A - active, I - inactive, Up - up, Dw - Down, N/A - not
    available,
           S - selected, D - deselected, * - not synced
      No.  Team Dev       Protocol     Ports
    -----  -------------  -----------
    -----------------------------------------
       01  PortChannel01  LACP(A)(Up)  Ethernet16(S)
       02  PortChannel02  NONE(A)(Up)  Ethernet48(S) Ethernet64(S)
    Ethernet32(S)
    root@sonic:~#
    12      teamnl is set to roundrobin     pass    pass
    13      save and reload and verify portchannel is up    pass    pass
    14      "docker restart teamd
    teamd stopped
    swss stopped
    syncd stopped

    swss started
    syncd started
    teamd started"  pass    pass
    syncd started
    teamd started"  pass    pass
    15      warm-reboot fails even without any port channel config  fail
    16      verify teamd settles doesnt hog cpu with 100% cpu usage pass
    17      "trying with static port channel config on non supported
    branches
    port channel will be configured as LACP."               pass

    Not Supported Options
    1. Min links and
    2. fall back are not supported

Previous command output (if the output of a command-line utility has changed)

root@sonic:~# show inter port
Flags: A - active, I - inactive, Up - up, Dw - Down, N/A - not
available,
       S - selected, D - deselected, * - not synced
  No.  Team Dev       Protocol     Ports
-----  -------------  -----------
-----------------------------------------
   01  PortChannel01  LACP(A)(Up)  Ethernet16(S)

New command output (if the output of a command-line utility has changed)

root@sonic:~# show inter port
Flags: A - active, I - inactive, Up - up, Dw - Down, N/A - not
available,
       S - selected, D - deselected, * - not synced
  No.  Team Dev       Protocol     Ports
-----  -------------  -----------
-----------------------------------------
   01  PortChannel01  LACP(A)(Up)  Ethernet16(S)
   02  PortChannel02  NONE(A)(Up)  Ethernet48(S) Ethernet64(S)
Ethernet32(S)

kannansel avatar Mar 25 '24 18:03 kannansel

@kannansel Can you please resolve the conflicts?

dgsudharsan avatar Apr 10 '24 00:04 dgsudharsan