Skip to content

Commit 03fd368

Browse files
committed
ISIS: T6332: Fix isis not working only ipv6
1 parent f047760 commit 03fd368

File tree

3 files changed

+54
-1
lines changed

3 files changed

+54
-1
lines changed

data/templates/frr/isisd.frr.j2

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ advertise-passive-only
178178
{% for priority, priority_limit_options in fast_reroute.lfa.local.priority_limit.items() %}
179179
{% for level in priority_limit_options %}
180180
fast-reroute priority-limit {{ priority }} {{ level | replace('_', '-') }}
181-
{% endfor %}
181+
{% endfor %}
182182
{% endfor %}
183183
{% endif %}
184184
{% if fast_reroute.lfa.local.tiebreaker is vyos_defined %}
@@ -233,6 +233,9 @@ fast-reroute remote-lfa prefix-list {{ prefix_list }}
233233
{% endfor %}
234234
{% endfor %}
235235
{% endif %}
236+
{% if topology is vyos_defined %}
237+
topology {{ topology }}
238+
{% endif %}
236239
{% if level is vyos_defined('level-2') %}
237240
is-type level-2-only
238241
{% elif level is vyos_defined %}

interface-definitions/include/isis/protocol-common-config.xml.i

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,41 @@
165165
</properties>
166166
</leafNode>
167167
#include <include/isis/ldp-sync-protocol.xml.i>
168+
<leafNode name="topology">
169+
<properties>
170+
<help>Configure IS-IS topologies</help>
171+
<completionHelp>
172+
<list>ipv4-multicast ipv4-mgmt ipv6-unicast ipv6-multicast ipv6-mgmt ipv6-dstsrc</list>
173+
</completionHelp>
174+
<valueHelp>
175+
<format>ipv4-multicast</format>
176+
<description>Use IPv4 multicast topology</description>
177+
</valueHelp>
178+
<valueHelp>
179+
<format>ipv4-mgmt</format>
180+
<description>Use IPv4 management topology</description>
181+
</valueHelp>
182+
<valueHelp>
183+
<format>ipv6-unicast</format>
184+
<description>Use IPv6 unicast topology</description>
185+
</valueHelp>
186+
<valueHelp>
187+
<format>ipv6-multicast</format>
188+
<description>Use IPv6 multicast topology</description>
189+
</valueHelp>
190+
<valueHelp>
191+
<format>ipv6-mgmt</format>
192+
<description>Use IPv6 management topology</description>
193+
</valueHelp>
194+
<valueHelp>
195+
<format>ipv6-dstsrc</format>
196+
<description>Use IPv6 dst-src topology</description>
197+
</valueHelp>
198+
<constraint>
199+
<regex>(ipv4-multicast|ipv4-mgmt|ipv6-unicast|ipv6-multicast|ipv6-mgmt|ipv6-dstsrc)</regex>
200+
</constraint>
201+
</properties>
202+
</leafNode>
168203
<node name="fast-reroute">
169204
<properties>
170205
<help>IS-IS fast reroute configuration</help>

smoketest/scripts/cli/test_protocols_isis.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,5 +395,20 @@ def test_isis_09_lfa(self):
395395
self.cli_delete(['policy', 'prefix-list', prefix_list])
396396
self.cli_commit()
397397

398+
def test_isis_10_topology(self):
399+
topologies = ['ipv4-multicast', 'ipv4-mgmt', 'ipv6-unicast', 'ipv6-multicast', 'ipv6-mgmt']
400+
interface = 'lo'
401+
402+
# Set a basic IS-IS config
403+
self.cli_set(base_path + ['net', net])
404+
405+
self.cli_set(base_path + ['interface', interface])
406+
for topology in topologies:
407+
self.cli_set(base_path + ['topology', topology])
408+
self.cli_commit()
409+
tmp = self.getFRRconfig(f'router isis {domain}', daemon='isisd')
410+
self.assertIn(f' net {net}', tmp)
411+
self.assertIn(f' topology {topology}', tmp)
412+
398413
if __name__ == '__main__':
399414
unittest.main(verbosity=2)

0 commit comments

Comments
 (0)