summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2018-12-04 18:38:16 +0100
committerChristian Poessinger <christian@poessinger.com>2018-12-04 18:38:16 +0100
commit25babb28327ab6eae25a514046a595df90ae1053 (patch)
tree547e55c0f9795c6cce704eebf6b786a884721dcb
parent9ed9fe2560c06be64573886cb506bdf3e40636ad (diff)
downloadvyatta-cfg-system-25babb28327ab6eae25a514046a595df90ae1053.tar.gz
vyatta-cfg-system-25babb28327ab6eae25a514046a595df90ae1053.zip
T1067: support setting VXLAN remote port
-rw-r--r--templates/interfaces/vxlan/node.def10
-rw-r--r--templates/interfaces/vxlan/node.tag/remote-port/node.def11
2 files changed, 18 insertions, 3 deletions
diff --git a/templates/interfaces/vxlan/node.def b/templates/interfaces/vxlan/node.def
index 0a3db8cc..e8b625e1 100644
--- a/templates/interfaces/vxlan/node.def
+++ b/templates/interfaces/vxlan/node.def
@@ -21,6 +21,7 @@ create:
VXLAN_GROUP=""
VXLAN_VNI="id $VAR(./vni/@)"
VXLAN_TTL="ttl 16"
+ VXLAN_PORT=""
if [ ! $VAR(./link/) == "" ]; then
VXLAN_DEV="dev $VAR(./link/@)"
@@ -39,13 +40,16 @@ create:
exit 1
fi
- sudo ip link add name $VAR(@) type vxlan \
- $VXLAN_VNI $VXLAN_GROUP $VXLAN_TTL $VXLAN_DEV
+ if [ ! $VAR(./remote-port/) == "" ]; then
+ VXLAN_PORT="dstport $VAR(./remote-port/@)"
+ fi
+
+ sudo ip link add name $VAR(@) type vxlan \
+ $VXLAN_VNI $VXLAN_GROUP $VXLAN_TTL $VXLAN_DEV $VXLAN_PORT
sudo ip link set $VAR(@) up
touch /tmp/vxlan-$VAR(@)-create
-
delete:
if [ ! -e /sys/class/net/$VAR(@) ]; then
echo "VXLAN interface \"$VAR(@)\" does not exist."
diff --git a/templates/interfaces/vxlan/node.tag/remote-port/node.def b/templates/interfaces/vxlan/node.tag/remote-port/node.def
new file mode 100644
index 00000000..c1b4f672
--- /dev/null
+++ b/templates/interfaces/vxlan/node.tag/remote-port/node.def
@@ -0,0 +1,11 @@
+type: u32
+help: Remote port for this VXLAN tunnel
+val_help: u32:1-65535; Numeric IP port
+syntax:expression: $VAR(@) > 0 && $VAR(@) < 65536;
+ "Port must be between 1 and 65535"
+
+update:
+ if [ ! -e /tmp/vxlan-$VAR(../@)-create ]; then
+ echo "Changing remote port requires delete/create this vxlan interface"
+ exit 1
+ fi