From b9a80ab13ac20510ef474cb1df6fda5807c4edfc Mon Sep 17 00:00:00 2001 From: Ruxandra Stăncioi Date: Fri, 17 Jul 2020 14:27:16 +0000 Subject: 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 --- sys/linux/socket_netlink_route.txt | 16 +++++++++++++++- sys/linux/socket_netlink_route_386.const | 12 ++++++++++++ sys/linux/socket_netlink_route_amd64.const | 12 ++++++++++++ sys/linux/socket_netlink_route_arm.const | 12 ++++++++++++ sys/linux/socket_netlink_route_arm64.const | 12 ++++++++++++ sys/linux/socket_netlink_route_mips64le.const | 12 ++++++++++++ sys/linux/socket_netlink_route_ppc64le.const | 12 ++++++++++++ sys/linux/socket_netlink_route_riscv64.const | 12 ++++++++++++ sys/linux/socket_netlink_route_s390x.const | 12 ++++++++++++ 9 files changed, 111 insertions(+), 1 deletion(-) (limited to 'sys/linux') 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 include # TODO: uncomment after the kernel fixes the seg6_iptunnel.h uapi header. #include +include include include @@ -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 -- cgit mrf-deployment