summaryrefslogtreecommitdiff
path: root/src/conf_mode/interfaces-vxlan.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2022-04-16 19:45:17 +0200
committerChristian Poessinger <christian@poessinger.com>2022-04-18 19:52:54 +0200
commitd32ee4ad297c8754d0841b84b958a12a926cfef9 (patch)
tree229c52cf8d4f1c3a83c7c1f4f129585646508080 /src/conf_mode/interfaces-vxlan.py
parent1a1094c28e32c3d6d072cf14a38aa631d51b8aee (diff)
downloadvyos-1x-d32ee4ad297c8754d0841b84b958a12a926cfef9.tar.gz
vyos-1x-d32ee4ad297c8754d0841b84b958a12a926cfef9.zip
vxlan: geneve: T4370: support configuration of DF bit option
set interfaces vxlan vxlan0 parameters ip df <set|unset|inherit> set interfaces geneve gnv0 parameters ip df <set|unset|inherit>
Diffstat (limited to 'src/conf_mode/interfaces-vxlan.py')
-rwxr-xr-xsrc/conf_mode/interfaces-vxlan.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/conf_mode/interfaces-vxlan.py b/src/conf_mode/interfaces-vxlan.py
index 848112c17..53704827e 100755
--- a/src/conf_mode/interfaces-vxlan.py
+++ b/src/conf_mode/interfaces-vxlan.py
@@ -23,6 +23,7 @@ from vyos.base import Warning
from vyos.config import Config
from vyos.configdict import get_interface_dict
from vyos.configdict import leaf_node_changed
+from vyos.configdict import node_changed
from vyos.configverify import verify_address
from vyos.configverify import verify_bridge_delete
from vyos.configverify import verify_mtu_ipv6
@@ -51,12 +52,13 @@ def get_config(config=None):
# change. But a VXLAN interface should - of course - not be re-created if
# it's description or IP address is adjusted. Feels somehow logic doesn't it?
for cli_option in ['external', 'gpe', 'group', 'port', 'remote',
- 'source-address', 'source-interface', 'vni',
- 'parameters ip dont-fragment', 'parameters ip tos',
- 'parameters ip ttl']:
- if leaf_node_changed(conf, cli_option.split()):
+ 'source-address', 'source-interface', 'vni']:
+ if leaf_node_changed(conf, cli_option):
vxlan.update({'rebuild_required': {}})
+ if node_changed(conf, ['parameters'], recursive=True):
+ vxlan.update({'rebuild_required': {}})
+
# We need to verify that no other VXLAN tunnel is configured when external
# mode is in use - Linux Kernel limitation
conf.set_level(base)