diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-01-11 17:27:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-11 17:27:54 +0100 |
| commit | 7fea6b6dbbd786bf6a32c496fc70ca9e9b5f8b1f (patch) | |
| tree | 43ad3c08f3b62bacdbc1e17d40f53b1ff2a18bdc | |
| parent | 014ef8bc62a241c2cd278d859dc24a0740e08099 (diff) | |
| parent | 5310713bf116b8ad65f9e86346a7c02b2922212e (diff) | |
| download | vyos-1x-7fea6b6dbbd786bf6a32c496fc70ca9e9b5f8b1f.tar.gz vyos-1x-7fea6b6dbbd786bf6a32c496fc70ca9e9b5f8b1f.zip | |
Merge pull request #4938 from hedrok/T8158-fix-lsp-timers
isis: T8158: fix lsp-timers
| -rw-r--r-- | data/templates/frr/isisd.frr.j2 | 10 | ||||
| -rw-r--r-- | interface-definitions/include/isis/protocol-common-config.xml.i | 7 | ||||
| -rwxr-xr-x | src/conf_mode/protocols_isis.py | 9 |
3 files changed, 15 insertions, 11 deletions
diff --git a/data/templates/frr/isisd.frr.j2 b/data/templates/frr/isisd.frr.j2 index a7e614e3e..8df8e90d1 100644 --- a/data/templates/frr/isisd.frr.j2 +++ b/data/templates/frr/isisd.frr.j2 @@ -114,18 +114,10 @@ advertise-passive-only {% if log_adjacency_changes is vyos_defined %} log-adjacency-changes {% endif %} -{% if lsp_gen_interval is vyos_defined %} - lsp-gen-interval {{ lsp_gen_interval }} -{% endif %} + lsp-timers gen-interval {{ lsp_gen_interval }} refresh-interval {{ lsp_refresh_interval }} max-lifetime {{ max_lsp_lifetime }} {% if lsp_mtu is vyos_defined %} lsp-mtu {{ lsp_mtu }} {% endif %} -{% if lsp_refresh_interval is vyos_defined %} - lsp-refresh-interval {{ lsp_refresh_interval }} -{% endif %} -{% if max_lsp_lifetime is vyos_defined %} - max-lsp-lifetime {{ max_lsp_lifetime }} -{% endif %} {% if ldp_sync.holddown is vyos_defined %} mpls ldp-sync holddown {{ ldp_sync.holddown }} {% elif ldp_sync 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 359dbc3ce..1b5b41ad2 100644 --- a/interface-definitions/include/isis/protocol-common-config.xml.i +++ b/interface-definitions/include/isis/protocol-common-config.xml.i @@ -98,6 +98,7 @@ <validator name="numeric" argument="--range 1-120"/> </constraint> </properties> + <defaultValue>30</defaultValue> </leafNode> <leafNode name="lsp-mtu"> <properties> @@ -116,13 +117,14 @@ <properties> <help>LSP refresh interval</help> <valueHelp> - <format>u32:1-65235</format> + <format>u32:2-65235</format> <description>LSP refresh interval in seconds</description> </valueHelp> <constraint> - <validator name="numeric" argument="--range 1-65235"/> + <validator name="numeric" argument="--range 2-65235"/> </constraint> </properties> + <defaultValue>900</defaultValue> </leafNode> <leafNode name="max-lsp-lifetime"> <properties> @@ -135,6 +137,7 @@ <validator name="numeric" argument="--range 1-65535"/> </constraint> </properties> + <defaultValue>1200</defaultValue> </leafNode> <leafNode name="metric-style"> <properties> diff --git a/src/conf_mode/protocols_isis.py b/src/conf_mode/protocols_isis.py index 4444a8e44..151c5450a 100755 --- a/src/conf_mode/protocols_isis.py +++ b/src/conf_mode/protocols_isis.py @@ -252,6 +252,15 @@ def verify(config_dict): if int(len(isis['fast_reroute']['lfa']['remote']['prefix_list'].items())) > 1: raise ConfigError(f'LFA remote prefix-list has more than one configured. Cannot have more than one configured.') + # Check for lsp-timers violations + # Must be in sync with FRR yang limitations in yang/frr-isisd.yang + if int(isis['lsp_gen_interval']) >= int(isis['lsp_refresh_interval']): + raise ConfigError(f'lsp-gen-interval must be less then lsp-refresh-interval') + if int(isis['max_lsp_lifetime']) < int(isis['lsp_refresh_interval']) + 300: + raise ConfigError( + f'max-lsp-lifetime must be greater or equal to lsp-refresh-interval + 300' + ) + return None def generate(config_dict): |
