aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorRuxandra Stăncioi <stancioi@google.com>2020-07-17 14:27:16 +0000
committerDmitry Vyukov <dvyukov@google.com>2020-07-24 12:25:04 +0200
commitb9a80ab13ac20510ef474cb1df6fda5807c4edfc (patch)
tree38c9a453273be0593dcae14870bab6faf4167164 /sys
parent20595c07c6c44a436749bef67ce97ab3743cf594 (diff)
sys/linux: add lwtunnel_encap_seg6_local
https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/seg6_local.h#L21 https://elixir.bootlin.com/linux/latest/source/net/ipv6/seg6_local.c#L649
Diffstat (limited to 'sys')
-rw-r--r--sys/linux/socket_netlink_route.txt16
-rw-r--r--sys/linux/socket_netlink_route_386.const12
-rw-r--r--sys/linux/socket_netlink_route_amd64.const12
-rw-r--r--sys/linux/socket_netlink_route_arm.const12
-rw-r--r--sys/linux/socket_netlink_route_arm64.const12
-rw-r--r--sys/linux/socket_netlink_route_mips64le.const12
-rw-r--r--sys/linux/socket_netlink_route_ppc64le.const12
-rw-r--r--sys/linux/socket_netlink_route_riscv64.const12
-rw-r--r--sys/linux/socket_netlink_route_s390x.const12
9 files changed, 111 insertions, 1 deletions
diff --git a/sys/linux/socket_netlink_route.txt b/sys/linux/socket_netlink_route.txt
index 8758d3267..632b8c4f7 100644
--- a/sys/linux/socket_netlink_route.txt
+++ b/sys/linux/socket_netlink_route.txt
@@ -27,6 +27,7 @@ include <uapi/linux/mpls_iptunnel.h>
include <uapi/linux/ila.h>
# TODO: uncomment after the kernel fixes the seg6_iptunnel.h uapi header.
#include <uapi/linux/seg6_iptunnel.h>
+include <uapi/linux/seg6_local.h>
include <uapi/linux/rpl_iptunnel.h>
include <net/caif/caif_hsi.h>
@@ -970,7 +971,6 @@ rtcanmsg {
rtcanmsg_flags = CGW_FLAGS_CAN_ECHO, CGW_FLAGS_CAN_SRC_TSTAMP, CGW_FLAGS_CAN_IIF_TX_OK
-#TODO: define remaining lwtunnel_encap types
lwtunnel_policy [
MPLS_IPTUNNEL_DST nlattr[MPLS_IPTUNNEL_DST, array[mpls_label]]
MPLS_IPTUNNEL_TTL nlattr[MPLS_IPTUNNEL_TTL, int8]
@@ -1005,6 +1005,15 @@ lwtunnel_policy [
LWT_BPF_XMIT nlnest[LWT_BPF_XMIT, bpf_prog_policy]
LWT_BPF_XMIT_HEADROOM nlattr[LWT_BPF_XMIT_HEADROOM, int32[0:LWT_BPF_MAX_HEADROOM]]
+ SEG6_LOCAL_ACTION nlattr[SEG6_LOCAL_ACTION, int32[SEG6_LOCAL_ACTION_END:SEG6_LOCAL_ACTION_END_BPF]]
+ SEG6_LOCAL_SRH nlattr[SEG6_LOCAL_SRH, ipv6_sr_hdr]
+ SEG6_LOCAL_TABLE nlattr[SEG6_LOCAL_TABLE, int32]
+ SEG6_LOCAL_NH4 nlattr[SEG6_LOCAL_NH4, ipv4_addr]
+ SEG6_LOCAL_NH6 nlattr[SEG6_LOCAL_NH6, ipv6_addr]
+ SEG6_LOCAL_IIF nlattr[SEG6_LOCAL_IIF, int32]
+ SEG6_LOCAL_OIF nlattr[SEG6_LOCAL_OIF, int32]
+ SEG6_LOCAL_BPF nlnest[SEG6_LOCAL_BPF, bpf_prog_policy_seg6_local]
+
RPL_IPTUNNEL_SRH nlattr[RPL_IPTUNNEL_SRH, ipv6_rpl_sr_hdr]
] [varlen]
@@ -1038,6 +1047,11 @@ bpf_prog_policy [
LWT_BPF_PROG_NAME nlattr[LWT_BPF_PROG_NAME, string]
] [varlen]
+bpf_prog_policy_seg6_local [
+ SEG6_LOCAL_BPF_PROG nlattr[SEG6_LOCAL_BPF_PROG, fd_bpf_prog]
+ SEG6_LOCAL_BPF_PROG_NAME nlattr[SEG6_LOCAL_BPF_PROG_NAME, string]
+] [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 232760a7f..a1aea6e9e 100644
--- a/sys/linux/socket_netlink_route_386.const
+++ b/sys/linux/socket_netlink_route_386.const
@@ -599,6 +599,18 @@ RT_TABLE_DEFAULT = 253
RT_TABLE_LOCAL = 255
RT_TABLE_MAIN = 254
RT_TABLE_UNSPEC = 0
+SEG6_LOCAL_ACTION = 1
+SEG6_LOCAL_ACTION_END = 1
+SEG6_LOCAL_ACTION_END_BPF = 15
+SEG6_LOCAL_BPF = 8
+SEG6_LOCAL_BPF_PROG = 1
+SEG6_LOCAL_BPF_PROG_NAME = 2
+SEG6_LOCAL_IIF = 6
+SEG6_LOCAL_NH4 = 4
+SEG6_LOCAL_NH6 = 5
+SEG6_LOCAL_OIF = 7
+SEG6_LOCAL_SRH = 2
+SEG6_LOCAL_TABLE = 3
SOCK_RAW = 3
TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
diff --git a/sys/linux/socket_netlink_route_amd64.const b/sys/linux/socket_netlink_route_amd64.const
index 38bd0ecc3..0658e085c 100644
--- a/sys/linux/socket_netlink_route_amd64.const
+++ b/sys/linux/socket_netlink_route_amd64.const
@@ -599,6 +599,18 @@ RT_TABLE_DEFAULT = 253
RT_TABLE_LOCAL = 255
RT_TABLE_MAIN = 254
RT_TABLE_UNSPEC = 0
+SEG6_LOCAL_ACTION = 1
+SEG6_LOCAL_ACTION_END = 1
+SEG6_LOCAL_ACTION_END_BPF = 15
+SEG6_LOCAL_BPF = 8
+SEG6_LOCAL_BPF_PROG = 1
+SEG6_LOCAL_BPF_PROG_NAME = 2
+SEG6_LOCAL_IIF = 6
+SEG6_LOCAL_NH4 = 4
+SEG6_LOCAL_NH6 = 5
+SEG6_LOCAL_OIF = 7
+SEG6_LOCAL_SRH = 2
+SEG6_LOCAL_TABLE = 3
SOCK_RAW = 3
TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
diff --git a/sys/linux/socket_netlink_route_arm.const b/sys/linux/socket_netlink_route_arm.const
index a065599b3..c531c2aa2 100644
--- a/sys/linux/socket_netlink_route_arm.const
+++ b/sys/linux/socket_netlink_route_arm.const
@@ -599,6 +599,18 @@ RT_TABLE_DEFAULT = 253
RT_TABLE_LOCAL = 255
RT_TABLE_MAIN = 254
RT_TABLE_UNSPEC = 0
+SEG6_LOCAL_ACTION = 1
+SEG6_LOCAL_ACTION_END = 1
+SEG6_LOCAL_ACTION_END_BPF = 15
+SEG6_LOCAL_BPF = 8
+SEG6_LOCAL_BPF_PROG = 1
+SEG6_LOCAL_BPF_PROG_NAME = 2
+SEG6_LOCAL_IIF = 6
+SEG6_LOCAL_NH4 = 4
+SEG6_LOCAL_NH6 = 5
+SEG6_LOCAL_OIF = 7
+SEG6_LOCAL_SRH = 2
+SEG6_LOCAL_TABLE = 3
SOCK_RAW = 3
TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
diff --git a/sys/linux/socket_netlink_route_arm64.const b/sys/linux/socket_netlink_route_arm64.const
index 776ddd20b..81093979b 100644
--- a/sys/linux/socket_netlink_route_arm64.const
+++ b/sys/linux/socket_netlink_route_arm64.const
@@ -599,6 +599,18 @@ RT_TABLE_DEFAULT = 253
RT_TABLE_LOCAL = 255
RT_TABLE_MAIN = 254
RT_TABLE_UNSPEC = 0
+SEG6_LOCAL_ACTION = 1
+SEG6_LOCAL_ACTION_END = 1
+SEG6_LOCAL_ACTION_END_BPF = 15
+SEG6_LOCAL_BPF = 8
+SEG6_LOCAL_BPF_PROG = 1
+SEG6_LOCAL_BPF_PROG_NAME = 2
+SEG6_LOCAL_IIF = 6
+SEG6_LOCAL_NH4 = 4
+SEG6_LOCAL_NH6 = 5
+SEG6_LOCAL_OIF = 7
+SEG6_LOCAL_SRH = 2
+SEG6_LOCAL_TABLE = 3
SOCK_RAW = 3
TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
diff --git a/sys/linux/socket_netlink_route_mips64le.const b/sys/linux/socket_netlink_route_mips64le.const
index 404f4ad19..340225d9e 100644
--- a/sys/linux/socket_netlink_route_mips64le.const
+++ b/sys/linux/socket_netlink_route_mips64le.const
@@ -599,6 +599,18 @@ RT_TABLE_DEFAULT = 253
RT_TABLE_LOCAL = 255
RT_TABLE_MAIN = 254
RT_TABLE_UNSPEC = 0
+SEG6_LOCAL_ACTION = 1
+SEG6_LOCAL_ACTION_END = 1
+SEG6_LOCAL_ACTION_END_BPF = 15
+SEG6_LOCAL_BPF = 8
+SEG6_LOCAL_BPF_PROG = 1
+SEG6_LOCAL_BPF_PROG_NAME = 2
+SEG6_LOCAL_IIF = 6
+SEG6_LOCAL_NH4 = 4
+SEG6_LOCAL_NH6 = 5
+SEG6_LOCAL_OIF = 7
+SEG6_LOCAL_SRH = 2
+SEG6_LOCAL_TABLE = 3
SOCK_RAW = 3
TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
diff --git a/sys/linux/socket_netlink_route_ppc64le.const b/sys/linux/socket_netlink_route_ppc64le.const
index ed07810f3..f3ec3a7de 100644
--- a/sys/linux/socket_netlink_route_ppc64le.const
+++ b/sys/linux/socket_netlink_route_ppc64le.const
@@ -599,6 +599,18 @@ RT_TABLE_DEFAULT = 253
RT_TABLE_LOCAL = 255
RT_TABLE_MAIN = 254
RT_TABLE_UNSPEC = 0
+SEG6_LOCAL_ACTION = 1
+SEG6_LOCAL_ACTION_END = 1
+SEG6_LOCAL_ACTION_END_BPF = 15
+SEG6_LOCAL_BPF = 8
+SEG6_LOCAL_BPF_PROG = 1
+SEG6_LOCAL_BPF_PROG_NAME = 2
+SEG6_LOCAL_IIF = 6
+SEG6_LOCAL_NH4 = 4
+SEG6_LOCAL_NH6 = 5
+SEG6_LOCAL_OIF = 7
+SEG6_LOCAL_SRH = 2
+SEG6_LOCAL_TABLE = 3
SOCK_RAW = 3
TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
diff --git a/sys/linux/socket_netlink_route_riscv64.const b/sys/linux/socket_netlink_route_riscv64.const
index 776ddd20b..81093979b 100644
--- a/sys/linux/socket_netlink_route_riscv64.const
+++ b/sys/linux/socket_netlink_route_riscv64.const
@@ -599,6 +599,18 @@ RT_TABLE_DEFAULT = 253
RT_TABLE_LOCAL = 255
RT_TABLE_MAIN = 254
RT_TABLE_UNSPEC = 0
+SEG6_LOCAL_ACTION = 1
+SEG6_LOCAL_ACTION_END = 1
+SEG6_LOCAL_ACTION_END_BPF = 15
+SEG6_LOCAL_BPF = 8
+SEG6_LOCAL_BPF_PROG = 1
+SEG6_LOCAL_BPF_PROG_NAME = 2
+SEG6_LOCAL_IIF = 6
+SEG6_LOCAL_NH4 = 4
+SEG6_LOCAL_NH6 = 5
+SEG6_LOCAL_OIF = 7
+SEG6_LOCAL_SRH = 2
+SEG6_LOCAL_TABLE = 3
SOCK_RAW = 3
TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2
diff --git a/sys/linux/socket_netlink_route_s390x.const b/sys/linux/socket_netlink_route_s390x.const
index e6b9057d5..034832058 100644
--- a/sys/linux/socket_netlink_route_s390x.const
+++ b/sys/linux/socket_netlink_route_s390x.const
@@ -599,6 +599,18 @@ RT_TABLE_DEFAULT = 253
RT_TABLE_LOCAL = 255
RT_TABLE_MAIN = 254
RT_TABLE_UNSPEC = 0
+SEG6_LOCAL_ACTION = 1
+SEG6_LOCAL_ACTION_END = 1
+SEG6_LOCAL_ACTION_END_BPF = 15
+SEG6_LOCAL_BPF = 8
+SEG6_LOCAL_BPF_PROG = 1
+SEG6_LOCAL_BPF_PROG_NAME = 2
+SEG6_LOCAL_IIF = 6
+SEG6_LOCAL_NH4 = 4
+SEG6_LOCAL_NH6 = 5
+SEG6_LOCAL_OIF = 7
+SEG6_LOCAL_SRH = 2
+SEG6_LOCAL_TABLE = 3
SOCK_RAW = 3
TUNNEL_ENCAP_FOU = 1
TUNNEL_ENCAP_GUE = 2