diff options
| author | fett0 <fernando.gmaidana@gmail.com> | 2024-05-29 01:06:00 +0000 | 
|---|---|---|
| committer | fett0 <fernando.gmaidana@gmail.com> | 2024-05-29 01:06:00 +0000 | 
| commit | 03fd368ed263ca28c9b1b5e29f486217784d15ef (patch) | |
| tree | 3ed97b7005516ebaf32fbcdeb0ccbd5b7864a704 | |
| parent | f04776073d1e46cfd022e6daf8742e0968d50e4b (diff) | |
| download | vyos-1x-03fd368ed263ca28c9b1b5e29f486217784d15ef.tar.gz vyos-1x-03fd368ed263ca28c9b1b5e29f486217784d15ef.zip | |
ISIS: T6332: Fix isis not working only ipv6
| -rw-r--r-- | data/templates/frr/isisd.frr.j2 | 5 | ||||
| -rw-r--r-- | interface-definitions/include/isis/protocol-common-config.xml.i | 35 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_protocols_isis.py | 15 | 
3 files changed, 54 insertions, 1 deletions
| 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 @@    </properties>  </leafNode>  #include <include/isis/ldp-sync-protocol.xml.i> +<leafNode name="topology"> +  <properties> +    <help>Configure IS-IS topologies</help> +    <completionHelp> +      <list>ipv4-multicast ipv4-mgmt ipv6-unicast ipv6-multicast ipv6-mgmt ipv6-dstsrc</list> +    </completionHelp> +    <valueHelp> +      <format>ipv4-multicast</format> +      <description>Use IPv4 multicast topology</description> +    </valueHelp> +    <valueHelp> +      <format>ipv4-mgmt</format> +      <description>Use IPv4 management topology</description> +    </valueHelp> +    <valueHelp> +      <format>ipv6-unicast</format> +      <description>Use IPv6 unicast topology</description> +    </valueHelp> +    <valueHelp> +      <format>ipv6-multicast</format> +      <description>Use IPv6 multicast topology</description> +    </valueHelp> +    <valueHelp> +      <format>ipv6-mgmt</format> +      <description>Use IPv6 management topology</description> +    </valueHelp> +    <valueHelp> +      <format>ipv6-dstsrc</format> +      <description>Use IPv6 dst-src topology</description> +    </valueHelp> +    <constraint> +      <regex>(ipv4-multicast|ipv4-mgmt|ipv6-unicast|ipv6-multicast|ipv6-mgmt|ipv6-dstsrc)</regex> +    </constraint> +  </properties> +</leafNode>  <node name="fast-reroute">    <properties>      <help>IS-IS fast reroute configuration</help> diff --git a/smoketest/scripts/cli/test_protocols_isis.py b/smoketest/scripts/cli/test_protocols_isis.py index 0fd18a6da..9c57f2020 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) | 
