Skip to content

[crm]: Fixed topology check and interface selection for test_crm_fdb_entry#2655

Merged
bingwang-ms merged 2 commits intosonic-net:masterfrom
monipko:fix_crm_fdb
Dec 23, 2020
Merged

[crm]: Fixed topology check and interface selection for test_crm_fdb_entry#2655
bingwang-ms merged 2 commits intosonic-net:masterfrom
monipko:fix_crm_fdb

Conversation

@monipko
Copy link
Contributor

@monipko monipko commented Dec 11, 2020

Signed-off-by: Mykhailo Onipko [email protected]

Description of PR

Summary:
Fixes #
Removed hardcoded value "Ethernet0" and replaced by automatic selection depends on topo

Type of change

  • Bug fix
  • Testbed and Framework(new/improvement)
  • Test case(new/improvement)

Approach

What is the motivation for this PR?

To add possibility run CRM test on t0-64 topo

How did you do it?

How did you verify/test it?

run test_crm_fdb_entry on t0-64

Any platform specific information?

Supported testbed topology if it's a new test case?

Documentation

Signed-off-by: Mykhailo Onipko <[email protected]>
@bingwang-ms
Copy link
Collaborator

I'm not clear why this case can't run on topo without disabled interface. Could you help to clarify? Thanks!

@monipko
Copy link
Contributor Author

monipko commented Dec 14, 2020

I'm not clear why this case can't run on topo without disabled interface. Could you help to clarify? Thanks!

@bingwang-ms ,
Current revision of test_crm_fdb_entry limited by t0* topologies only.
As per test scenario - test creates new vlan and adds 1 port to it.
If test will try to add any port(not disabled one) in use(vlan or portchannel member) to the new created vlan it will cause orchagent crash(expected).

@bingwang-ms
Copy link
Collaborator

I'm not clear why this case can't run on topo without disabled interface. Could you help to clarify? Thanks!

@bingwang-ms ,
Current revision of test_crm_fdb_entry limited by t0* topologies only.
As per test scenario - test creates new vlan and adds 1 port to it.
If test will try to add any port(not disabled one) in use(vlan or portchannel member) to the new created vlan it will cause orchagent crash(expected).

Thanks. But things look different on my DUT. The test case will always adds Ethernet0 into a nrewly created vlan2, and the Ethernet0 is not disabled on my device.

admin@str-7260cx3-acs-2:~$ show int status
      Interface            Lanes    Speed    MTU    FEC         Alias             Vlan    Oper    Admin             Type    Asym PFC
---------------  ---------------  -------  -----  -----  ------------  ---------------  ------  -------  ---------------  ----------
      Ethernet0            77,78      50G   9100    N/A   Ethernet1/1            trunk      up       up  QSFP28 or later         off
......

And I saw no crash when adding Ethernet0 into vlan2.

admin@str-7260cx3-acs-2:~$ sudo config vlan add 2
admin@str-7260cx3-acs-2:~$ sudo config vlan member add 2 Ethernet0
admin@str-7260cx3-acs-2:~$ show vlan brief
+-----------+-----------------+-------------+----------------+-----------------------+
|   VLAN ID | IP Address      | Ports       | Port Tagging   | DHCP Helper Address   |
+===========+=================+=============+================+=======================+
|         2 |                 | Ethernet0   | tagged         |                       |
+-----------+-----------------+-------------+----------------+-----------------------+
|      1000 | 192.168.0.1/21  | Ethernet0   | untagged       | 192.0.0.1             |

So, is it an issue only on certain platform? Thanks

@monipko
Copy link
Contributor Author

monipko commented Dec 15, 2020

Thanks. But things look different on my DUT. The test case will always adds Ethernet0 into a nrewly created vlan2, and the Ethernet0 is not disabled on my device.
And I saw no crash when adding Ethernet0 into vlan2.
So, is it an issue only on certain platform? Thanks

Test case's author uses not configured (not participating in the topology) port to avoid possible influence of any traffic on CRM counters.

"Disabled" interface means disabled (not in use) by topology configuration and not disabled on the DUT.
Please compare topo_t0.yml and topo_t0-64.yml especially disabled_host_interfaces sections.

Then if you will try to add Ethernet0(PortChannel0001 member) into a newly created vlan2 on your DUT with applied t0-64 you will get expected crash: orchagent crash when config a PortChannel add into vlan member

@bingwang-ms
Copy link
Collaborator

Thanks. But things look different on my DUT. The test case will always adds Ethernet0 into a nrewly created vlan2, and the Ethernet0 is not disabled on my device.
And I saw no crash when adding Ethernet0 into vlan2.
So, is it an issue only on certain platform? Thanks

Test case author use not configured (not participating in the topology) port to avoid possible influence of any traffic on CRM counters.

"Disabled" interface means disabled (not in use) by topology configuration and not disabled on the DUT.
Please compare topo_t0.yml and topo_t0-64.yml especially disabled_host_interfaces sections.

Then if you will try to add Ethernet0(PortChannel0001 member) into a newly created vlan2 on your DUT with applied t0-64 you will get expected crash: orchagent crash when config a PortChannel add into vlan member

