]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
Update kernel headers
authorDavid Ahern <dsahern@gmail.com>
Sat, 2 Nov 2019 14:43:01 +0000 (07:43 -0700)
committerDavid Ahern <dsahern@gmail.com>
Sat, 2 Nov 2019 14:43:01 +0000 (07:43 -0700)
Update kernel headers to commit:
    c23fcbbc6aa4 ("tc-testing: added tests with cookie for conntrack TC action")

Signed-off-by: David Ahern <dsahern@gmail.com>
include/uapi/linux/bpf.h
include/uapi/linux/pkt_cls.h
include/uapi/linux/tcp.h
include/uapi/linux/tipc.h

index d2d960a2cee5384505612af66caa9f0c9197c4f9..15484f8a9570ccb65a7378e19681f9719947318f 100644 (file)
@@ -420,6 +420,7 @@ union bpf_attr {
                __u32           line_info_rec_size;     /* userspace bpf_line_info size */
                __aligned_u64   line_info;      /* line info */
                __u32           line_info_cnt;  /* number of bpf_line_info records */
+               __u32           attach_btf_id;  /* in-kernel BTF type id to attach to */
        };
 
        struct { /* anonymous struct used by BPF_OBJ_* commands */
@@ -2750,6 +2751,30 @@ union bpf_attr {
  *             **-EOPNOTSUPP** kernel configuration does not enable SYN cookies
  *
  *             **-EPROTONOSUPPORT** IP packet version is not 4 or 6
+ *
+ * int bpf_skb_output(void *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)
+ *     Description
+ *             Write raw *data* blob into a special BPF perf event held by
+ *             *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf
+ *             event must have the following attributes: **PERF_SAMPLE_RAW**
+ *             as **sample_type**, **PERF_TYPE_SOFTWARE** as **type**, and
+ *             **PERF_COUNT_SW_BPF_OUTPUT** as **config**.
+ *
+ *             The *flags* are used to indicate the index in *map* for which
+ *             the value must be put, masked with **BPF_F_INDEX_MASK**.
+ *             Alternatively, *flags* can be set to **BPF_F_CURRENT_CPU**
+ *             to indicate that the index of the current CPU core should be
+ *             used.
+ *
+ *             The value to write, of *size*, is passed through eBPF stack and
+ *             pointed by *data*.
+ *
+ *             *ctx* is a pointer to in-kernel struct sk_buff.
+ *
+ *             This helper is similar to **bpf_perf_event_output**\ () but
+ *             restricted to raw_tracepoint bpf programs.
+ *     Return
+ *             0 on success, or a negative error in case of failure.
  */
 #define __BPF_FUNC_MAPPER(FN)          \
        FN(unspec),                     \
@@ -2862,7 +2887,8 @@ union bpf_attr {
        FN(sk_storage_get),             \
        FN(sk_storage_delete),          \
        FN(send_signal),                \
-       FN(tcp_gen_syncookie),
+       FN(tcp_gen_syncookie),          \
+       FN(skb_output),
 
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
  * function eBPF program intends to call
index a6aa466fac9e85b2acde80d21ff1e00db89169f6..c6ad22f76edeec3464b99ea91eb226e9d3f5393e 100644 (file)
@@ -16,9 +16,14 @@ enum {
        TCA_ACT_STATS,
        TCA_ACT_PAD,
        TCA_ACT_COOKIE,
+       TCA_ACT_FLAGS,
        __TCA_ACT_MAX
 };
 
+#define TCA_ACT_FLAGS_NO_PERCPU_STATS 1 /* Don't use percpu allocator for
+                                        * actions stats.
+                                        */
+
 #define TCA_ACT_MAX __TCA_ACT_MAX
 #define TCA_OLD_COMPAT (TCA_ACT_MAX+1)
 #define TCA_ACT_MAX_PRIO 32
index d08acf4315ab76fc71e0bd4d1bd7c9f3b7bdf72b..9415cb9fe57ab1e5fa512f4fb996d7e9fac4d36d 100644 (file)
@@ -155,6 +155,14 @@ enum {
        TCP_QUEUES_NR,
 };
 
+/* why fastopen failed from client perspective */
+enum tcp_fastopen_client_fail {
+       TFO_STATUS_UNSPEC, /* catch-all */
+       TFO_COOKIE_UNAVAILABLE, /* if not in TFO_CLIENT_NO_COOKIE mode */
+       TFO_DATA_NOT_ACKED, /* SYN-ACK did not ack SYN data */
+       TFO_SYN_RETRANSMITTED, /* SYN-ACK did not ack SYN data after timeout */
+};
+
 /* for TCP_INFO socket option */
 #define TCPI_OPT_TIMESTAMPS    1
 #define TCPI_OPT_SACK          2
@@ -211,7 +219,7 @@ struct tcp_info {
        __u8    tcpi_backoff;
        __u8    tcpi_options;
        __u8    tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
-       __u8    tcpi_delivery_rate_app_limited:1;
+       __u8    tcpi_delivery_rate_app_limited:1, tcpi_fastopen_client_fail:2;
 
        __u32   tcpi_rto;
        __u32   tcpi_ato;
index e16cb4e2af5871d457e2a56f37838c6654661057..0f6f28b2e301019e59bbc4a5bc3f9201e151a496 100644 (file)
@@ -191,6 +191,7 @@ struct sockaddr_tipc {
 #define TIPC_GROUP_JOIN         135     /* Takes struct tipc_group_req* */
 #define TIPC_GROUP_LEAVE        136     /* No argument */
 #define TIPC_SOCK_RECVQ_USED    137     /* Default: none (read only) */
+#define TIPC_NODELAY            138     /* Default: false */
 
 /*
  * Flag values