diff options
| author | fett0 <fernando.gmaidana@gmail.com> | 2025-07-25 15:48:03 +0000 |
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2025-07-28 19:49:19 +0200 |
| commit | 8a4c637628f5d971732d2f501d35c0ee5cf9ade9 (patch) | |
| tree | 1cd7c29d06bce53b46810d061946b9eb6c8227c4 | |
| parent | fd2df0f1b34609fea5dc186b3898a0c786e1bf2b (diff) | |
| download | vyos-1x-8a4c637628f5d971732d2f501d35c0ee5cf9ade9.tar.gz vyos-1x-8a4c637628f5d971732d2f501d35c0ee5cf9ade9.zip | |
isis: T7639: add SRv6 locator support
| -rw-r--r-- | data/templates/frr/isisd.frr.j2 | 5 | ||||
| -rw-r--r-- | interface-definitions/include/isis/protocol-common-config.xml.i | 19 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_protocols_isis.py | 20 |
3 files changed, 44 insertions, 0 deletions
diff --git a/data/templates/frr/isisd.frr.j2 b/data/templates/frr/isisd.frr.j2 index eb14aade6..a4ea28942 100644 --- a/data/templates/frr/isisd.frr.j2 +++ b/data/templates/frr/isisd.frr.j2 @@ -130,6 +130,11 @@ advertise-passive-only {% if segment_routing.maximum_label_depth is vyos_defined %} segment-routing node-msd {{ segment_routing.maximum_label_depth }} {% endif %} +{% if segment_routing.srv6.locator is vyos_defined %} + segment-routing srv6 + locator {{ segment_routing.srv6.locator }} + exit +{% endif %} {% if segment_routing.global_block is vyos_defined %} {% if segment_routing.local_block is vyos_defined %} segment-routing global-block {{ segment_routing.global_block.low_label_value }} {{ segment_routing.global_block.high_label_value }} local-block {{ segment_routing.local_block.low_label_value }} {{ segment_routing.local_block.high_label_value }} diff --git a/interface-definitions/include/isis/protocol-common-config.xml.i b/interface-definitions/include/isis/protocol-common-config.xml.i index e0a7e62b6..969330a2e 100644 --- a/interface-definitions/include/isis/protocol-common-config.xml.i +++ b/interface-definitions/include/isis/protocol-common-config.xml.i @@ -289,6 +289,25 @@ #include <include/segment-routing-label-value.xml.i> </children> </node> + <node name="srv6"> + <properties> + <help>Segment-Routing SRv6 configuration</help> + </properties> + <children> + <leafNode name="locator"> + <properties> + <help>Specify SRv6 locator</help> + <valueHelp> + <format>txt</format> + <description>SRv6 locator name</description> + </valueHelp> + <constraint> + #include <include/constraint/alpha-numeric-hyphen-underscore.xml.i> + </constraint> + </properties> + </leafNode> + </children> + </node> <leafNode name="maximum-label-depth"> <properties> <help>Maximum MPLS labels allowed for this router</help> diff --git a/smoketest/scripts/cli/test_protocols_isis.py b/smoketest/scripts/cli/test_protocols_isis.py index 18f475fa9..54f4e513b 100755 --- a/smoketest/scripts/cli/test_protocols_isis.py +++ b/smoketest/scripts/cli/test_protocols_isis.py @@ -418,5 +418,25 @@ class TestProtocolsISIS(VyOSUnitTestSHIM.TestCase): self.assertIn(f' net {net}', tmp) self.assertIn(f' topology {topology}', tmp) + def test_isis_11_srv6(self): + locator = "TEST" + interface = 'lo' + + self.cli_set(base_path + ['net', net]) + self.cli_set(base_path + ['interface', interface]) + self.cli_set(base_path + ['segment-routing', 'srv6', 'locator', locator]) + + # Commit main ISIS changes + self.cli_commit() + + # Verify main ISIS changes + tmp = self.getFRRconfig(f'router isis {domain}', endsection='^exit') + self.assertIn(f' net {net}', tmp) + self.assertIn(f' segment-routing srv6', tmp) + self.assertIn(f' locator {locator}', tmp) + + # Commit for isis + self.cli_commit() + if __name__ == '__main__': unittest.main(verbosity=2) |
