summaryrefslogtreecommitdiff
path: root/src/conf_mode
diff options
context:
space:
mode:
authorViacheslav <v.gletenko@vyos.io>2021-08-30 15:43:02 +0000
committerViacheslav <v.gletenko@vyos.io>2021-08-30 15:43:02 +0000
commit5c29377fa91595088118419275f6d05b1fbfbd1d (patch)
treedba0baae8ab591cf61315c6b88f04068ddd254e3 /src/conf_mode
parentcdc717da9f3d8c4ecce7f2117686ab317eb43bb8 (diff)
downloadvyos-1x-5c29377fa91595088118419275f6d05b1fbfbd1d.tar.gz
vyos-1x-5c29377fa91595088118419275f6d05b1fbfbd1d.zip
tunnel: T3786: Add checks for source any and not key
Diffstat (limited to 'src/conf_mode')
-rwxr-xr-xsrc/conf_mode/interfaces-tunnel.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/conf_mode/interfaces-tunnel.py b/src/conf_mode/interfaces-tunnel.py
index 294da8ef9..616a2e23c 100755
--- a/src/conf_mode/interfaces-tunnel.py
+++ b/src/conf_mode/interfaces-tunnel.py
@@ -94,6 +94,12 @@ def verify(tunnel):
if 'direction' not in tunnel['parameters']['erspan']:
raise ConfigError('ERSPAN version 2 requires direction to be set!')
+ # If tunnel source address any and key not set
+ if tunnel['encapsulation'] in ['gre'] and \
+ tunnel['source_address'] == '0.0.0.0' and \
+ dict_search('parameters.ip.key', tunnel) == None:
+ raise ConfigError('Tunnel parameters ip key must be set!')
+
verify_mtu_ipv6(tunnel)
verify_address(tunnel)
verify_vrf(tunnel)