669 lines
19 KiB
Diff
669 lines
19 KiB
Diff
From 7bd1daafe80ecd7e7419616fabadfe41c6e4fe7a Mon Sep 17 00:00:00 2001
|
|
From: Phil Sutter <psutter@redhat.com>
|
|
Date: Thu, 13 Sep 2018 21:29:59 +0200
|
|
Subject: [PATCH] Update kernel headers
|
|
|
|
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1615915
|
|
Upstream Status: RHEL-only
|
|
|
|
This updates include/uapi/linux to the state of upstream commit
|
|
761ec9e29ff867452057f59dc6ca430688b409ea.
|
|
---
|
|
include/uapi/linux/bpf.h | 9 +-
|
|
include/uapi/linux/btf.h | 113 +++++++++++++++++++++++++
|
|
include/uapi/linux/devlink.h | 42 ++++++++++
|
|
include/uapi/linux/if_link.h | 4 +
|
|
include/uapi/linux/ila.h | 1 +
|
|
include/uapi/linux/pkt_cls.h | 9 ++
|
|
include/uapi/linux/pkt_sched.h | 135 ++++++++++++++++++++++++++++++
|
|
include/uapi/linux/sctp.h | 5 ++
|
|
include/uapi/linux/tc_act/tc_pedit.h | 9 +-
|
|
include/uapi/linux/tc_act/tc_skbedit.h | 2 +
|
|
include/uapi/linux/tc_act/tc_tunnel_key.h | 28 +++++++
|
|
include/uapi/linux/tcp.h | 4 -
|
|
include/uapi/linux/tipc_netlink.h | 14 ++++
|
|
13 files changed, 365 insertions(+), 10 deletions(-)
|
|
create mode 100644 include/uapi/linux/btf.h
|
|
|
|
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
|
|
index 57e7390..b9a6367 100644
|
|
--- a/include/uapi/linux/bpf.h
|
|
+++ b/include/uapi/linux/bpf.h
|
|
@@ -1826,7 +1826,7 @@ union bpf_attr {
|
|
* A non-negative value equal to or less than *size* on success,
|
|
* or a negative error in case of failure.
|
|
*
|
|
- * int skb_load_bytes_relative(const struct sk_buff *skb, u32 offset, void *to, u32 len, u32 start_header)
|
|
+ * int bpf_skb_load_bytes_relative(const struct sk_buff *skb, u32 offset, void *to, u32 len, u32 start_header)
|
|
* Description
|
|
* This helper is similar to **bpf_skb_load_bytes**\ () in that
|
|
* it provides an easy way to load *len* bytes from *offset*
|
|
@@ -1877,7 +1877,7 @@ union bpf_attr {
|
|
* * < 0 if any input argument is invalid
|
|
* * 0 on success (packet is forwarded, nexthop neighbor exists)
|
|
* * > 0 one of **BPF_FIB_LKUP_RET_** codes explaining why the
|
|
- * * packet is not forwarded or needs assist from full stack
|
|
+ * packet is not forwarded or needs assist from full stack
|
|
*
|
|
* int bpf_sock_hash_update(struct bpf_sock_ops_kern *skops, struct bpf_map *map, void *key, u64 flags)
|
|
* Description
|
|
@@ -2033,7 +2033,6 @@ union bpf_attr {
|
|
* This helper is only available is the kernel was compiled with
|
|
* the **CONFIG_BPF_LIRC_MODE2** configuration option set to
|
|
* "**y**".
|
|
- *
|
|
* Return
|
|
* 0
|
|
*
|
|
@@ -2053,7 +2052,6 @@ union bpf_attr {
|
|
* This helper is only available is the kernel was compiled with
|
|
* the **CONFIG_BPF_LIRC_MODE2** configuration option set to
|
|
* "**y**".
|
|
- *
|
|
* Return
|
|
* 0
|
|
*
|
|
@@ -2557,6 +2555,9 @@ enum {
|
|
* Arg1: old_state
|
|
* Arg2: new_state
|
|
*/
|
|
+ BPF_SOCK_OPS_TCP_LISTEN_CB, /* Called on listen(2), right after
|
|
+ * socket transition to LISTEN state.
|
|
+ */
|
|
};
|
|
|
|
/* List of TCP states. There is a build check in net/ipv4/tcp.c to detect
|
|
diff --git a/include/uapi/linux/btf.h b/include/uapi/linux/btf.h
|
|
new file mode 100644
|
|
index 0000000..5dd580a
|
|
--- /dev/null
|
|
+++ b/include/uapi/linux/btf.h
|
|
@@ -0,0 +1,113 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+/* Copyright (c) 2018 Facebook */
|
|
+#ifndef __LINUX_BTF_H__
|
|
+#define __LINUX_BTF_H__
|
|
+
|
|
+#include <linux/types.h>
|
|
+
|
|
+#define BTF_MAGIC 0xeB9F
|
|
+#define BTF_VERSION 1
|
|
+
|
|
+struct btf_header {
|
|
+ __u16 magic;
|
|
+ __u8 version;
|
|
+ __u8 flags;
|
|
+ __u32 hdr_len;
|
|
+
|
|
+ /* All offsets are in bytes relative to the end of this header */
|
|
+ __u32 type_off; /* offset of type section */
|
|
+ __u32 type_len; /* length of type section */
|
|
+ __u32 str_off; /* offset of string section */
|
|
+ __u32 str_len; /* length of string section */
|
|
+};
|
|
+
|
|
+/* Max # of type identifier */
|
|
+#define BTF_MAX_TYPE 0x0000ffff
|
|
+/* Max offset into the string section */
|
|
+#define BTF_MAX_NAME_OFFSET 0x0000ffff
|
|
+/* Max # of struct/union/enum members or func args */
|
|
+#define BTF_MAX_VLEN 0xffff
|
|
+
|
|
+struct btf_type {
|
|
+ __u32 name_off;
|
|
+ /* "info" bits arrangement
|
|
+ * bits 0-15: vlen (e.g. # of struct's members)
|
|
+ * bits 16-23: unused
|
|
+ * bits 24-27: kind (e.g. int, ptr, array...etc)
|
|
+ * bits 28-31: unused
|
|
+ */
|
|
+ __u32 info;
|
|
+ /* "size" is used by INT, ENUM, STRUCT and UNION.
|
|
+ * "size" tells the size of the type it is describing.
|
|
+ *
|
|
+ * "type" is used by PTR, TYPEDEF, VOLATILE, CONST and RESTRICT.
|
|
+ * "type" is a type_id referring to another type.
|
|
+ */
|
|
+ union {
|
|
+ __u32 size;
|
|
+ __u32 type;
|
|
+ };
|
|
+};
|
|
+
|
|
+#define BTF_INFO_KIND(info) (((info) >> 24) & 0x0f)
|
|
+#define BTF_INFO_VLEN(info) ((info) & 0xffff)
|
|
+
|
|
+#define BTF_KIND_UNKN 0 /* Unknown */
|
|
+#define BTF_KIND_INT 1 /* Integer */
|
|
+#define BTF_KIND_PTR 2 /* Pointer */
|
|
+#define BTF_KIND_ARRAY 3 /* Array */
|
|
+#define BTF_KIND_STRUCT 4 /* Struct */
|
|
+#define BTF_KIND_UNION 5 /* Union */
|
|
+#define BTF_KIND_ENUM 6 /* Enumeration */
|
|
+#define BTF_KIND_FWD 7 /* Forward */
|
|
+#define BTF_KIND_TYPEDEF 8 /* Typedef */
|
|
+#define BTF_KIND_VOLATILE 9 /* Volatile */
|
|
+#define BTF_KIND_CONST 10 /* Const */
|
|
+#define BTF_KIND_RESTRICT 11 /* Restrict */
|
|
+#define BTF_KIND_MAX 11
|
|
+#define NR_BTF_KINDS 12
|
|
+
|
|
+/* For some specific BTF_KIND, "struct btf_type" is immediately
|
|
+ * followed by extra data.
|
|
+ */
|
|
+
|
|
+/* BTF_KIND_INT is followed by a u32 and the following
|
|
+ * is the 32 bits arrangement:
|
|
+ */
|
|
+#define BTF_INT_ENCODING(VAL) (((VAL) & 0x0f000000) >> 24)
|
|
+#define BTF_INT_OFFSET(VAL) (((VAL & 0x00ff0000)) >> 16)
|
|
+#define BTF_INT_BITS(VAL) ((VAL) & 0x0000ffff)
|
|
+
|
|
+/* Attributes stored in the BTF_INT_ENCODING */
|
|
+#define BTF_INT_SIGNED (1 << 0)
|
|
+#define BTF_INT_CHAR (1 << 1)
|
|
+#define BTF_INT_BOOL (1 << 2)
|
|
+
|
|
+/* BTF_KIND_ENUM is followed by multiple "struct btf_enum".
|
|
+ * The exact number of btf_enum is stored in the vlen (of the
|
|
+ * info in "struct btf_type").
|
|
+ */
|
|
+struct btf_enum {
|
|
+ __u32 name_off;
|
|
+ __s32 val;
|
|
+};
|
|
+
|
|
+/* BTF_KIND_ARRAY is followed by one "struct btf_array" */
|
|
+struct btf_array {
|
|
+ __u32 type;
|
|
+ __u32 index_type;
|
|
+ __u32 nelems;
|
|
+};
|
|
+
|
|
+/* BTF_KIND_STRUCT and BTF_KIND_UNION are followed
|
|
+ * by multiple "struct btf_member". The exact number
|
|
+ * of btf_member is stored in the vlen (of the info in
|
|
+ * "struct btf_type").
|
|
+ */
|
|
+struct btf_member {
|
|
+ __u32 name_off;
|
|
+ __u32 type;
|
|
+ __u32 offset; /* offset in bits */
|
|
+};
|
|
+
|
|
+#endif /* __LINUX_BTF_H__ */
|
|
diff --git a/include/uapi/linux/devlink.h b/include/uapi/linux/devlink.h
|
|
index 493f71f..5ee0e73 100644
|
|
--- a/include/uapi/linux/devlink.h
|
|
+++ b/include/uapi/linux/devlink.h
|
|
@@ -78,6 +78,17 @@ enum devlink_command {
|
|
*/
|
|
DEVLINK_CMD_RELOAD,
|
|
|
|
+ DEVLINK_CMD_PARAM_GET, /* can dump */
|
|
+ DEVLINK_CMD_PARAM_SET,
|
|
+ DEVLINK_CMD_PARAM_NEW,
|
|
+ DEVLINK_CMD_PARAM_DEL,
|
|
+
|
|
+ DEVLINK_CMD_REGION_GET,
|
|
+ DEVLINK_CMD_REGION_SET,
|
|
+ DEVLINK_CMD_REGION_NEW,
|
|
+ DEVLINK_CMD_REGION_DEL,
|
|
+ DEVLINK_CMD_REGION_READ,
|
|
+
|
|
/* add new commands above here */
|
|
__DEVLINK_CMD_MAX,
|
|
DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
|
|
@@ -142,6 +153,16 @@ enum devlink_port_flavour {
|
|
*/
|
|
};
|
|
|
|
+enum devlink_param_cmode {
|
|
+ DEVLINK_PARAM_CMODE_RUNTIME,
|
|
+ DEVLINK_PARAM_CMODE_DRIVERINIT,
|
|
+ DEVLINK_PARAM_CMODE_PERMANENT,
|
|
+
|
|
+ /* Add new configuration modes above */
|
|
+ __DEVLINK_PARAM_CMODE_MAX,
|
|
+ DEVLINK_PARAM_CMODE_MAX = __DEVLINK_PARAM_CMODE_MAX - 1
|
|
+};
|
|
+
|
|
enum devlink_attr {
|
|
/* don't change the order or add anything between, this is ABI! */
|
|
DEVLINK_ATTR_UNSPEC,
|
|
@@ -238,6 +259,27 @@ enum devlink_attr {
|
|
DEVLINK_ATTR_PORT_NUMBER, /* u32 */
|
|
DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER, /* u32 */
|
|
|
|
+ DEVLINK_ATTR_PARAM, /* nested */
|
|
+ DEVLINK_ATTR_PARAM_NAME, /* string */
|
|
+ DEVLINK_ATTR_PARAM_GENERIC, /* flag */
|
|
+ DEVLINK_ATTR_PARAM_TYPE, /* u8 */
|
|
+ DEVLINK_ATTR_PARAM_VALUES_LIST, /* nested */
|
|
+ DEVLINK_ATTR_PARAM_VALUE, /* nested */
|
|
+ DEVLINK_ATTR_PARAM_VALUE_DATA, /* dynamic */
|
|
+ DEVLINK_ATTR_PARAM_VALUE_CMODE, /* u8 */
|
|
+
|
|
+ DEVLINK_ATTR_REGION_NAME, /* string */
|
|
+ DEVLINK_ATTR_REGION_SIZE, /* u64 */
|
|
+ DEVLINK_ATTR_REGION_SNAPSHOTS, /* nested */
|
|
+ DEVLINK_ATTR_REGION_SNAPSHOT, /* nested */
|
|
+ DEVLINK_ATTR_REGION_SNAPSHOT_ID, /* u32 */
|
|
+
|
|
+ DEVLINK_ATTR_REGION_CHUNKS, /* nested */
|
|
+ DEVLINK_ATTR_REGION_CHUNK, /* nested */
|
|
+ DEVLINK_ATTR_REGION_CHUNK_DATA, /* binary */
|
|
+ DEVLINK_ATTR_REGION_CHUNK_ADDR, /* u64 */
|
|
+ DEVLINK_ATTR_REGION_CHUNK_LEN, /* u64 */
|
|
+
|
|
/* add new attributes above here, update the policy in devlink.c */
|
|
|
|
__DEVLINK_ATTR_MAX,
|
|
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
|
|
index 4eccc7f..1c64ed4 100644
|
|
--- a/include/uapi/linux/if_link.h
|
|
+++ b/include/uapi/linux/if_link.h
|
|
@@ -918,6 +918,7 @@ enum {
|
|
XDP_ATTACHED_DRV,
|
|
XDP_ATTACHED_SKB,
|
|
XDP_ATTACHED_HW,
|
|
+ XDP_ATTACHED_MULTI,
|
|
};
|
|
|
|
enum {
|
|
@@ -926,6 +927,9 @@ enum {
|
|
IFLA_XDP_ATTACHED,
|
|
IFLA_XDP_FLAGS,
|
|
IFLA_XDP_PROG_ID,
|
|
+ IFLA_XDP_DRV_PROG_ID,
|
|
+ IFLA_XDP_SKB_PROG_ID,
|
|
+ IFLA_XDP_HW_PROG_ID,
|
|
__IFLA_XDP_MAX,
|
|
};
|
|
|
|
diff --git a/include/uapi/linux/ila.h b/include/uapi/linux/ila.h
|
|
index 666292c..6a6c97c 100644
|
|
--- a/include/uapi/linux/ila.h
|
|
+++ b/include/uapi/linux/ila.h
|
|
@@ -30,6 +30,7 @@ enum {
|
|
ILA_CMD_ADD,
|
|
ILA_CMD_DEL,
|
|
ILA_CMD_GET,
|
|
+ ILA_CMD_FLUSH,
|
|
|
|
__ILA_CMD_MAX,
|
|
};
|
|
diff --git a/include/uapi/linux/pkt_cls.h b/include/uapi/linux/pkt_cls.h
|
|
index 84e4c1d..b451225 100644
|
|
--- a/include/uapi/linux/pkt_cls.h
|
|
+++ b/include/uapi/linux/pkt_cls.h
|
|
@@ -469,6 +469,15 @@ enum {
|
|
TCA_FLOWER_KEY_IP_TTL, /* u8 */
|
|
TCA_FLOWER_KEY_IP_TTL_MASK, /* u8 */
|
|
|
|
+ TCA_FLOWER_KEY_CVLAN_ID, /* be16 */
|
|
+ TCA_FLOWER_KEY_CVLAN_PRIO, /* u8 */
|
|
+ TCA_FLOWER_KEY_CVLAN_ETH_TYPE, /* be16 */
|
|
+
|
|
+ TCA_FLOWER_KEY_ENC_IP_TOS, /* u8 */
|
|
+ TCA_FLOWER_KEY_ENC_IP_TOS_MASK, /* u8 */
|
|
+ TCA_FLOWER_KEY_ENC_IP_TTL, /* u8 */
|
|
+ TCA_FLOWER_KEY_ENC_IP_TTL_MASK, /* u8 */
|
|
+
|
|
__TCA_FLOWER_MAX,
|
|
};
|
|
|
|
diff --git a/include/uapi/linux/pkt_sched.h b/include/uapi/linux/pkt_sched.h
|
|
index 37b5096..d9cc9dc 100644
|
|
--- a/include/uapi/linux/pkt_sched.h
|
|
+++ b/include/uapi/linux/pkt_sched.h
|
|
@@ -539,6 +539,7 @@ enum {
|
|
TCA_NETEM_LATENCY64,
|
|
TCA_NETEM_JITTER64,
|
|
TCA_NETEM_SLOT,
|
|
+ TCA_NETEM_SLOT_DIST,
|
|
__TCA_NETEM_MAX,
|
|
};
|
|
|
|
@@ -581,6 +582,8 @@ struct tc_netem_slot {
|
|
__s64 max_delay;
|
|
__s32 max_packets;
|
|
__s32 max_bytes;
|
|
+ __s64 dist_delay; /* nsec */
|
|
+ __s64 dist_jitter; /* nsec */
|
|
};
|
|
|
|
enum {
|
|
@@ -934,4 +937,136 @@ enum {
|
|
|
|
#define TCA_CBS_MAX (__TCA_CBS_MAX - 1)
|
|
|
|
+
|
|
+/* ETF */
|
|
+struct tc_etf_qopt {
|
|
+ __s32 delta;
|
|
+ __s32 clockid;
|
|
+ __u32 flags;
|
|
+#define TC_ETF_DEADLINE_MODE_ON BIT(0)
|
|
+#define TC_ETF_OFFLOAD_ON BIT(1)
|
|
+};
|
|
+
|
|
+enum {
|
|
+ TCA_ETF_UNSPEC,
|
|
+ TCA_ETF_PARMS,
|
|
+ __TCA_ETF_MAX,
|
|
+};
|
|
+
|
|
+#define TCA_ETF_MAX (__TCA_ETF_MAX - 1)
|
|
+
|
|
+
|
|
+/* CAKE */
|
|
+enum {
|
|
+ TCA_CAKE_UNSPEC,
|
|
+ TCA_CAKE_PAD,
|
|
+ TCA_CAKE_BASE_RATE64,
|
|
+ TCA_CAKE_DIFFSERV_MODE,
|
|
+ TCA_CAKE_ATM,
|
|
+ TCA_CAKE_FLOW_MODE,
|
|
+ TCA_CAKE_OVERHEAD,
|
|
+ TCA_CAKE_RTT,
|
|
+ TCA_CAKE_TARGET,
|
|
+ TCA_CAKE_AUTORATE,
|
|
+ TCA_CAKE_MEMORY,
|
|
+ TCA_CAKE_NAT,
|
|
+ TCA_CAKE_RAW,
|
|
+ TCA_CAKE_WASH,
|
|
+ TCA_CAKE_MPU,
|
|
+ TCA_CAKE_INGRESS,
|
|
+ TCA_CAKE_ACK_FILTER,
|
|
+ TCA_CAKE_SPLIT_GSO,
|
|
+ __TCA_CAKE_MAX
|
|
+};
|
|
+#define TCA_CAKE_MAX (__TCA_CAKE_MAX - 1)
|
|
+
|
|
+enum {
|
|
+ __TCA_CAKE_STATS_INVALID,
|
|
+ TCA_CAKE_STATS_PAD,
|
|
+ TCA_CAKE_STATS_CAPACITY_ESTIMATE64,
|
|
+ TCA_CAKE_STATS_MEMORY_LIMIT,
|
|
+ TCA_CAKE_STATS_MEMORY_USED,
|
|
+ TCA_CAKE_STATS_AVG_NETOFF,
|
|
+ TCA_CAKE_STATS_MIN_NETLEN,
|
|
+ TCA_CAKE_STATS_MAX_NETLEN,
|
|
+ TCA_CAKE_STATS_MIN_ADJLEN,
|
|
+ TCA_CAKE_STATS_MAX_ADJLEN,
|
|
+ TCA_CAKE_STATS_TIN_STATS,
|
|
+ TCA_CAKE_STATS_DEFICIT,
|
|
+ TCA_CAKE_STATS_COBALT_COUNT,
|
|
+ TCA_CAKE_STATS_DROPPING,
|
|
+ TCA_CAKE_STATS_DROP_NEXT_US,
|
|
+ TCA_CAKE_STATS_P_DROP,
|
|
+ TCA_CAKE_STATS_BLUE_TIMER_US,
|
|
+ __TCA_CAKE_STATS_MAX
|
|
+};
|
|
+#define TCA_CAKE_STATS_MAX (__TCA_CAKE_STATS_MAX - 1)
|
|
+
|
|
+enum {
|
|
+ __TCA_CAKE_TIN_STATS_INVALID,
|
|
+ TCA_CAKE_TIN_STATS_PAD,
|
|
+ TCA_CAKE_TIN_STATS_SENT_PACKETS,
|
|
+ TCA_CAKE_TIN_STATS_SENT_BYTES64,
|
|
+ TCA_CAKE_TIN_STATS_DROPPED_PACKETS,
|
|
+ TCA_CAKE_TIN_STATS_DROPPED_BYTES64,
|
|
+ TCA_CAKE_TIN_STATS_ACKS_DROPPED_PACKETS,
|
|
+ TCA_CAKE_TIN_STATS_ACKS_DROPPED_BYTES64,
|
|
+ TCA_CAKE_TIN_STATS_ECN_MARKED_PACKETS,
|
|
+ TCA_CAKE_TIN_STATS_ECN_MARKED_BYTES64,
|
|
+ TCA_CAKE_TIN_STATS_BACKLOG_PACKETS,
|
|
+ TCA_CAKE_TIN_STATS_BACKLOG_BYTES,
|
|
+ TCA_CAKE_TIN_STATS_THRESHOLD_RATE64,
|
|
+ TCA_CAKE_TIN_STATS_TARGET_US,
|
|
+ TCA_CAKE_TIN_STATS_INTERVAL_US,
|
|
+ TCA_CAKE_TIN_STATS_WAY_INDIRECT_HITS,
|
|
+ TCA_CAKE_TIN_STATS_WAY_MISSES,
|
|
+ TCA_CAKE_TIN_STATS_WAY_COLLISIONS,
|
|
+ TCA_CAKE_TIN_STATS_PEAK_DELAY_US,
|
|
+ TCA_CAKE_TIN_STATS_AVG_DELAY_US,
|
|
+ TCA_CAKE_TIN_STATS_BASE_DELAY_US,
|
|
+ TCA_CAKE_TIN_STATS_SPARSE_FLOWS,
|
|
+ TCA_CAKE_TIN_STATS_BULK_FLOWS,
|
|
+ TCA_CAKE_TIN_STATS_UNRESPONSIVE_FLOWS,
|
|
+ TCA_CAKE_TIN_STATS_MAX_SKBLEN,
|
|
+ TCA_CAKE_TIN_STATS_FLOW_QUANTUM,
|
|
+ __TCA_CAKE_TIN_STATS_MAX
|
|
+};
|
|
+#define TCA_CAKE_TIN_STATS_MAX (__TCA_CAKE_TIN_STATS_MAX - 1)
|
|
+#define TC_CAKE_MAX_TINS (8)
|
|
+
|
|
+enum {
|
|
+ CAKE_FLOW_NONE = 0,
|
|
+ CAKE_FLOW_SRC_IP,
|
|
+ CAKE_FLOW_DST_IP,
|
|
+ CAKE_FLOW_HOSTS, /* = CAKE_FLOW_SRC_IP | CAKE_FLOW_DST_IP */
|
|
+ CAKE_FLOW_FLOWS,
|
|
+ CAKE_FLOW_DUAL_SRC, /* = CAKE_FLOW_SRC_IP | CAKE_FLOW_FLOWS */
|
|
+ CAKE_FLOW_DUAL_DST, /* = CAKE_FLOW_DST_IP | CAKE_FLOW_FLOWS */
|
|
+ CAKE_FLOW_TRIPLE, /* = CAKE_FLOW_HOSTS | CAKE_FLOW_FLOWS */
|
|
+ CAKE_FLOW_MAX,
|
|
+};
|
|
+
|
|
+enum {
|
|
+ CAKE_DIFFSERV_DIFFSERV3 = 0,
|
|
+ CAKE_DIFFSERV_DIFFSERV4,
|
|
+ CAKE_DIFFSERV_DIFFSERV8,
|
|
+ CAKE_DIFFSERV_BESTEFFORT,
|
|
+ CAKE_DIFFSERV_PRECEDENCE,
|
|
+ CAKE_DIFFSERV_MAX
|
|
+};
|
|
+
|
|
+enum {
|
|
+ CAKE_ACK_NONE = 0,
|
|
+ CAKE_ACK_FILTER,
|
|
+ CAKE_ACK_AGGRESSIVE,
|
|
+ CAKE_ACK_MAX
|
|
+};
|
|
+
|
|
+enum {
|
|
+ CAKE_ATM_NONE = 0,
|
|
+ CAKE_ATM_ATM,
|
|
+ CAKE_ATM_PTM,
|
|
+ CAKE_ATM_MAX
|
|
+};
|
|
+
|
|
#endif
|
|
diff --git a/include/uapi/linux/sctp.h b/include/uapi/linux/sctp.h
|
|
index 2d95ddc..dd164d7 100644
|
|
--- a/include/uapi/linux/sctp.h
|
|
+++ b/include/uapi/linux/sctp.h
|
|
@@ -100,6 +100,7 @@ typedef __s32 sctp_assoc_t;
|
|
#define SCTP_RECVNXTINFO 33
|
|
#define SCTP_DEFAULT_SNDINFO 34
|
|
#define SCTP_AUTH_DEACTIVATE_KEY 35
|
|
+#define SCTP_REUSE_PORT 36
|
|
|
|
/* Internal Socket Options. Some of the sctp library functions are
|
|
* implemented using these socket options.
|
|
@@ -762,6 +763,8 @@ enum sctp_spp_flags {
|
|
SPP_SACKDELAY_DISABLE = 1<<6, /*Disable SACK*/
|
|
SPP_SACKDELAY = SPP_SACKDELAY_ENABLE | SPP_SACKDELAY_DISABLE,
|
|
SPP_HB_TIME_IS_ZERO = 1<<7, /* Set HB delay to 0 */
|
|
+ SPP_IPV6_FLOWLABEL = 1<<8,
|
|
+ SPP_DSCP = 1<<9,
|
|
};
|
|
|
|
struct sctp_paddrparams {
|
|
@@ -772,6 +775,8 @@ struct sctp_paddrparams {
|
|
__u32 spp_pathmtu;
|
|
__u32 spp_sackdelay;
|
|
__u32 spp_flags;
|
|
+ __u32 spp_ipv6_flowlabel;
|
|
+ __u8 spp_dscp;
|
|
} __attribute__((packed, aligned(4)));
|
|
|
|
/*
|
|
diff --git a/include/uapi/linux/tc_act/tc_pedit.h b/include/uapi/linux/tc_act/tc_pedit.h
|
|
index 162d109..24ec792 100644
|
|
--- a/include/uapi/linux/tc_act/tc_pedit.h
|
|
+++ b/include/uapi/linux/tc_act/tc_pedit.h
|
|
@@ -17,13 +17,15 @@ enum {
|
|
TCA_PEDIT_KEY_EX,
|
|
__TCA_PEDIT_MAX
|
|
};
|
|
+
|
|
#define TCA_PEDIT_MAX (__TCA_PEDIT_MAX - 1)
|
|
-
|
|
+
|
|
enum {
|
|
TCA_PEDIT_KEY_EX_HTYPE = 1,
|
|
TCA_PEDIT_KEY_EX_CMD = 2,
|
|
__TCA_PEDIT_KEY_EX_MAX
|
|
};
|
|
+
|
|
#define TCA_PEDIT_KEY_EX_MAX (__TCA_PEDIT_KEY_EX_MAX - 1)
|
|
|
|
/* TCA_PEDIT_KEY_EX_HDR_TYPE_NETWROK is a special case for legacy users. It
|
|
@@ -38,6 +40,7 @@ enum pedit_header_type {
|
|
TCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5,
|
|
__PEDIT_HDR_TYPE_MAX,
|
|
};
|
|
+
|
|
#define TCA_PEDIT_HDR_TYPE_MAX (__PEDIT_HDR_TYPE_MAX - 1)
|
|
|
|
enum pedit_cmd {
|
|
@@ -45,6 +48,7 @@ enum pedit_cmd {
|
|
TCA_PEDIT_KEY_EX_CMD_ADD = 1,
|
|
__PEDIT_CMD_MAX,
|
|
};
|
|
+
|
|
#define TCA_PEDIT_CMD_MAX (__PEDIT_CMD_MAX - 1)
|
|
|
|
struct tc_pedit_key {
|
|
@@ -55,13 +59,14 @@ struct tc_pedit_key {
|
|
__u32 offmask;
|
|
__u32 shift;
|
|
};
|
|
-
|
|
+
|
|
struct tc_pedit_sel {
|
|
tc_gen;
|
|
unsigned char nkeys;
|
|
unsigned char flags;
|
|
struct tc_pedit_key keys[0];
|
|
};
|
|
+
|
|
#define tc_pedit tc_pedit_sel
|
|
|
|
#endif
|
|
diff --git a/include/uapi/linux/tc_act/tc_skbedit.h b/include/uapi/linux/tc_act/tc_skbedit.h
|
|
index fbcfe27..6de6071 100644
|
|
--- a/include/uapi/linux/tc_act/tc_skbedit.h
|
|
+++ b/include/uapi/linux/tc_act/tc_skbedit.h
|
|
@@ -30,6 +30,7 @@
|
|
#define SKBEDIT_F_MARK 0x4
|
|
#define SKBEDIT_F_PTYPE 0x8
|
|
#define SKBEDIT_F_MASK 0x10
|
|
+#define SKBEDIT_F_INHERITDSFIELD 0x20
|
|
|
|
struct tc_skbedit {
|
|
tc_gen;
|
|
@@ -45,6 +46,7 @@ enum {
|
|
TCA_SKBEDIT_PAD,
|
|
TCA_SKBEDIT_PTYPE,
|
|
TCA_SKBEDIT_MASK,
|
|
+ TCA_SKBEDIT_FLAGS,
|
|
__TCA_SKBEDIT_MAX
|
|
};
|
|
#define TCA_SKBEDIT_MAX (__TCA_SKBEDIT_MAX - 1)
|
|
diff --git a/include/uapi/linux/tc_act/tc_tunnel_key.h b/include/uapi/linux/tc_act/tc_tunnel_key.h
|
|
index 72bbefe..be384d6 100644
|
|
--- a/include/uapi/linux/tc_act/tc_tunnel_key.h
|
|
+++ b/include/uapi/linux/tc_act/tc_tunnel_key.h
|
|
@@ -36,9 +36,37 @@ enum {
|
|
TCA_TUNNEL_KEY_PAD,
|
|
TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */
|
|
TCA_TUNNEL_KEY_NO_CSUM, /* u8 */
|
|
+ TCA_TUNNEL_KEY_ENC_OPTS, /* Nested TCA_TUNNEL_KEY_ENC_OPTS_
|
|
+ * attributes
|
|
+ */
|
|
+ TCA_TUNNEL_KEY_ENC_TOS, /* u8 */
|
|
+ TCA_TUNNEL_KEY_ENC_TTL, /* u8 */
|
|
__TCA_TUNNEL_KEY_MAX,
|
|
};
|
|
|
|
#define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1)
|
|
|
|
+enum {
|
|
+ TCA_TUNNEL_KEY_ENC_OPTS_UNSPEC,
|
|
+ TCA_TUNNEL_KEY_ENC_OPTS_GENEVE, /* Nested
|
|
+ * TCA_TUNNEL_KEY_ENC_OPTS_
|
|
+ * attributes
|
|
+ */
|
|
+ __TCA_TUNNEL_KEY_ENC_OPTS_MAX,
|
|
+};
|
|
+
|
|
+#define TCA_TUNNEL_KEY_ENC_OPTS_MAX (__TCA_TUNNEL_KEY_ENC_OPTS_MAX - 1)
|
|
+
|
|
+enum {
|
|
+ TCA_TUNNEL_KEY_ENC_OPT_GENEVE_UNSPEC,
|
|
+ TCA_TUNNEL_KEY_ENC_OPT_GENEVE_CLASS, /* be16 */
|
|
+ TCA_TUNNEL_KEY_ENC_OPT_GENEVE_TYPE, /* u8 */
|
|
+ TCA_TUNNEL_KEY_ENC_OPT_GENEVE_DATA, /* 4 to 128 bytes */
|
|
+
|
|
+ __TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX,
|
|
+};
|
|
+
|
|
+#define TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX \
|
|
+ (__TCA_TUNNEL_KEY_ENC_OPT_GENEVE_MAX - 1)
|
|
+
|
|
#endif
|
|
diff --git a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h
|
|
index 99e329b..2e766cf 100644
|
|
--- a/include/uapi/linux/tcp.h
|
|
+++ b/include/uapi/linux/tcp.h
|
|
@@ -127,10 +127,6 @@ enum {
|
|
|
|
#define TCP_CM_INQ TCP_INQ
|
|
|
|
-#define TCP_REPAIR_ON 1
|
|
-#define TCP_REPAIR_OFF 0
|
|
-#define TCP_REPAIR_OFF_NO_WP -1 /* Turn off without window probes */
|
|
-
|
|
struct tcp_repair_opt {
|
|
__u32 opt_code;
|
|
__u32 opt_val;
|
|
diff --git a/include/uapi/linux/tipc_netlink.h b/include/uapi/linux/tipc_netlink.h
|
|
index 85c1198..0ebe02e 100644
|
|
--- a/include/uapi/linux/tipc_netlink.h
|
|
+++ b/include/uapi/linux/tipc_netlink.h
|
|
@@ -121,6 +121,7 @@ enum {
|
|
TIPC_NLA_SOCK_TIPC_STATE, /* u32 */
|
|
TIPC_NLA_SOCK_COOKIE, /* u64 */
|
|
TIPC_NLA_SOCK_PAD, /* flag */
|
|
+ TIPC_NLA_SOCK_GROUP, /* nest */
|
|
|
|
__TIPC_NLA_SOCK_MAX,
|
|
TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1
|
|
@@ -233,6 +234,19 @@ enum {
|
|
TIPC_NLA_MON_PEER_MAX = __TIPC_NLA_MON_PEER_MAX - 1
|
|
};
|
|
|
|
+/* Nest, socket group info */
|
|
+enum {
|
|
+ TIPC_NLA_SOCK_GROUP_ID, /* u32 */
|
|
+ TIPC_NLA_SOCK_GROUP_OPEN, /* flag */
|
|
+ TIPC_NLA_SOCK_GROUP_NODE_SCOPE, /* flag */
|
|
+ TIPC_NLA_SOCK_GROUP_CLUSTER_SCOPE, /* flag */
|
|
+ TIPC_NLA_SOCK_GROUP_INSTANCE, /* u32 */
|
|
+ TIPC_NLA_SOCK_GROUP_BC_SEND_NEXT, /* u32 */
|
|
+
|
|
+ __TIPC_NLA_SOCK_GROUP_MAX,
|
|
+ TIPC_NLA_SOCK_GROUP_MAX = __TIPC_NLA_SOCK_GROUP_MAX - 1
|
|
+};
|
|
+
|
|
/* Nest, connection info */
|
|
enum {
|
|
TIPC_NLA_CON_UNSPEC,
|
|
--
|
|
1.8.3.1
|
|
|