diff options
author | Christian Poessinger <christian@poessinger.com> | 2021-08-13 17:07:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-13 17:07:35 +0200 |
commit | a342406a362321917130c8d565dba7ebaec27b22 (patch) | |
tree | bc4c7bf916f561b89c2444fcf643e0820ef79303 | |
parent | f3df9e97c6bedd305133e860654fc0213c12fd6b (diff) | |
parent | de88a17ba97200cdb3bd07ac3d12eab5d5fa6c73 (diff) | |
download | vyos-1x-a342406a362321917130c8d565dba7ebaec27b22.tar.gz vyos-1x-a342406a362321917130c8d565dba7ebaec27b22.zip |
Merge pull request #967 from sever-sever/T3708-curr
isis: T3708: Fix errors in MTU calculation
-rwxr-xr-x | src/conf_mode/protocols_isis.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/conf_mode/protocols_isis.py b/src/conf_mode/protocols_isis.py index d4c82249b..4cf0312e9 100755 --- a/src/conf_mode/protocols_isis.py +++ b/src/conf_mode/protocols_isis.py @@ -113,9 +113,13 @@ def verify(isis): # Interface MTU must be >= configured lsp-mtu mtu = Interface(interface).get_mtu() area_mtu = isis['lsp_mtu'] - if mtu < int(area_mtu): - raise ConfigError(f'Interface {interface} has MTU {mtu}, minimum ' \ - f'area MTU is {area_mtu}!') + # Recommended maximum PDU size = interface MTU - 3 bytes + recom_area_mtu = mtu - 3 + if mtu < int(area_mtu) or int(area_mtu) > recom_area_mtu: + raise ConfigError(f'Interface {interface} has MTU {mtu}, ' \ + f'current area MTU is {area_mtu}! \n' \ + f'Recommended area lsp-mtu {recom_area_mtu} or less ' \ + '(calculated on MTU size).') if 'vrf' in isis: # If interface specific options are set, we must ensure that the |