Commit 04198fb011 for frr
commit 04198fb011375a6082f3a88f4380c008e2158fd3
Author: Donald Sharp <sharpd@nvidia.com>
Date: Sat Oct 3 13:04:57 2026 -0400
tests: Mark the v6 pim tests to run on appropriate platforms
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
diff --git a/tests/topotests/bgp_evpn_mh_v4_v6_num/test_evpn_mh_v4_v6_num.py b/tests/topotests/bgp_evpn_mh_v4_v6_num/test_evpn_mh_v4_v6_num.py
index e6f8f42a51..4118599066 100644
--- a/tests/topotests/bgp_evpn_mh_v4_v6_num/test_evpn_mh_v4_v6_num.py
+++ b/tests/topotests/bgp_evpn_mh_v4_v6_num/test_evpn_mh_v4_v6_num.py
@@ -70,6 +70,9 @@ def setup_module(module):
if not topotest.platform_has_evpn():
pytest.skip("platform does not support EVPN")
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
def build_topo(tgen):
"""
diff --git a/tests/topotests/multicast_features/test_multicast_features.py b/tests/topotests/multicast_features/test_multicast_features.py
index b28fc68c66..5a0c0c5aca 100644
--- a/tests/topotests/multicast_features/test_multicast_features.py
+++ b/tests/topotests/multicast_features/test_multicast_features.py
@@ -83,6 +83,9 @@ def build_topo(tgen):
def setup_module(mod):
"Sets up the pytest environment"
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
tgen = Topogen(build_topo, mod.__name__)
tgen.start_topology()
diff --git a/tests/topotests/multicast_gmp_access_list_topo1/test_multicast_gmp_access_list_topo1.py b/tests/topotests/multicast_gmp_access_list_topo1/test_multicast_gmp_access_list_topo1.py
index 355845abb7..ecc9ced5ad 100644
--- a/tests/topotests/multicast_gmp_access_list_topo1/test_multicast_gmp_access_list_topo1.py
+++ b/tests/topotests/multicast_gmp_access_list_topo1/test_multicast_gmp_access_list_topo1.py
@@ -75,6 +75,9 @@ def build_topo(tgen):
def setup_module(mod):
"Sets up the pytest environment"
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
tgen = Topogen(build_topo, mod.__name__)
tgen.start_topology()
diff --git a/tests/topotests/multicast_gmp_route_map_topo1/test_multicast_gmp_route_map_topo1.py b/tests/topotests/multicast_gmp_route_map_topo1/test_multicast_gmp_route_map_topo1.py
index 6faed7e77f..d7f7b92b70 100644
--- a/tests/topotests/multicast_gmp_route_map_topo1/test_multicast_gmp_route_map_topo1.py
+++ b/tests/topotests/multicast_gmp_route_map_topo1/test_multicast_gmp_route_map_topo1.py
@@ -75,6 +75,9 @@ def build_topo(tgen):
def setup_module(mod):
"Sets up the pytest environment"
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
tgen = Topogen(build_topo, mod.__name__)
tgen.start_topology()
diff --git a/tests/topotests/multicast_mld_join_topo1/test_multicast_mld_local_join.py b/tests/topotests/multicast_mld_join_topo1/test_multicast_mld_local_join.py
index 84a13aedee..26858f9215 100644
--- a/tests/topotests/multicast_mld_join_topo1/test_multicast_mld_local_join.py
+++ b/tests/topotests/multicast_mld_join_topo1/test_multicast_mld_local_join.py
@@ -24,6 +24,7 @@ import sys
import time
import pytest
+from lib.topotest import platform_has_pimv6
from lib.common_config import (
reset_config_on_routers,
start_topology,
@@ -106,6 +107,9 @@ def setup_module(mod):
* `mod`: module name
"""
+ if not platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
testsuite_run_time = time.asctime(time.localtime(time.time()))
logger.info("Testsuite start time: {}".format(testsuite_run_time))
logger.info("=" * 40)
diff --git a/tests/topotests/multicast_pim6_sm_topo1/test_multicast_pim6_sm1.py b/tests/topotests/multicast_pim6_sm_topo1/test_multicast_pim6_sm1.py
index 70b5a2de24..c507d55515 100644
--- a/tests/topotests/multicast_pim6_sm_topo1/test_multicast_pim6_sm1.py
+++ b/tests/topotests/multicast_pim6_sm_topo1/test_multicast_pim6_sm1.py
@@ -35,6 +35,7 @@ import sys
import time
import pytest
+from lib.topotest import platform_has_pimv6
from lib.common_config import (
get_frr_ipv6_linklocal,
required_linux_kernel_version,
@@ -112,6 +113,9 @@ def setup_module(mod):
* `mod`: module name
"""
+ if not platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
# Required linux kernel version for this suite to run.
result = required_linux_kernel_version("4.19")
if result is not True:
diff --git a/tests/topotests/multicast_pim6_sm_topo1/test_multicast_pim6_sm2.py b/tests/topotests/multicast_pim6_sm_topo1/test_multicast_pim6_sm2.py
index 2661bc918b..f7cf377c5f 100644
--- a/tests/topotests/multicast_pim6_sm_topo1/test_multicast_pim6_sm2.py
+++ b/tests/topotests/multicast_pim6_sm_topo1/test_multicast_pim6_sm2.py
@@ -25,6 +25,7 @@ import sys
import time
import pytest
+from lib.topotest import platform_has_pimv6
from lib.common_config import (
required_linux_kernel_version,
reset_config_on_routers,
@@ -104,6 +105,9 @@ def setup_module(mod):
* `mod`: module name
"""
+ if not platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
# Required linux kernel version for this suite to run.
result = required_linux_kernel_version("4.19")
if result is not True:
diff --git a/tests/topotests/multicast_pim6_static_rp_topo1/test_multicast_pim6_static_rp1.py b/tests/topotests/multicast_pim6_static_rp_topo1/test_multicast_pim6_static_rp1.py
index 23326337d6..ffbae9a902 100755
--- a/tests/topotests/multicast_pim6_static_rp_topo1/test_multicast_pim6_static_rp1.py
+++ b/tests/topotests/multicast_pim6_static_rp_topo1/test_multicast_pim6_static_rp1.py
@@ -45,6 +45,7 @@ import sys
import time
import pytest
+from lib.topotest import platform_has_pimv6
from lib.common_config import (
check_router_status,
reset_config_on_routers,
@@ -100,6 +101,9 @@ def setup_module(mod):
* `mod`: module name
"""
+ if not platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
testsuite_run_time = time.asctime(time.localtime(time.time()))
logger.info("Testsuite start time: %s", testsuite_run_time)
logger.info("=" * 40)
diff --git a/tests/topotests/multicast_pim6_static_rp_topo1/test_multicast_pim6_static_rp2.py b/tests/topotests/multicast_pim6_static_rp_topo1/test_multicast_pim6_static_rp2.py
index 48871c3597..23a80d7a4a 100755
--- a/tests/topotests/multicast_pim6_static_rp_topo1/test_multicast_pim6_static_rp2.py
+++ b/tests/topotests/multicast_pim6_static_rp_topo1/test_multicast_pim6_static_rp2.py
@@ -36,6 +36,7 @@ import sys
import time
import pytest
+from lib.topotest import platform_has_pimv6
from lib.common_config import (
create_debug_log_config,
reset_config_on_routers,
@@ -101,6 +102,9 @@ def setup_module(mod):
* `mod`: module name
"""
+ if not platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
testsuite_run_time = time.asctime(time.localtime(time.time()))
logger.info("Testsuite start time: %s", testsuite_run_time)
logger.info("=" * 40)
diff --git a/tests/topotests/multicast_pim_route_map_topo1/test_multicast_pim_route_map_topo1.py b/tests/topotests/multicast_pim_route_map_topo1/test_multicast_pim_route_map_topo1.py
index e309e414dc..eae3080ed8 100644
--- a/tests/topotests/multicast_pim_route_map_topo1/test_multicast_pim_route_map_topo1.py
+++ b/tests/topotests/multicast_pim_route_map_topo1/test_multicast_pim_route_map_topo1.py
@@ -65,6 +65,9 @@ def build_topo(tgen):
def setup_module(mod):
"Sets up the pytest environment"
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
tgen = Topogen(build_topo, mod.__name__)
tgen.start_topology()
diff --git a/tests/topotests/multicast_ssm_topo1/test_multicast_ssm_topo1.py b/tests/topotests/multicast_ssm_topo1/test_multicast_ssm_topo1.py
index 5a2602f467..c780ccc948 100644
--- a/tests/topotests/multicast_ssm_topo1/test_multicast_ssm_topo1.py
+++ b/tests/topotests/multicast_ssm_topo1/test_multicast_ssm_topo1.py
@@ -225,6 +225,9 @@ def build_topo(tgen):
def setup_module(mod):
"Sets up the pytest environment"
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
tgen = Topogen(build_topo, mod.__name__)
tgen.start_topology()
diff --git a/tests/topotests/pim6_hello_send_counters/test_pim6_hello_send_counters.py b/tests/topotests/pim6_hello_send_counters/test_pim6_hello_send_counters.py
index 3139075c56..f6b194720b 100644
--- a/tests/topotests/pim6_hello_send_counters/test_pim6_hello_send_counters.py
+++ b/tests/topotests/pim6_hello_send_counters/test_pim6_hello_send_counters.py
@@ -47,6 +47,9 @@ def build_topo(tgen):
def setup_module(mod):
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
tgen = Topogen(build_topo, mod.__name__)
tgen.start_topology()
diff --git a/tests/topotests/pim6_mld_join_startup/test_pim6_mld_join_startup.py b/tests/topotests/pim6_mld_join_startup/test_pim6_mld_join_startup.py
index 071a521d57..9f822da9e6 100644
--- a/tests/topotests/pim6_mld_join_startup/test_pim6_mld_join_startup.py
+++ b/tests/topotests/pim6_mld_join_startup/test_pim6_mld_join_startup.py
@@ -63,6 +63,9 @@ def build_topo(tgen):
def setup_module(mod):
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
tgen = Topogen(build_topo, mod.__name__)
tgen.start_topology()
diff --git a/tests/topotests/pim6_mld_join_toggle/test_pim6_mld_join_toggle.py b/tests/topotests/pim6_mld_join_toggle/test_pim6_mld_join_toggle.py
index abbee35e00..048290618d 100644
--- a/tests/topotests/pim6_mld_join_toggle/test_pim6_mld_join_toggle.py
+++ b/tests/topotests/pim6_mld_join_toggle/test_pim6_mld_join_toggle.py
@@ -65,6 +65,9 @@ def build_topo(tgen):
def setup_module(mod):
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
tgen = Topogen(build_topo, mod.__name__)
tgen.start_topology()
diff --git a/tests/topotests/pim_cand_rp_bsr/bsr_rp_failover_helper.py b/tests/topotests/pim_cand_rp_bsr/bsr_rp_failover_helper.py
index 1014146038..6910011083 100644
--- a/tests/topotests/pim_cand_rp_bsr/bsr_rp_failover_helper.py
+++ b/tests/topotests/pim_cand_rp_bsr/bsr_rp_failover_helper.py
@@ -7,7 +7,9 @@
#
import os
import sys
+import pytest
+from lib.topotest import platform_has_pimv6
from lib.topogen import Topogen, get_topogen
from lib.topolog import logger
from lib.pim import verify_pim_rp_info
@@ -24,6 +26,9 @@ CRP_FAILOVER_TIMEOUT = 180
def setup_module(mod):
+ if not platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
logger.info("PIM BSR RP failover:\n {}".format(TOPOLOGY))
tgen = Topogen(build_topo, mod.__name__)
diff --git a/tests/topotests/pim_cand_rp_bsr/test_pim_cand_rp_bsr.py b/tests/topotests/pim_cand_rp_bsr/test_pim_cand_rp_bsr.py
index 3516628200..d03cf075e3 100644
--- a/tests/topotests/pim_cand_rp_bsr/test_pim_cand_rp_bsr.py
+++ b/tests/topotests/pim_cand_rp_bsr/test_pim_cand_rp_bsr.py
@@ -109,6 +109,9 @@ def build_topo(tgen):
def setup_module(mod):
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
logger.info("PIM Candidate RP/BSR:\n {}".format(TOPOLOGY))
tgen = Topogen(build_topo, mod.__name__)
diff --git a/tests/topotests/pim_embedded_rp/test_pim_embedded_rp.py b/tests/topotests/pim_embedded_rp/test_pim_embedded_rp.py
index 133ad6834e..f42de9cad2 100644
--- a/tests/topotests/pim_embedded_rp/test_pim_embedded_rp.py
+++ b/tests/topotests/pim_embedded_rp/test_pim_embedded_rp.py
@@ -63,6 +63,9 @@ app_helper = McastTesterHelper()
def setup_module(mod):
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
tgen = Topogen(build_topo, mod.__name__)
tgen.start_topology()
diff --git a/tests/topotests/pim_igmp_vrf/test_pim_vrf.py b/tests/topotests/pim_igmp_vrf/test_pim_vrf.py
index ae5322fecc..caea5fb950 100755
--- a/tests/topotests/pim_igmp_vrf/test_pim_vrf.py
+++ b/tests/topotests/pim_igmp_vrf/test_pim_vrf.py
@@ -187,6 +187,9 @@ def setup_module(module):
if not topotest.platform_has_vrf():
pytest.skip("platform does not support VRF")
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
logger.info("PIM IGMP VRF Topology: \n {}".format(TOPOLOGY))
tgen = Topogen(build_topo, module.__name__)
diff --git a/tests/topotests/pim_timers/test_pim_timers.py b/tests/topotests/pim_timers/test_pim_timers.py
index a69d03e412..9dda39b81e 100644
--- a/tests/topotests/pim_timers/test_pim_timers.py
+++ b/tests/topotests/pim_timers/test_pim_timers.py
@@ -35,6 +35,9 @@ pytestmark = [pytest.mark.pimd]
def setup_module(mod):
"Sets up the pytest environment"
+ if not topotest.platform_has_pimv6():
+ pytest.skip("platform does not support PIMv6")
+
topodef = {"s1": ("r1")}
tgen = Topogen(topodef, mod.__name__)