diff options
| author | Jonathan Voss <jvoss@onvox.net> | 2024-12-14 23:10:43 +0000 |
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2026-03-04 16:40:52 +0100 |
| commit | f831da31dd0c02238a8e045087e1ab53173cb05f (patch) | |
| tree | d2e9568d070fb4c33c44728d940b01b064a9d9d0 /src | |
| parent | 9fae68c92fe769da4f877c8df358868812a660ad (diff) | |
| download | vyos-1x-f831da31dd0c02238a8e045087e1ab53173cb05f.tar.gz vyos-1x-f831da31dd0c02238a8e045087e1ab53173cb05f.zip | |
isis: T6978: add IS-IS SRv6 node-msd configuration
Co-Authored-by: Christian Breunig <christian@breunig.cc>
Diffstat (limited to 'src')
| -rw-r--r-- | src/completion/list_srv6_locators.sh | 21 | ||||
| -rwxr-xr-x | src/conf_mode/protocols_isis.py | 7 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/completion/list_srv6_locators.sh b/src/completion/list_srv6_locators.sh new file mode 100644 index 000000000..03ca499d8 --- /dev/null +++ b/src/completion/list_srv6_locators.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# +# Copyright (C) VyOS maintainers and contributors +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 or later as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +# This script is completion helper to list all configured SRv6 locators that +# are visible to FRR + +seg6LocatorsJson=$(vtysh -c 'show segment-routing srv6 locator json') +echo "$(echo "$seg6LocatorsJson" | jq -r '[.locators[].name][]')" diff --git a/src/conf_mode/protocols_isis.py b/src/conf_mode/protocols_isis.py index 151c5450a..3d172087e 100755 --- a/src/conf_mode/protocols_isis.py +++ b/src/conf_mode/protocols_isis.py @@ -261,6 +261,13 @@ def verify(config_dict): f'max-lsp-lifetime must be greater or equal to lsp-refresh-interval + 300' ) + # Check IS-IS SRv6 + if dict_search('segment_routing.srv6', isis): + # The interface used to install SRv6 SIDs in the Linux data plane. + # https://docs.frrouting.org/en/stable-10.2/isisd.html#clicmd-interface-NAME + if not dict_search('segment_routing.srv6.interface', isis): + raise ConfigError('Missing interface used for installing SRv6 SIDs') + return None def generate(config_dict): |
