Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISIS: T6332: Fix isis not working only ipv6 (backport #3537) #3538

Merged
merged 1 commit into from
May 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion data/templates/frr/isisd.frr.j2
Original file line number Diff line number Diff line change
Expand Up @@ -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 %}
Expand Down Expand Up @@ -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 %}
Expand Down
35 changes: 35 additions & 0 deletions interface-definitions/include/isis/protocol-common-config.xml.i
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
15 changes: 15 additions & 0 deletions smoketest/scripts/cli/test_protocols_isis.py
Original file line number Diff line number Diff line change
Expand Up @@ -395,5 +395,20 @@ def test_isis_09_lfa(self):
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)
Loading