summaryrefslogtreecommitdiff
path: root/src/network/netdev/vxlan.h
diff options
context:
space:
mode:
authorSusant Sahani <susant@redhat.com>2017-03-08 18:41:03 +0530
committerSusant Sahani <susant@redhat.com>2017-03-14 10:11:49 +0530
commitd8653945f71dc8a6fa27b033fdecb97bba95bf36 (patch)
tree09a1ab08fc4ba9fc13e3bc5d52fed3add169b1a8 /src/network/netdev/vxlan.h
parent6d21646af8187a5192bd7aa259b098919d11fa99 (diff)
networkd: vxlan support setting IPv6 flow labe
This work adds support for setting the IPv6 flow label for vxlan. vxlan.netdev NetDev] Description=vxlan-test Name=vxlan1 Kind=vxlan [VXLAN] Id=33 Local=2405:204:920b:29ac:7e7a:91ff:fe6d:ffe2 Remote=FF02:0:0:0:0:0:1:9 FlowLabel=104 ip -d link show vxlan1 8: vxlan1: <BROADCAST,MULTICAST> mtu 1430 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether be:83:aa:db:6b:cb brd ff:ff:ff:ff:ff:ff promiscuity 0 vxlan id 33 group ff02::1:9 local 2405:204:920b:29ac:7e7a:91ff:fe6d:ffe2 dev enp0s25 srcport 0 0 dstport 8472 flowlabel 0x68 ageing 300 noudpcsum noudp6zerocsumtx noudp6zerocsumrx addrgenmode eui64 numtxqueues 1 numrxqueues 1
Diffstat (limited to 'src/network/netdev/vxlan.h')
-rw-r--r--src/network/netdev/vxlan.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/network/netdev/vxlan.h b/src/network/netdev/vxlan.h
index dca58e7fe6..7f97a9edc4 100644
--- a/src/network/netdev/vxlan.h
+++ b/src/network/netdev/vxlan.h
@@ -25,6 +25,7 @@ typedef struct VxLan VxLan;
#include "netdev/netdev.h"
#define VXLAN_VID_MAX (1u << 24) - 1
+#define VXLAN_FLOW_LABEL_MAX_MASK 0xFFFFFU
struct VxLan {
NetDev meta;
@@ -40,6 +41,7 @@ struct VxLan {
unsigned tos;
unsigned ttl;
unsigned max_fdb;
+ unsigned flow_label;
uint16_t dest_port;
@@ -94,3 +96,14 @@ int config_parse_destination_port(const char *unit,
const char *rvalue,
void *data,
void *userdata);
+
+int config_parse_flow_label(const char *unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ unsigned section_line,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata);