From e952c875b2558e218998c62fc3371577d5cf8880 Mon Sep 17 00:00:00 2001 From: Yue Gao Date: Fri, 20 Mar 2026 17:36:14 -0400 Subject: [PATCH 1/2] Enable test_nhop_group.py for vpp Signed-off-by: Yue Gao --- .../tests_mark_conditions.yaml | 8 ++++++ .../tests_mark_conditions_sonic_vpp.yaml | 27 ------------------- tests/common/vpp_data.py | 2 ++ tests/ipfwd/test_nhop_group.py | 3 +++ 4 files changed, 13 insertions(+), 27 deletions(-) create mode 100644 tests/common/vpp_data.py diff --git a/tests/common/plugins/conditional_mark/tests_mark_conditions.yaml b/tests/common/plugins/conditional_mark/tests_mark_conditions.yaml index 76f6dfadb9f..d4d6a4b251a 100644 --- a/tests/common/plugins/conditional_mark/tests_mark_conditions.yaml +++ b/tests/common/plugins/conditional_mark/tests_mark_conditions.yaml @@ -3331,6 +3331,10 @@ ipfwd/test_mtu.py: - "topo_type not in ['t1', 't2', 'lt2', 'ft2']" ipfwd/test_nhop_group.py::test_nhop_group_interface_flap: + skip: + reason: "VPP virtual platform has no fanout switch to flap interfaces" + conditions: + - "asic_type in ['vpp'] and platform in ['x86_64-kvm_x86_64-r0']" xfail: reason: "Testcase ignored due to GitHub issue https://github.com/sonic-net/sonic-mgmt/issues/16218 on mellanox platform" conditions: @@ -3343,6 +3347,10 @@ ipfwd/test_nhop_group.py::test_nhop_group_member_count: - "https://github.com/sonic-net/sonic-mgmt/issues/20731 and '-v6-' in topo_name" ipfwd/test_nhop_group.py::test_nhop_group_member_order_capability: + skip: + reason: "VPP does not support ordered ECMP feature" + conditions: + - "asic_type in ['vpp']" xfail: reason: "xfail for IPv6-only topologies, need to add support for IPv6-only - https://github.com/sonic-net/sonic-mgmt/issues/20731" conditions: diff --git a/tests/common/plugins/conditional_mark/tests_mark_conditions_sonic_vpp.yaml b/tests/common/plugins/conditional_mark/tests_mark_conditions_sonic_vpp.yaml index 0a23173f962..1a054d70d12 100644 --- a/tests/common/plugins/conditional_mark/tests_mark_conditions_sonic_vpp.yaml +++ b/tests/common/plugins/conditional_mark/tests_mark_conditions_sonic_vpp.yaml @@ -675,33 +675,6 @@ ip/test_mgmt_ipv6_only.py::test_ntp_ipv6_only: conditions: - "asic_type in ['vpp']" -####################################### -##### IPFWD ##### -####################################### -ipfwd/test_nhop_group.py::test_nhop_group_interface_flap: - skip: - reason: > - Failed/Errored: To be included - conditions_logical_operator: or - conditions: - - "asic_type in ['vpp']" - -ipfwd/test_nhop_group.py::test_nhop_group_member_count: - skip: - reason: > - Failed/Errored: To be included - conditions_logical_operator: or - conditions: - - "asic_type in ['vpp']" - -ipfwd/test_nhop_group.py::test_nhop_group_member_order_capability: - skip: - reason: > - Failed/Errored: To be included - conditions_logical_operator: or - conditions: - - "asic_type in ['vpp']" - ####################################### ##### LLDP ##### ####################################### diff --git a/tests/common/vpp_data.py b/tests/common/vpp_data.py new file mode 100644 index 00000000000..1bdda75d66b --- /dev/null +++ b/tests/common/vpp_data.py @@ -0,0 +1,2 @@ +def is_vpp_device(dut): + return dut.facts["asic_type"] == "vpp" diff --git a/tests/ipfwd/test_nhop_group.py b/tests/ipfwd/test_nhop_group.py index b3ef163b6ab..68aa206ba11 100644 --- a/tests/ipfwd/test_nhop_group.py +++ b/tests/ipfwd/test_nhop_group.py @@ -16,6 +16,7 @@ from tests.common.mellanox_data import is_mellanox_device, get_chip_type from tests.common.marvell_teralynx_data import is_marvell_teralynx_device from tests.common.vs_data import is_vs_device +from tests.common.vpp_data import is_vpp_device from tests.common.utilities import wait_until from tests.common.platform.device_utils import fanout_switch_port_lookup, toggle_one_link @@ -461,6 +462,8 @@ def test_nhop_group_member_count(duthost, tbinfo, loganalyzer): logger.info("skip this check on Mellanox as ASIC resources are shared") elif is_vs_device(duthost): logger.info("skip this check on VS as no real ASIC") + elif is_vpp_device(duthost): + logger.info("skip this check on VPP as ASIC resources are in memory and shared") else: pytest_assert( crm_after["available_nhop_grp"] == 0, From 987373ea06661f5bab180136566643324b0c7d67 Mon Sep 17 00:00:00 2001 From: Yue Gao Date: Wed, 25 Mar 2026 15:08:11 -0400 Subject: [PATCH 2/2] Undo change to test_nhop_group.py since vpp supports crm Signed-off-by: Yue Gao --- tests/common/vpp_data.py | 2 -- tests/ipfwd/test_nhop_group.py | 3 --- 2 files changed, 5 deletions(-) delete mode 100644 tests/common/vpp_data.py diff --git a/tests/common/vpp_data.py b/tests/common/vpp_data.py deleted file mode 100644 index 1bdda75d66b..00000000000 --- a/tests/common/vpp_data.py +++ /dev/null @@ -1,2 +0,0 @@ -def is_vpp_device(dut): - return dut.facts["asic_type"] == "vpp" diff --git a/tests/ipfwd/test_nhop_group.py b/tests/ipfwd/test_nhop_group.py index 68aa206ba11..b3ef163b6ab 100644 --- a/tests/ipfwd/test_nhop_group.py +++ b/tests/ipfwd/test_nhop_group.py @@ -16,7 +16,6 @@ from tests.common.mellanox_data import is_mellanox_device, get_chip_type from tests.common.marvell_teralynx_data import is_marvell_teralynx_device from tests.common.vs_data import is_vs_device -from tests.common.vpp_data import is_vpp_device from tests.common.utilities import wait_until from tests.common.platform.device_utils import fanout_switch_port_lookup, toggle_one_link @@ -462,8 +461,6 @@ def test_nhop_group_member_count(duthost, tbinfo, loganalyzer): logger.info("skip this check on Mellanox as ASIC resources are shared") elif is_vs_device(duthost): logger.info("skip this check on VS as no real ASIC") - elif is_vpp_device(duthost): - logger.info("skip this check on VPP as ASIC resources are in memory and shared") else: pytest_assert( crm_after["available_nhop_grp"] == 0,