|
|
07a51b |
From 864c5a906ccfe205f886aa4bfb69f738a9a4fb45 Mon Sep 17 00:00:00 2001
|
|
|
07a51b |
From: Andrea Claudi <aclaudi@redhat.com>
|
|
|
07a51b |
Date: Thu, 16 Apr 2020 12:41:49 +0200
|
|
|
07a51b |
Subject: [PATCH] Update kernel headers
|
|
|
07a51b |
|
|
|
07a51b |
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1770671
|
|
|
07a51b |
Upstream Status: iproute2.git commit 17a948c80af57
|
|
|
07a51b |
|
|
|
07a51b |
commit 17a948c80af57da2fa86a8e34153f755f86e9c9c
|
|
|
07a51b |
Author: David Ahern <dsahern@gmail.com>
|
|
|
07a51b |
Date: Sat Nov 2 07:43:01 2019 -0700
|
|
|
07a51b |
|
|
|
07a51b |
Update kernel headers
|
|
|
07a51b |
|
|
|
07a51b |
Update kernel headers to commit:
|
|
|
07a51b |
c23fcbbc6aa4 ("tc-testing: added tests with cookie for conntrack TC action")
|
|
|
07a51b |
|
|
|
07a51b |
Signed-off-by: David Ahern <dsahern@gmail.com>
|
|
|
07a51b |
---
|
|
|
07a51b |
include/uapi/linux/bpf.h | 28 +++++++++++++++++++++++++++-
|
|
|
07a51b |
include/uapi/linux/pkt_cls.h | 5 +++++
|
|
|
07a51b |
include/uapi/linux/tcp.h | 10 +++++++++-
|
|
|
07a51b |
include/uapi/linux/tipc.h | 1 +
|
|
|
07a51b |
4 files changed, 42 insertions(+), 2 deletions(-)
|
|
|
07a51b |
|
|
|
07a51b |
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
|
|
|
07a51b |
index 79701d3e66f0b..3e195ff43fa01 100644
|
|
|
07a51b |
--- a/include/uapi/linux/bpf.h
|
|
|
07a51b |
+++ b/include/uapi/linux/bpf.h
|
|
|
07a51b |
@@ -413,6 +413,7 @@ union bpf_attr {
|
|
|
07a51b |
__u32 line_info_rec_size; /* userspace bpf_line_info size */
|
|
|
07a51b |
__aligned_u64 line_info; /* line info */
|
|
|
07a51b |
__u32 line_info_cnt; /* number of bpf_line_info records */
|
|
|
07a51b |
+ __u32 attach_btf_id; /* in-kernel BTF type id to attach to */
|
|
|
07a51b |
};
|
|
|
07a51b |
|
|
|
07a51b |
struct { /* anonymous struct used by BPF_OBJ_* commands */
|
|
|
07a51b |
@@ -2741,6 +2742,30 @@ union bpf_attr {
|
|
|
07a51b |
* **-EOPNOTSUPP** kernel configuration does not enable SYN cookies
|
|
|
07a51b |
*
|
|
|
07a51b |
* **-EPROTONOSUPPORT** IP packet version is not 4 or 6
|
|
|
07a51b |
+ *
|
|
|
07a51b |
+ * int bpf_skb_output(void *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)
|
|
|
07a51b |
+ * Description
|
|
|
07a51b |
+ * Write raw *data* blob into a special BPF perf event held by
|
|
|
07a51b |
+ * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf
|
|
|
07a51b |
+ * event must have the following attributes: **PERF_SAMPLE_RAW**
|
|
|
07a51b |
+ * as **sample_type**, **PERF_TYPE_SOFTWARE** as **type**, and
|
|
|
07a51b |
+ * **PERF_COUNT_SW_BPF_OUTPUT** as **config**.
|
|
|
07a51b |
+ *
|
|
|
07a51b |
+ * The *flags* are used to indicate the index in *map* for which
|
|
|
07a51b |
+ * the value must be put, masked with **BPF_F_INDEX_MASK**.
|
|
|
07a51b |
+ * Alternatively, *flags* can be set to **BPF_F_CURRENT_CPU**
|
|
|
07a51b |
+ * to indicate that the index of the current CPU core should be
|
|
|
07a51b |
+ * used.
|
|
|
07a51b |
+ *
|
|
|
07a51b |
+ * The value to write, of *size*, is passed through eBPF stack and
|
|
|
07a51b |
+ * pointed by *data*.
|
|
|
07a51b |
+ *
|
|
|
07a51b |
+ * *ctx* is a pointer to in-kernel struct sk_buff.
|
|
|
07a51b |
+ *
|
|
|
07a51b |
+ * This helper is similar to **bpf_perf_event_output**\ () but
|
|
|
07a51b |
+ * restricted to raw_tracepoint bpf programs.
|
|
|
07a51b |
+ * Return
|
|
|
07a51b |
+ * 0 on success, or a negative error in case of failure.
|
|
|
07a51b |
*/
|
|
|
07a51b |
#define __BPF_FUNC_MAPPER(FN) \
|
|
|
07a51b |
FN(unspec), \
|
|
|
07a51b |
@@ -2853,7 +2878,8 @@ union bpf_attr {
|
|
|
07a51b |
FN(sk_storage_get), \
|
|
|
07a51b |
FN(sk_storage_delete), \
|
|
|
07a51b |
FN(send_signal), \
|
|
|
07a51b |
- FN(tcp_gen_syncookie),
|
|
|
07a51b |
+ FN(tcp_gen_syncookie), \
|
|
|
07a51b |
+ FN(skb_output),
|
|
|
07a51b |
|
|
|
07a51b |
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
|
|
07a51b |
* function eBPF program intends to call
|
|
|
07a51b |
diff --git a/include/uapi/linux/pkt_cls.h b/include/uapi/linux/pkt_cls.h
|
|
|
07a51b |
index b057aeeb63386..0a9ab625cba7b 100644
|
|
|
07a51b |
--- a/include/uapi/linux/pkt_cls.h
|
|
|
07a51b |
+++ b/include/uapi/linux/pkt_cls.h
|
|
|
07a51b |
@@ -16,9 +16,14 @@ enum {
|
|
|
07a51b |
TCA_ACT_STATS,
|
|
|
07a51b |
TCA_ACT_PAD,
|
|
|
07a51b |
TCA_ACT_COOKIE,
|
|
|
07a51b |
+ TCA_ACT_FLAGS,
|
|
|
07a51b |
__TCA_ACT_MAX
|
|
|
07a51b |
};
|
|
|
07a51b |
|
|
|
07a51b |
+#define TCA_ACT_FLAGS_NO_PERCPU_STATS 1 /* Don't use percpu allocator for
|
|
|
07a51b |
+ * actions stats.
|
|
|
07a51b |
+ */
|
|
|
07a51b |
+
|
|
|
07a51b |
#define TCA_ACT_MAX __TCA_ACT_MAX
|
|
|
07a51b |
#define TCA_OLD_COMPAT (TCA_ACT_MAX+1)
|
|
|
07a51b |
#define TCA_ACT_MAX_PRIO 32
|
|
|
07a51b |
diff --git a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h
|
|
|
07a51b |
index 3fd9b29146b17..acb15ca8558c0 100644
|
|
|
07a51b |
--- a/include/uapi/linux/tcp.h
|
|
|
07a51b |
+++ b/include/uapi/linux/tcp.h
|
|
|
07a51b |
@@ -155,6 +155,14 @@ enum {
|
|
|
07a51b |
TCP_QUEUES_NR,
|
|
|
07a51b |
};
|
|
|
07a51b |
|
|
|
07a51b |
+/* why fastopen failed from client perspective */
|
|
|
07a51b |
+enum tcp_fastopen_client_fail {
|
|
|
07a51b |
+ TFO_STATUS_UNSPEC, /* catch-all */
|
|
|
07a51b |
+ TFO_COOKIE_UNAVAILABLE, /* if not in TFO_CLIENT_NO_COOKIE mode */
|
|
|
07a51b |
+ TFO_DATA_NOT_ACKED, /* SYN-ACK did not ack SYN data */
|
|
|
07a51b |
+ TFO_SYN_RETRANSMITTED, /* SYN-ACK did not ack SYN data after timeout */
|
|
|
07a51b |
+};
|
|
|
07a51b |
+
|
|
|
07a51b |
/* for TCP_INFO socket option */
|
|
|
07a51b |
#define TCPI_OPT_TIMESTAMPS 1
|
|
|
07a51b |
#define TCPI_OPT_SACK 2
|
|
|
07a51b |
@@ -211,7 +219,7 @@ struct tcp_info {
|
|
|
07a51b |
__u8 tcpi_backoff;
|
|
|
07a51b |
__u8 tcpi_options;
|
|
|
07a51b |
__u8 tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
|
|
|
07a51b |
- __u8 tcpi_delivery_rate_app_limited:1;
|
|
|
07a51b |
+ __u8 tcpi_delivery_rate_app_limited:1, tcpi_fastopen_client_fail:2;
|
|
|
07a51b |
|
|
|
07a51b |
__u32 tcpi_rto;
|
|
|
07a51b |
__u32 tcpi_ato;
|
|
|
07a51b |
diff --git a/include/uapi/linux/tipc.h b/include/uapi/linux/tipc.h
|
|
|
07a51b |
index e16cb4e2af587..0f6f28b2e3010 100644
|
|
|
07a51b |
--- a/include/uapi/linux/tipc.h
|
|
|
07a51b |
+++ b/include/uapi/linux/tipc.h
|
|
|
07a51b |
@@ -191,6 +191,7 @@ struct sockaddr_tipc {
|
|
|
07a51b |
#define TIPC_GROUP_JOIN 135 /* Takes struct tipc_group_req* */
|
|
|
07a51b |
#define TIPC_GROUP_LEAVE 136 /* No argument */
|
|
|
07a51b |
#define TIPC_SOCK_RECVQ_USED 137 /* Default: none (read only) */
|
|
|
07a51b |
+#define TIPC_NODELAY 138 /* Default: false */
|
|
|
07a51b |
|
|
|
07a51b |
/*
|
|
|
07a51b |
* Flag values
|
|
|
07a51b |
--
|
|
|
07a51b |
2.25.4
|
|
|
07a51b |
|