From 0f04c1cd73fa40eee3761393db5183b2d9108309 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sun, 19 Dec 2021 10:30:03 +0100 Subject: vxlan: T3700: add support for Generic Protocol extension (VXLAN-GPE) --- interface-definitions/interfaces-vxlan.xml.in | 6 ++++++ python/vyos/ifconfig/vxlan.py | 1 + src/conf_mode/interfaces-vxlan.py | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/interface-definitions/interfaces-vxlan.xml.in b/interface-definitions/interfaces-vxlan.xml.in index caeb58116..6c53f8c44 100644 --- a/interface-definitions/interfaces-vxlan.xml.in +++ b/interface-definitions/interfaces-vxlan.xml.in @@ -25,6 +25,12 @@ + + + Enable Generic Protocol extension (VXLAN-GPE) + + + Multicast group address for VXLAN interface diff --git a/python/vyos/ifconfig/vxlan.py b/python/vyos/ifconfig/vxlan.py index 9615f396d..0c5282db4 100644 --- a/python/vyos/ifconfig/vxlan.py +++ b/python/vyos/ifconfig/vxlan.py @@ -56,6 +56,7 @@ class VXLANIf(Interface): mapping = { 'group' : 'group', 'external' : 'external', + 'gpe' : 'gpe', 'parameters.ip.dont_fragment': 'df set', 'parameters.ip.tos' : 'tos', 'parameters.ip.ttl' : 'ttl', diff --git a/src/conf_mode/interfaces-vxlan.py b/src/conf_mode/interfaces-vxlan.py index 6cd931049..1f097c4e3 100755 --- a/src/conf_mode/interfaces-vxlan.py +++ b/src/conf_mode/interfaces-vxlan.py @@ -89,6 +89,10 @@ def verify(vxlan): raise ConfigError(f'Only one VXLAN tunnel is supported when "external" '\ f'CLI option is used. Additional tunnels: {other_tunnels}') + if 'gpe' in vxlan and 'external' not in vxlan: + raise ConfigError(f'VXLAN-GPE is only supported when "external" '\ + f'CLI option is used.') + if 'source_interface' in vxlan: # VXLAN adds at least an overhead of 50 byte - we need to check the # underlaying device if our VXLAN package is not going to be fragmented! -- cgit v1.2.3