Blame SOURCES/0001-Update-kernel-headers.patch

0ac2f3
From 4cd2ea662ae3255713a7de44e496e6ed32ade0c9 Mon Sep 17 00:00:00 2001
0ac2f3
From: Andrea Claudi <aclaudi@redhat.com>
0ac2f3
Date: Thu, 16 Apr 2020 12:41:48 +0200
0ac2f3
Subject: [PATCH] Update kernel headers
0ac2f3
0ac2f3
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1770671
0ac2f3
Upstream Status: iproute2.git commit e3af717a8d410
0ac2f3
0ac2f3
commit e3af717a8d410c97d9e0b985219ab8fc9ff18b79
0ac2f3
Author: David Ahern <dsahern@gmail.com>
0ac2f3
Date:   Sun Aug 18 11:48:02 2019 -0700
0ac2f3
0ac2f3
    Update kernel headers
0ac2f3
0ac2f3
    Update kernel headers to commit:
0ac2f3
        d83d508b74c4 ("Merge branch 'stmmac-next'")
0ac2f3
0ac2f3
    Signed-off-by: David Ahern <dsahern@gmail.com>
0ac2f3
---
0ac2f3
 include/uapi/linux/bpf.h         | 37 ++++++++++++++++++-
0ac2f3
 include/uapi/linux/can/netlink.h |  6 ++--
0ac2f3
 include/uapi/linux/devlink.h     | 62 ++++++++++++++++++++++++++++++++
0ac2f3
 include/uapi/linux/if_bridge.h   |  1 +
0ac2f3
 4 files changed, 102 insertions(+), 4 deletions(-)
0ac2f3
0ac2f3
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
0ac2f3
index 1e08475275702..79701d3e66f0b 100644
0ac2f3
--- a/include/uapi/linux/bpf.h
0ac2f3
+++ b/include/uapi/linux/bpf.h
0ac2f3
@@ -134,6 +134,7 @@ enum bpf_map_type {
0ac2f3
 	BPF_MAP_TYPE_QUEUE,
0ac2f3
 	BPF_MAP_TYPE_STACK,
0ac2f3
 	BPF_MAP_TYPE_SK_STORAGE,
0ac2f3
+	BPF_MAP_TYPE_DEVMAP_HASH,
0ac2f3
 };
0ac2f3
 
0ac2f3
 /* Note that tracing related programs such as
0ac2f3
@@ -2713,6 +2714,33 @@ union bpf_attr {
0ac2f3
  *		**-EPERM** if no permission to send the *sig*.
0ac2f3
  *
0ac2f3
  *		**-EAGAIN** if bpf program can try again.
0ac2f3
+ *
0ac2f3
+ * s64 bpf_tcp_gen_syncookie(struct bpf_sock *sk, void *iph, u32 iph_len, struct tcphdr *th, u32 th_len)
0ac2f3
+ *	Description
0ac2f3
+ *		Try to issue a SYN cookie for the packet with corresponding
0ac2f3
+ *		IP/TCP headers, *iph* and *th*, on the listening socket in *sk*.
0ac2f3
+ *
0ac2f3
+ *		*iph* points to the start of the IPv4 or IPv6 header, while
0ac2f3
+ *		*iph_len* contains **sizeof**\ (**struct iphdr**) or
0ac2f3
+ *		**sizeof**\ (**struct ip6hdr**).
0ac2f3
+ *
0ac2f3
+ *		*th* points to the start of the TCP header, while *th_len*
0ac2f3
+ *		contains the length of the TCP header.
0ac2f3
+ *
0ac2f3
+ *	Return
0ac2f3
+ *		On success, lower 32 bits hold the generated SYN cookie in
0ac2f3
+ *		followed by 16 bits which hold the MSS value for that cookie,
0ac2f3
+ *		and the top 16 bits are unused.
0ac2f3
+ *
0ac2f3
+ *		On failure, the returned value is one of the following:
0ac2f3
+ *
0ac2f3
+ *		**-EINVAL** SYN cookie cannot be issued due to error
0ac2f3
+ *
0ac2f3
+ *		**-ENOENT** SYN cookie should not be issued (no SYN flood)
0ac2f3
+ *
0ac2f3
+ *		**-EOPNOTSUPP** kernel configuration does not enable SYN cookies
0ac2f3
+ *
0ac2f3
+ *		**-EPROTONOSUPPORT** IP packet version is not 4 or 6
0ac2f3
  */
0ac2f3
 #define __BPF_FUNC_MAPPER(FN)		\
0ac2f3
 	FN(unspec),			\
0ac2f3
@@ -2824,7 +2852,8 @@ union bpf_attr {
0ac2f3
 	FN(strtoul),			\
0ac2f3
 	FN(sk_storage_get),		\
0ac2f3
 	FN(sk_storage_delete),		\
0ac2f3
-	FN(send_signal),
0ac2f3
+	FN(send_signal),		\
0ac2f3
+	FN(tcp_gen_syncookie),
0ac2f3
 
0ac2f3
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
0ac2f3
  * function eBPF program intends to call
0ac2f3
@@ -3507,6 +3536,10 @@ enum bpf_task_fd_type {
0ac2f3
 	BPF_FD_TYPE_URETPROBE,		/* filename + offset */
0ac2f3
 };
0ac2f3
 
0ac2f3
+#define BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG		(1U << 0)
0ac2f3
+#define BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL		(1U << 1)
0ac2f3
+#define BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP		(1U << 2)
0ac2f3
+
0ac2f3
 struct bpf_flow_keys {
0ac2f3
 	__u16	nhoff;
0ac2f3
 	__u16	thoff;
0ac2f3
@@ -3528,6 +3561,8 @@ struct bpf_flow_keys {
0ac2f3
 			__u32	ipv6_dst[4];	/* in6_addr; network order */
0ac2f3
 		};
0ac2f3
 	};
0ac2f3
+	__u32	flags;
0ac2f3
+	__be32	flow_label;
0ac2f3
 };
0ac2f3
 
0ac2f3
 struct bpf_func_info {
0ac2f3
diff --git a/include/uapi/linux/can/netlink.h b/include/uapi/linux/can/netlink.h
0ac2f3
index f0c5e58b8ee76..c1f62640e87bc 100644
0ac2f3
--- a/include/uapi/linux/can/netlink.h
0ac2f3
+++ b/include/uapi/linux/can/netlink.h
0ac2f3
@@ -40,15 +40,15 @@ struct can_bittiming {
0ac2f3
 };
0ac2f3
 
0ac2f3
 /*
0ac2f3
- * CAN harware-dependent bit-timing constant
0ac2f3
+ * CAN hardware-dependent bit-timing constant
0ac2f3
  *
0ac2f3
  * Used for calculating and checking bit-timing parameters
0ac2f3
  */
0ac2f3
 struct can_bittiming_const {
0ac2f3
 	char name[16];		/* Name of the CAN controller hardware */
0ac2f3
-	__u32 tseg1_min;	/* Time segement 1 = prop_seg + phase_seg1 */
0ac2f3
+	__u32 tseg1_min;	/* Time segment 1 = prop_seg + phase_seg1 */
0ac2f3
 	__u32 tseg1_max;
0ac2f3
-	__u32 tseg2_min;	/* Time segement 2 = phase_seg2 */
0ac2f3
+	__u32 tseg2_min;	/* Time segment 2 = phase_seg2 */
0ac2f3
 	__u32 tseg2_max;
0ac2f3
 	__u32 sjw_max;		/* Synchronisation jump width */
0ac2f3
 	__u32 brp_min;		/* Bit-rate prescaler */
0ac2f3
diff --git a/include/uapi/linux/devlink.h b/include/uapi/linux/devlink.h
0ac2f3
index fc195cbd66f45..3fb683bee6ba1 100644
0ac2f3
--- a/include/uapi/linux/devlink.h
0ac2f3
+++ b/include/uapi/linux/devlink.h
0ac2f3
@@ -107,6 +107,16 @@ enum devlink_command {
0ac2f3
 	DEVLINK_CMD_FLASH_UPDATE_END,		/* notification only */
0ac2f3
 	DEVLINK_CMD_FLASH_UPDATE_STATUS,	/* notification only */
0ac2f3
 
0ac2f3
+	DEVLINK_CMD_TRAP_GET,		/* can dump */
0ac2f3
+	DEVLINK_CMD_TRAP_SET,
0ac2f3
+	DEVLINK_CMD_TRAP_NEW,
0ac2f3
+	DEVLINK_CMD_TRAP_DEL,
0ac2f3
+
0ac2f3
+	DEVLINK_CMD_TRAP_GROUP_GET,	/* can dump */
0ac2f3
+	DEVLINK_CMD_TRAP_GROUP_SET,
0ac2f3
+	DEVLINK_CMD_TRAP_GROUP_NEW,
0ac2f3
+	DEVLINK_CMD_TRAP_GROUP_DEL,
0ac2f3
+
0ac2f3
 	/* add new commands above here */
0ac2f3
 	__DEVLINK_CMD_MAX,
0ac2f3
 	DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
0ac2f3
@@ -194,6 +204,47 @@ enum devlink_param_fw_load_policy_value {
0ac2f3
 	DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH,
0ac2f3
 };
0ac2f3
 
0ac2f3
+enum {
0ac2f3
+	DEVLINK_ATTR_STATS_RX_PACKETS,		/* u64 */
0ac2f3
+	DEVLINK_ATTR_STATS_RX_BYTES,		/* u64 */
0ac2f3
+
0ac2f3
+	__DEVLINK_ATTR_STATS_MAX,
0ac2f3
+	DEVLINK_ATTR_STATS_MAX = __DEVLINK_ATTR_STATS_MAX - 1
0ac2f3
+};
0ac2f3
+
0ac2f3
+/**
0ac2f3
+ * enum devlink_trap_action - Packet trap action.
0ac2f3
+ * @DEVLINK_TRAP_ACTION_DROP: Packet is dropped by the device and a copy is not
0ac2f3
+ *                            sent to the CPU.
0ac2f3
+ * @DEVLINK_TRAP_ACTION_TRAP: The sole copy of the packet is sent to the CPU.
0ac2f3
+ */
0ac2f3
+enum devlink_trap_action {
0ac2f3
+	DEVLINK_TRAP_ACTION_DROP,
0ac2f3
+	DEVLINK_TRAP_ACTION_TRAP,
0ac2f3
+};
0ac2f3
+
0ac2f3
+/**
0ac2f3
+ * enum devlink_trap_type - Packet trap type.
0ac2f3
+ * @DEVLINK_TRAP_TYPE_DROP: Trap reason is a drop. Trapped packets are only
0ac2f3
+ *                          processed by devlink and not injected to the
0ac2f3
+ *                          kernel's Rx path.
0ac2f3
+ * @DEVLINK_TRAP_TYPE_EXCEPTION: Trap reason is an exception. Packet was not
0ac2f3
+ *                               forwarded as intended due to an exception
0ac2f3
+ *                               (e.g., missing neighbour entry) and trapped to
0ac2f3
+ *                               control plane for resolution. Trapped packets
0ac2f3
+ *                               are processed by devlink and injected to
0ac2f3
+ *                               the kernel's Rx path.
0ac2f3
+ */
0ac2f3
+enum devlink_trap_type {
0ac2f3
+	DEVLINK_TRAP_TYPE_DROP,
0ac2f3
+	DEVLINK_TRAP_TYPE_EXCEPTION,
0ac2f3
+};
0ac2f3
+
0ac2f3
+enum {
0ac2f3
+	/* Trap can report input port as metadata */
0ac2f3
+	DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT,
0ac2f3
+};
0ac2f3
+
0ac2f3
 enum devlink_attr {
0ac2f3
 	/* don't change the order or add anything between, this is ABI! */
0ac2f3
 	DEVLINK_ATTR_UNSPEC,
0ac2f3
@@ -348,6 +399,17 @@ enum devlink_attr {
0ac2f3
 	DEVLINK_ATTR_PORT_PCI_PF_NUMBER,	/* u16 */
0ac2f3
 	DEVLINK_ATTR_PORT_PCI_VF_NUMBER,	/* u16 */
0ac2f3
 
0ac2f3
+	DEVLINK_ATTR_STATS,				/* nested */
0ac2f3
+
0ac2f3
+	DEVLINK_ATTR_TRAP_NAME,				/* string */
0ac2f3
+	/* enum devlink_trap_action */
0ac2f3
+	DEVLINK_ATTR_TRAP_ACTION,			/* u8 */
0ac2f3
+	/* enum devlink_trap_type */
0ac2f3
+	DEVLINK_ATTR_TRAP_TYPE,				/* u8 */
0ac2f3
+	DEVLINK_ATTR_TRAP_GENERIC,			/* flag */
0ac2f3
+	DEVLINK_ATTR_TRAP_METADATA,			/* nested */
0ac2f3
+	DEVLINK_ATTR_TRAP_GROUP_NAME,			/* string */
0ac2f3
+
0ac2f3
 	/* add new attributes above here, update the policy in devlink.c */
0ac2f3
 
0ac2f3
 	__DEVLINK_ATTR_MAX,
0ac2f3
diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h
0ac2f3
index 04f763cf53029..31fc51bdedb3c 100644
0ac2f3
--- a/include/uapi/linux/if_bridge.h
0ac2f3
+++ b/include/uapi/linux/if_bridge.h
0ac2f3
@@ -237,6 +237,7 @@ struct br_mdb_entry {
0ac2f3
 #define MDB_PERMANENT 1
0ac2f3
 	__u8 state;
0ac2f3
 #define MDB_FLAGS_OFFLOAD	(1 << 0)
0ac2f3
+#define MDB_FLAGS_FAST_LEAVE	(1 << 1)
0ac2f3
 	__u8 flags;
0ac2f3
 	__u16 vid;
0ac2f3
 	struct {
0ac2f3
-- 
0ac2f3
2.25.4
0ac2f3