aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorRuxandra Stăncioi <stancioi@google.com>2020-07-17 12:55:21 +0000
committerDmitry Vyukov <dvyukov@google.com>2020-07-24 12:25:04 +0200
commitb6d666e5f30aeac590364ac9925240ce6b8b40af (patch)
tree3132a68d072555f0860b48df2c2b13a582d2ce51 /sys/linux
parent6d8002b4d37767ccf97f55753e31b6007727c1b2 (diff)
sys/linux: add lwtunnel_encap_ip description
https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/lwtunnel.h#L102 https://elixir.bootlin.com/linux/latest/source/net/ipv4/ip_tunnel_core.c#L219 The policies added have a suffix (_lwt), because they already exist in syzkaller with the kernel name. An example of a union with the same name described in sys/linux/socket_netlink_route_sched.txt: https://elixir.bootlin.com/linux/latest/source/net/sched/cls_flower.c#L709
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/socket_netlink_route.txt33
-rw-r--r--sys/linux/socket_netlink_route_386.const21
-rw-r--r--sys/linux/socket_netlink_route_amd64.const21
-rw-r--r--sys/linux/socket_netlink_route_arm.const21
-rw-r--r--sys/linux/socket_netlink_route_arm64.const21
-rw-r--r--sys/linux/socket_netlink_route_mips64le.const21
-rw-r--r--sys/linux/socket_netlink_route_ppc64le.const21
-rw-r--r--sys/linux/socket_netlink_route_riscv64.const21
-rw-r--r--sys/linux/socket_netlink_route_s390x.const21
9 files changed, 201 insertions, 0 deletions
diff --git a/sys/linux/socket_netlink_route.txt b/sys/linux/socket_netlink_route.txt
index 122330e9a..3563a756c 100644
--- a/sys/linux/socket_netlink_route.txt
+++ b/sys/linux/socket_netlink_route.txt
@@ -972,9 +972,42 @@ lwtunnel_policy [
MPLS_IPTUNNEL_DST nlattr[MPLS_IPTUNNEL_DST, array[mpls_label]]
MPLS_IPTUNNEL_TTL nlattr[MPLS_IPTUNNEL_TTL, int8]
+ LWTUNNEL_IP_ID nlattr[LWTUNNEL_IP_ID, int64be]
+ LWTUNNEL_IP_DST nlattr[LWTUNNEL_IP_DST, ipv4_addr]
+ LWTUNNEL_IP_SRC nlattr[LWTUNNEL_IP_SRC, ipv4_addr]
+ LWTUNNEL_IP_TTL nlattr[LWTUNNEL_IP_TTL, int8]
+ LWTUNNEL_IP_TOS nlattr[LWTUNNEL_IP_TOS, int8]
+ LWTUNNEL_IP_FLAGS nlattr[LWTUNNEL_IP_FLAGS, flags[lwtunnel_ip_flags, int16be]]
+ LWTUNNEL_IP_OPTS nlnest[LWTUNNEL_IP_OPTS, ip_opts_policy]
+
RPL_IPTUNNEL_SRH nlattr[RPL_IPTUNNEL_SRH, ipv6_rpl_sr_hdr]
] [varlen]
+lwtunnel_ip_flags = TUNNEL_GENEVE_OPT, TUNNEL_VXLAN_OPT, TUNNEL_ERSPAN_OPT
+
+ip_opts_policy [
+ LWTUNNEL_IP_OPTS_GENEVE nlnest[LWTUNNEL_IP_OPTS_GENEVE, geneve_opt_policy_lwt]
+ LWTUNNEL_IP_OPTS_VXLAN nlnest[LWTUNNEL_IP_OPTS_VXLAN, vxlan_opt_policy_lwt]
+ LWTUNNEL_IP_OPTS_ERSPAN nlnest[LWTUNNEL_IP_OPTS_ERSPAN, erspan_opt_policy_lwt]
+] [varlen]
+
+geneve_opt_policy_lwt [
+ LWTUNNEL_IP_OPT_GENEVE_CLASS nlattr[LWTUNNEL_IP_OPT_GENEVE_CLASS, int16be]
+ LWTUNNEL_IP_OPT_GENEVE_TYPE nlattr[LWTUNNEL_IP_OPT_GENEVE_TYPE, int8]
+ LWTUNNEL_IP_OPT_GENEVE_DATA nlattr[LWTUNNEL_IP_OPT_GENEVE_DATA, array[int8, 0:128]]
+] [varlen]
+
+vxlan_opt_policy_lwt [
+ LWTUNNEL_IP_OPT_VXLAN_GBP nlattr[LWTUNNEL_IP_OPT_VXLAN_GBP, int32]
+] [varlen]
+
+erspan_opt_policy_lwt [
+ LWTUNNEL_IP_OPT_ERSPAN_VER nlattr[LWTUNNEL_IP_OPT_ERSPAN_VER, int8[1:2]]
+ LWTUNNEL_IP_OPT_ERSPAN_INDEX nlattr[LWTUNNEL_IP_OPT_ERSPAN_INDEX, int32be]
+ LWTUNNEL_IP_OPT_ERSPAN_DIR nlattr[LWTUNNEL_IP_OPT_ERSPAN_DIR, int8]
+ LWTUNNEL_IP_OPT_ERSPAN_HWID nlattr[LWTUNNEL_IP_OPT_ERSPAN_HWID, int8]
+] [varlen]
+
ipv6_rpl_sr_hdr {
nexthdr int8
hdrlen len[parent, int8]
diff --git a/sys/linux/socket_netlink_route_386.const b/sys/linux/socket_netlink_route_386.const
index 0af9ea350..378a0f6b1 100644
--- a/sys/linux/socket_netlink_route_386.const
+++ b/sys/linux/socket_netlink_route_386.const
@@ -392,6 +392,24 @@ LWTUNNEL_ENCAP_NONE = 0
LWTUNNEL_ENCAP_RPL = 8
LWTUNNEL_ENCAP_SEG6 = 5
LWTUNNEL_ENCAP_SEG6_LOCAL = 7
+LWTUNNEL_IP_DST = 2
+LWTUNNEL_IP_FLAGS = 6
+LWTUNNEL_IP_ID = 1
+LWTUNNEL_IP_OPTS = 8
+LWTUNNEL_IP_OPTS_ERSPAN = 3
+LWTUNNEL_IP_OPTS_GENEVE = 1
+LWTUNNEL_IP_OPTS_VXLAN = 2
+LWTUNNEL_IP_OPT_ERSPAN_DIR = 3
+LWTUNNEL_IP_OPT_ERSPAN_HWID = 4
+LWTUNNEL_IP_OPT_ERSPAN_INDEX = 2
+LWTUNNEL_IP_OPT_ERSPAN_VER = 1
+LWTUNNEL_IP_OPT_GENEVE_CLASS = 1
+LWTUNNEL_IP_OPT_GENEVE_DATA = 3
+LWTUNNEL_IP_OPT_GENEVE_TYPE = 2
+LWTUNNEL_IP_OPT_VXLAN_GBP = 1
+LWTUNNEL_IP_SRC = 3
+LWTUNNEL_IP_TOS = 5
+LWTUNNEL_IP_TTL = 4
MACVLAN_MACADDR_ADD = 0
MACVLAN_MACADDR_DEL = 1
MACVLAN_MACADDR_FLUSH = 2
@@ -559,6 +577,9 @@ TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
TUNNEL_ENCAP_MPLS = 3
TUNNEL_ENCAP_NONE = 0
+TUNNEL_ERSPAN_OPT = 64
+TUNNEL_GENEVE_OPT = 8
+TUNNEL_VXLAN_OPT = 16
VETH_INFO_PEER = 1
VLAN_FLAG_BRIDGE_BINDING = 16
VLAN_FLAG_GVRP = 2
diff --git a/sys/linux/socket_netlink_route_amd64.const b/sys/linux/socket_netlink_route_amd64.const
index 1985dce56..05e415987 100644
--- a/sys/linux/socket_netlink_route_amd64.const
+++ b/sys/linux/socket_netlink_route_amd64.const
@@ -392,6 +392,24 @@ LWTUNNEL_ENCAP_NONE = 0
LWTUNNEL_ENCAP_RPL = 8
LWTUNNEL_ENCAP_SEG6 = 5
LWTUNNEL_ENCAP_SEG6_LOCAL = 7
+LWTUNNEL_IP_DST = 2
+LWTUNNEL_IP_FLAGS = 6
+LWTUNNEL_IP_ID = 1
+LWTUNNEL_IP_OPTS = 8
+LWTUNNEL_IP_OPTS_ERSPAN = 3
+LWTUNNEL_IP_OPTS_GENEVE = 1
+LWTUNNEL_IP_OPTS_VXLAN = 2
+LWTUNNEL_IP_OPT_ERSPAN_DIR = 3
+LWTUNNEL_IP_OPT_ERSPAN_HWID = 4
+LWTUNNEL_IP_OPT_ERSPAN_INDEX = 2
+LWTUNNEL_IP_OPT_ERSPAN_VER = 1
+LWTUNNEL_IP_OPT_GENEVE_CLASS = 1
+LWTUNNEL_IP_OPT_GENEVE_DATA = 3
+LWTUNNEL_IP_OPT_GENEVE_TYPE = 2
+LWTUNNEL_IP_OPT_VXLAN_GBP = 1
+LWTUNNEL_IP_SRC = 3
+LWTUNNEL_IP_TOS = 5
+LWTUNNEL_IP_TTL = 4
MACVLAN_MACADDR_ADD = 0
MACVLAN_MACADDR_DEL = 1
MACVLAN_MACADDR_FLUSH = 2
@@ -559,6 +577,9 @@ TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
TUNNEL_ENCAP_MPLS = 3
TUNNEL_ENCAP_NONE = 0
+TUNNEL_ERSPAN_OPT = 64
+TUNNEL_GENEVE_OPT = 8
+TUNNEL_VXLAN_OPT = 16
VETH_INFO_PEER = 1
VLAN_FLAG_BRIDGE_BINDING = 16
VLAN_FLAG_GVRP = 2
diff --git a/sys/linux/socket_netlink_route_arm.const b/sys/linux/socket_netlink_route_arm.const
index 9b1a2b725..d6c4ae94d 100644
--- a/sys/linux/socket_netlink_route_arm.const
+++ b/sys/linux/socket_netlink_route_arm.const
@@ -392,6 +392,24 @@ LWTUNNEL_ENCAP_NONE = 0
LWTUNNEL_ENCAP_RPL = 8
LWTUNNEL_ENCAP_SEG6 = 5
LWTUNNEL_ENCAP_SEG6_LOCAL = 7
+LWTUNNEL_IP_DST = 2
+LWTUNNEL_IP_FLAGS = 6
+LWTUNNEL_IP_ID = 1
+LWTUNNEL_IP_OPTS = 8
+LWTUNNEL_IP_OPTS_ERSPAN = 3
+LWTUNNEL_IP_OPTS_GENEVE = 1
+LWTUNNEL_IP_OPTS_VXLAN = 2
+LWTUNNEL_IP_OPT_ERSPAN_DIR = 3
+LWTUNNEL_IP_OPT_ERSPAN_HWID = 4
+LWTUNNEL_IP_OPT_ERSPAN_INDEX = 2
+LWTUNNEL_IP_OPT_ERSPAN_VER = 1
+LWTUNNEL_IP_OPT_GENEVE_CLASS = 1
+LWTUNNEL_IP_OPT_GENEVE_DATA = 3
+LWTUNNEL_IP_OPT_GENEVE_TYPE = 2
+LWTUNNEL_IP_OPT_VXLAN_GBP = 1
+LWTUNNEL_IP_SRC = 3
+LWTUNNEL_IP_TOS = 5
+LWTUNNEL_IP_TTL = 4
MACVLAN_MACADDR_ADD = 0
MACVLAN_MACADDR_DEL = 1
MACVLAN_MACADDR_FLUSH = 2
@@ -559,6 +577,9 @@ TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
TUNNEL_ENCAP_MPLS = 3
TUNNEL_ENCAP_NONE = 0
+TUNNEL_ERSPAN_OPT = 64
+TUNNEL_GENEVE_OPT = 8
+TUNNEL_VXLAN_OPT = 16
VETH_INFO_PEER = 1
VLAN_FLAG_BRIDGE_BINDING = 16
VLAN_FLAG_GVRP = 2
diff --git a/sys/linux/socket_netlink_route_arm64.const b/sys/linux/socket_netlink_route_arm64.const
index 91273fa81..8f32a23c9 100644
--- a/sys/linux/socket_netlink_route_arm64.const
+++ b/sys/linux/socket_netlink_route_arm64.const
@@ -392,6 +392,24 @@ LWTUNNEL_ENCAP_NONE = 0
LWTUNNEL_ENCAP_RPL = 8
LWTUNNEL_ENCAP_SEG6 = 5
LWTUNNEL_ENCAP_SEG6_LOCAL = 7
+LWTUNNEL_IP_DST = 2
+LWTUNNEL_IP_FLAGS = 6
+LWTUNNEL_IP_ID = 1
+LWTUNNEL_IP_OPTS = 8
+LWTUNNEL_IP_OPTS_ERSPAN = 3
+LWTUNNEL_IP_OPTS_GENEVE = 1
+LWTUNNEL_IP_OPTS_VXLAN = 2
+LWTUNNEL_IP_OPT_ERSPAN_DIR = 3
+LWTUNNEL_IP_OPT_ERSPAN_HWID = 4
+LWTUNNEL_IP_OPT_ERSPAN_INDEX = 2
+LWTUNNEL_IP_OPT_ERSPAN_VER = 1
+LWTUNNEL_IP_OPT_GENEVE_CLASS = 1
+LWTUNNEL_IP_OPT_GENEVE_DATA = 3
+LWTUNNEL_IP_OPT_GENEVE_TYPE = 2
+LWTUNNEL_IP_OPT_VXLAN_GBP = 1
+LWTUNNEL_IP_SRC = 3
+LWTUNNEL_IP_TOS = 5
+LWTUNNEL_IP_TTL = 4
MACVLAN_MACADDR_ADD = 0
MACVLAN_MACADDR_DEL = 1
MACVLAN_MACADDR_FLUSH = 2
@@ -559,6 +577,9 @@ TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
TUNNEL_ENCAP_MPLS = 3
TUNNEL_ENCAP_NONE = 0
+TUNNEL_ERSPAN_OPT = 64
+TUNNEL_GENEVE_OPT = 8
+TUNNEL_VXLAN_OPT = 16
VETH_INFO_PEER = 1
VLAN_FLAG_BRIDGE_BINDING = 16
VLAN_FLAG_GVRP = 2
diff --git a/sys/linux/socket_netlink_route_mips64le.const b/sys/linux/socket_netlink_route_mips64le.const
index a3a004791..6f101137b 100644
--- a/sys/linux/socket_netlink_route_mips64le.const
+++ b/sys/linux/socket_netlink_route_mips64le.const
@@ -392,6 +392,24 @@ LWTUNNEL_ENCAP_NONE = 0
LWTUNNEL_ENCAP_RPL = 8
LWTUNNEL_ENCAP_SEG6 = 5
LWTUNNEL_ENCAP_SEG6_LOCAL = 7
+LWTUNNEL_IP_DST = 2
+LWTUNNEL_IP_FLAGS = 6
+LWTUNNEL_IP_ID = 1
+LWTUNNEL_IP_OPTS = 8
+LWTUNNEL_IP_OPTS_ERSPAN = 3
+LWTUNNEL_IP_OPTS_GENEVE = 1
+LWTUNNEL_IP_OPTS_VXLAN = 2
+LWTUNNEL_IP_OPT_ERSPAN_DIR = 3
+LWTUNNEL_IP_OPT_ERSPAN_HWID = 4
+LWTUNNEL_IP_OPT_ERSPAN_INDEX = 2
+LWTUNNEL_IP_OPT_ERSPAN_VER = 1
+LWTUNNEL_IP_OPT_GENEVE_CLASS = 1
+LWTUNNEL_IP_OPT_GENEVE_DATA = 3
+LWTUNNEL_IP_OPT_GENEVE_TYPE = 2
+LWTUNNEL_IP_OPT_VXLAN_GBP = 1
+LWTUNNEL_IP_SRC = 3
+LWTUNNEL_IP_TOS = 5
+LWTUNNEL_IP_TTL = 4
MACVLAN_MACADDR_ADD = 0
MACVLAN_MACADDR_DEL = 1
MACVLAN_MACADDR_FLUSH = 2
@@ -559,6 +577,9 @@ TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
TUNNEL_ENCAP_MPLS = 3
TUNNEL_ENCAP_NONE = 0
+TUNNEL_ERSPAN_OPT = 64
+TUNNEL_GENEVE_OPT = 8
+TUNNEL_VXLAN_OPT = 16
VETH_INFO_PEER = 1
VLAN_FLAG_BRIDGE_BINDING = 16
VLAN_FLAG_GVRP = 2
diff --git a/sys/linux/socket_netlink_route_ppc64le.const b/sys/linux/socket_netlink_route_ppc64le.const
index add16a6b2..81d281b4e 100644
--- a/sys/linux/socket_netlink_route_ppc64le.const
+++ b/sys/linux/socket_netlink_route_ppc64le.const
@@ -392,6 +392,24 @@ LWTUNNEL_ENCAP_NONE = 0
LWTUNNEL_ENCAP_RPL = 8
LWTUNNEL_ENCAP_SEG6 = 5
LWTUNNEL_ENCAP_SEG6_LOCAL = 7
+LWTUNNEL_IP_DST = 2
+LWTUNNEL_IP_FLAGS = 6
+LWTUNNEL_IP_ID = 1
+LWTUNNEL_IP_OPTS = 8
+LWTUNNEL_IP_OPTS_ERSPAN = 3
+LWTUNNEL_IP_OPTS_GENEVE = 1
+LWTUNNEL_IP_OPTS_VXLAN = 2
+LWTUNNEL_IP_OPT_ERSPAN_DIR = 3
+LWTUNNEL_IP_OPT_ERSPAN_HWID = 4
+LWTUNNEL_IP_OPT_ERSPAN_INDEX = 2
+LWTUNNEL_IP_OPT_ERSPAN_VER = 1
+LWTUNNEL_IP_OPT_GENEVE_CLASS = 1
+LWTUNNEL_IP_OPT_GENEVE_DATA = 3
+LWTUNNEL_IP_OPT_GENEVE_TYPE = 2
+LWTUNNEL_IP_OPT_VXLAN_GBP = 1
+LWTUNNEL_IP_SRC = 3
+LWTUNNEL_IP_TOS = 5
+LWTUNNEL_IP_TTL = 4
MACVLAN_MACADDR_ADD = 0
MACVLAN_MACADDR_DEL = 1
MACVLAN_MACADDR_FLUSH = 2
@@ -559,6 +577,9 @@ TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
TUNNEL_ENCAP_MPLS = 3
TUNNEL_ENCAP_NONE = 0
+TUNNEL_ERSPAN_OPT = 64
+TUNNEL_GENEVE_OPT = 8
+TUNNEL_VXLAN_OPT = 16
VETH_INFO_PEER = 1
VLAN_FLAG_BRIDGE_BINDING = 16
VLAN_FLAG_GVRP = 2
diff --git a/sys/linux/socket_netlink_route_riscv64.const b/sys/linux/socket_netlink_route_riscv64.const
index 91273fa81..8f32a23c9 100644
--- a/sys/linux/socket_netlink_route_riscv64.const
+++ b/sys/linux/socket_netlink_route_riscv64.const
@@ -392,6 +392,24 @@ LWTUNNEL_ENCAP_NONE = 0
LWTUNNEL_ENCAP_RPL = 8
LWTUNNEL_ENCAP_SEG6 = 5
LWTUNNEL_ENCAP_SEG6_LOCAL = 7
+LWTUNNEL_IP_DST = 2
+LWTUNNEL_IP_FLAGS = 6
+LWTUNNEL_IP_ID = 1
+LWTUNNEL_IP_OPTS = 8
+LWTUNNEL_IP_OPTS_ERSPAN = 3
+LWTUNNEL_IP_OPTS_GENEVE = 1
+LWTUNNEL_IP_OPTS_VXLAN = 2
+LWTUNNEL_IP_OPT_ERSPAN_DIR = 3
+LWTUNNEL_IP_OPT_ERSPAN_HWID = 4
+LWTUNNEL_IP_OPT_ERSPAN_INDEX = 2
+LWTUNNEL_IP_OPT_ERSPAN_VER = 1
+LWTUNNEL_IP_OPT_GENEVE_CLASS = 1
+LWTUNNEL_IP_OPT_GENEVE_DATA = 3
+LWTUNNEL_IP_OPT_GENEVE_TYPE = 2
+LWTUNNEL_IP_OPT_VXLAN_GBP = 1
+LWTUNNEL_IP_SRC = 3
+LWTUNNEL_IP_TOS = 5
+LWTUNNEL_IP_TTL = 4
MACVLAN_MACADDR_ADD = 0
MACVLAN_MACADDR_DEL = 1
MACVLAN_MACADDR_FLUSH = 2
@@ -559,6 +577,9 @@ TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
TUNNEL_ENCAP_MPLS = 3
TUNNEL_ENCAP_NONE = 0
+TUNNEL_ERSPAN_OPT = 64
+TUNNEL_GENEVE_OPT = 8
+TUNNEL_VXLAN_OPT = 16
VETH_INFO_PEER = 1
VLAN_FLAG_BRIDGE_BINDING = 16
VLAN_FLAG_GVRP = 2
diff --git a/sys/linux/socket_netlink_route_s390x.const b/sys/linux/socket_netlink_route_s390x.const
index 0af9ea350..b19fafbec 100644
--- a/sys/linux/socket_netlink_route_s390x.const
+++ b/sys/linux/socket_netlink_route_s390x.const
@@ -392,6 +392,24 @@ LWTUNNEL_ENCAP_NONE = 0
LWTUNNEL_ENCAP_RPL = 8
LWTUNNEL_ENCAP_SEG6 = 5
LWTUNNEL_ENCAP_SEG6_LOCAL = 7
+LWTUNNEL_IP_DST = 2
+LWTUNNEL_IP_FLAGS = 6
+LWTUNNEL_IP_ID = 1
+LWTUNNEL_IP_OPTS = 8
+LWTUNNEL_IP_OPTS_ERSPAN = 3
+LWTUNNEL_IP_OPTS_GENEVE = 1
+LWTUNNEL_IP_OPTS_VXLAN = 2
+LWTUNNEL_IP_OPT_ERSPAN_DIR = 3
+LWTUNNEL_IP_OPT_ERSPAN_HWID = 4
+LWTUNNEL_IP_OPT_ERSPAN_INDEX = 2
+LWTUNNEL_IP_OPT_ERSPAN_VER = 1
+LWTUNNEL_IP_OPT_GENEVE_CLASS = 1
+LWTUNNEL_IP_OPT_GENEVE_DATA = 3
+LWTUNNEL_IP_OPT_GENEVE_TYPE = 2
+LWTUNNEL_IP_OPT_VXLAN_GBP = 1
+LWTUNNEL_IP_SRC = 3
+LWTUNNEL_IP_TOS = 5
+LWTUNNEL_IP_TTL = 4
MACVLAN_MACADDR_ADD = 0
MACVLAN_MACADDR_DEL = 1
MACVLAN_MACADDR_FLUSH = 2
@@ -559,6 +577,9 @@ TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
TUNNEL_ENCAP_MPLS = 3
TUNNEL_ENCAP_NONE = 0
+TUNNEL_ERSPAN_OPT = 16384
+TUNNEL_GENEVE_OPT = 2048
+TUNNEL_VXLAN_OPT = 4096
VETH_INFO_PEER = 1
VLAN_FLAG_BRIDGE_BINDING = 16
VLAN_FLAG_GVRP = 2