Thanks @monipko for your detailed clarification.
The DUT I'm testing against is topo_t0_116, which has no disabled_interface. And the Ethernet0 is already in vlan1000. If I didn't misunderstand, orchagent will crash if I added this interface to a new vlan2. But no crash was observed.
I think this case will be skipped on some topo without disabled_interfaces (like topo_t0_116) if this PR is merged. But the case passes on my DUT. Is this expected?

@bingwang-ms
Copy link
Collaborator

IMO, the crash in sonic-net/sonic-buildimage#5387 is because an interface with IP address is added to another vlan. Selecting a disabled interface is a good workaround, but it will result in this case be skipped on some topo. How about select an interface not in PortChannel?

@monipko
Copy link
Contributor Author

monipko commented Dec 15, 2020

IMO, the crash in Azure/sonic-buildimage#5387 is because an interface with IP address is added to another vlan. Selecting a disabled interface is a good workaround, but it will result in this case be skipped on some topo. How about select an interface not in PortChannel?

@bingwang-ms let me check and make corresponding changes

@monipko
Copy link
Contributor Author

monipko commented Dec 17, 2020

@bingwang-ms please take a look. Now test applicable for all t0-* topologies.
Port will be selected from the topo's host_interfaces(disabled or not) and not PortChannel members.

@monipko
Copy link
Contributor Author

monipko commented Dec 23, 2020

@lguohan @wangxin @yxieca do we have any obstacles for this not to be merged?

@bingwang-ms
Copy link
Collaborator

@lguohan @wangxin @yxieca do we have any obstacles for this not to be merged?

Sorry for left an open comment. Already reviewd and merged.

@bingwang-ms bingwang-ms merged commit ec6cd52 into sonic-net:master Dec 23, 2020
kazinator-arista pushed a commit to kazinator-arista/sonic-mgmt that referenced this pull request Mar 4, 2026
…aemons] advance submodule head (sonic-net#13755)

linkmgrd:
* e191338 2023-02-10 | Fix the warning of unused variables (sonic-net#167) (HEAD -> 202205) [Longxiang Lyu]

utilities:
* 2c933b0a 2023-02-07 | [sai_failure_dump]Invoking dump during SAI failure (sonic-net#2633) (HEAD -> 202205) [Sudharsan Dhamal Gopalarathnam]
* e949f318 2023-02-07 | [show] add support for gRPC show commands for `active-active` (sonic-net#2629) [vdahiya12]
* 77723927 2023-01-30 | Fixed admin state config CLI for Backport interfaces (sonic-net#2557) [anamehra]
* 32b1d4d6 2023-02-01 | [masic support] 'show run bgp' support for multi-asic (sonic-net#2427) [wenyiz2021]
* a2252d8a 2022-10-11 | Filter port invalid MTU configuration (sonic-net#2378) [pettershao-ragilenetworks]
* 0ffb4b6a 2023-02-09 | Add Transceiver PM basic CLI support to show output from TRANSCEIVER_PM table for ZR (sonic-net#2655) (github/202205) [longhuan-cisco]
* 496a0774 2023-02-09 | Add asic id for linecards so "show fabric counters queue/port" can work for single chip systems (sonic-net#2656) [jfeng-arista]
* 2591e8b5 2023-02-03 | multi asic support for show queue counter (sonic-net#2647) [zhixzhu]

swss:
* e0373a4 2023-02-07 | [autoneg]Fixing adv interface types to be set when AN is disabled (sonic-net#2638) (HEAD -> 202205, github/202205) [Sudharsan Dhamal Gopalarathnam]
* 62a09a0 2023-02-09 | [sai_failure_dump]Invoking dump during SAI failure (sonic-net#2644) (sonic-net#2661) [Sudharsan Dhamal Gopalarathnam]
* 076f63e 2023-02-08 | [202205] Revert "Revert "[voq][chassis]Add show fabric counters port/queue commands (sonic-net#2522)" (sonic-net#2612)" (sonic-net#2655) [kenneth-arista]
* a35e074 2023-02-06 | [202205][voq][chassis] Remove created ports from the default vlan. (sonic-net#2651) [arista-nwolfe]

swss-common:
* b9d4284 2023-02-08 | [202205] Fix epoll and socket resource leak issue. (sonic-net#651) (sonic-net#741) (github/202205) [Kevin Petremann]

sairedis:
* 9d8e731 2023-02-08 | [Mellanox] Enable DSCP remapping by using SAI attribute (sonic-net#1188) (HEAD -> 202205, github/202205) [Stephen Sun]
* 272a8bd 2023-02-10 | Fixing race condition for rif counters sonic-net#1136 (sonic-net#1202) [Suman Kumar]
* 211365a 2023-02-08 | [202205][submodule][SAI]Advance SAI header (sonic-net#1207) [Richard.Yu]
* 939c14b 2023-02-08 | [Submodule][upgrade]Upgrade SAI submodule (sonic-net#1203) [Richard.Yu]

platform-daemons:
* e5ccd40 2022-10-03 | [ycabled] fix naming error for error condition for CLI handling (sonic-net#302) (HEAD -> 202205, github/202205) [vdahiya12]
* cdd354d 2022-09-29 | [ycabled] add some exception catching logic to some vendor specific API's (sonic-net#301) [vdahiya12]
* cf58c08 2023-02-01 | Chassisd do an explicit stop of the config_manager (sonic-net#328) (sonic-net#336) [judyjoseph]

Signed-off-by: Ying Xie <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants