From 650989533b0de8afc808c3176d222fde25caeb81 Mon Sep 17 00:00:00 2001 From: fett0 Date: Wed, 29 May 2024 01:06:00 +0000 Subject: ISIS: T6332: Fix isis not working only ipv6 (cherry picked from commit 03fd368ed263ca28c9b1b5e29f486217784d15ef) --- data/templates/frr/isisd.frr.j2 | 5 +++- .../include/isis/protocol-common-config.xml.i | 35 ++++++++++++++++++++++ smoketest/scripts/cli/test_protocols_isis.py | 15 ++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/data/templates/frr/isisd.frr.j2 b/data/templates/frr/isisd.frr.j2 index 1e1cc3c27..5570caaa7 100644 --- a/data/templates/frr/isisd.frr.j2 +++ b/data/templates/frr/isisd.frr.j2 @@ -178,7 +178,7 @@ advertise-passive-only {% for priority, priority_limit_options in fast_reroute.lfa.local.priority_limit.items() %} {% for level in priority_limit_options %} fast-reroute priority-limit {{ priority }} {{ level | replace('_', '-') }} -{% endfor %} +{% endfor %} {% endfor %} {% endif %} {% if fast_reroute.lfa.local.tiebreaker is vyos_defined %} @@ -233,6 +233,9 @@ fast-reroute remote-lfa prefix-list {{ prefix_list }} {% endfor %} {% endfor %} {% endif %} +{% if topology is vyos_defined %} +topology {{ topology }} +{% endif %} {% if level is vyos_defined('level-2') %} is-type level-2-only {% elif level is vyos_defined %} diff --git a/interface-definitions/include/isis/protocol-common-config.xml.i b/interface-definitions/include/isis/protocol-common-config.xml.i index 404f03cb5..0e79ca5f2 100644 --- a/interface-definitions/include/isis/protocol-common-config.xml.i +++ b/interface-definitions/include/isis/protocol-common-config.xml.i @@ -165,6 +165,41 @@ #include + + + Configure IS-IS topologies + + ipv4-multicast ipv4-mgmt ipv6-unicast ipv6-multicast ipv6-mgmt ipv6-dstsrc + + + ipv4-multicast + Use IPv4 multicast topology + + + ipv4-mgmt + Use IPv4 management topology + + + ipv6-unicast + Use IPv6 unicast topology + + + ipv6-multicast + Use IPv6 multicast topology + + + ipv6-mgmt + Use IPv6 management topology + + + ipv6-dstsrc + Use IPv6 dst-src topology + + + (ipv4-multicast|ipv4-mgmt|ipv6-unicast|ipv6-multicast|ipv6-mgmt|ipv6-dstsrc) + + + IS-IS fast reroute configuration diff --git a/smoketest/scripts/cli/test_protocols_isis.py b/smoketest/scripts/cli/test_protocols_isis.py index a7663a720..0217c941a 100755 --- a/smoketest/scripts/cli/test_protocols_isis.py +++ b/smoketest/scripts/cli/test_protocols_isis.py @@ -395,5 +395,20 @@ class TestProtocolsISIS(VyOSUnitTestSHIM.TestCase): self.cli_delete(['policy', 'prefix-list', prefix_list]) self.cli_commit() + def test_isis_10_topology(self): + topologies = ['ipv4-multicast', 'ipv4-mgmt', 'ipv6-unicast', 'ipv6-multicast', 'ipv6-mgmt'] + interface = 'lo' + + # Set a basic IS-IS config + self.cli_set(base_path + ['net', net]) + + self.cli_set(base_path + ['interface', interface]) + for topology in topologies: + self.cli_set(base_path + ['topology', topology]) + self.cli_commit() + tmp = self.getFRRconfig(f'router isis {domain}', daemon='isisd') + self.assertIn(f' net {net}', tmp) + self.assertIn(f' topology {topology}', tmp) + if __name__ == '__main__': unittest.main(verbosity=2) \ No newline at end of file -- cgit v1.2.3