]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
Update kernel headers
authorDavid Ahern <dsahern@kernel.org>
Thu, 19 Oct 2023 15:34:46 +0000 (15:34 +0000)
committerDavid Ahern <dsahern@kernel.org>
Thu, 19 Oct 2023 15:34:46 +0000 (15:34 +0000)
Update kernel headers to commit
    dcf02bac377e ("Merge branch 'net-stmmac-improve-tx-timer-logic'")

Signed-off-by: David Ahern <dsahern@kernel.org>
include/uapi/linux/bpf.h
include/uapi/linux/devlink.h
include/uapi/linux/if_link.h
include/uapi/linux/pkt_sched.h
include/uapi/linux/tcp.h

index f6f4347b75a5c9408406ac3f90611c71bff602ad..0877a9f0af7a4b3fc54d8aaa8fb5b1d9829f4d0e 100644 (file)
@@ -932,7 +932,14 @@ enum bpf_map_type {
         */
        BPF_MAP_TYPE_CGROUP_STORAGE = BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED,
        BPF_MAP_TYPE_REUSEPORT_SOCKARRAY,
-       BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE,
+       BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED,
+       /* BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE is available to bpf programs
+        * attaching to a cgroup. The new mechanism (BPF_MAP_TYPE_CGRP_STORAGE +
+        * local percpu kptr) supports all BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE
+        * functionality and more. So mark * BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE
+        * deprecated.
+        */
+       BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED,
        BPF_MAP_TYPE_QUEUE,
        BPF_MAP_TYPE_STACK,
        BPF_MAP_TYPE_SK_STORAGE,
@@ -1040,6 +1047,11 @@ enum bpf_attach_type {
        BPF_TCX_INGRESS,
        BPF_TCX_EGRESS,
        BPF_TRACE_UPROBE_MULTI,
+       BPF_CGROUP_UNIX_CONNECT,
+       BPF_CGROUP_UNIX_SENDMSG,
+       BPF_CGROUP_UNIX_RECVMSG,
+       BPF_CGROUP_UNIX_GETPEERNAME,
+       BPF_CGROUP_UNIX_GETSOCKNAME,
        __MAX_BPF_ATTACH_TYPE
 };
 
@@ -2697,8 +2709,8 @@ union bpf_attr {
  *             *bpf_socket* should be one of the following:
  *
  *             * **struct bpf_sock_ops** for **BPF_PROG_TYPE_SOCK_OPS**.
- *             * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT**
- *               and **BPF_CGROUP_INET6_CONNECT**.
+ *             * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT**,
+ *               **BPF_CGROUP_INET6_CONNECT** and **BPF_CGROUP_UNIX_CONNECT**.
  *
  *             This helper actually implements a subset of **setsockopt()**.
  *             It supports the following *level*\ s:
@@ -2936,8 +2948,8 @@ union bpf_attr {
  *             *bpf_socket* should be one of the following:
  *
  *             * **struct bpf_sock_ops** for **BPF_PROG_TYPE_SOCK_OPS**.
- *             * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT**
- *               and **BPF_CGROUP_INET6_CONNECT**.
+ *             * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT**,
+ *               **BPF_CGROUP_INET6_CONNECT** and **BPF_CGROUP_UNIX_CONNECT**.
  *
  *             This helper actually implements a subset of **getsockopt()**.
  *             It supports the same set of *optname*\ s that is supported by
@@ -3257,6 +3269,11 @@ union bpf_attr {
  *                     and *params*->smac will not be set as output. A common
  *                     use case is to call **bpf_redirect_neigh**\ () after
  *                     doing **bpf_fib_lookup**\ ().
+ *             **BPF_FIB_LOOKUP_SRC**
+ *                     Derive and set source IP addr in *params*->ipv{4,6}_src
+ *                     for the nexthop. If the src addr cannot be derived,
+ *                     **BPF_FIB_LKUP_RET_NO_SRC_ADDR** is returned. In this
+ *                     case, *params*->dmac and *params*->smac are not set either.
  *
  *             *ctx* is either **struct xdp_md** for XDP programs or
  *             **struct sk_buff** tc cls_act programs.
@@ -5089,6 +5106,8 @@ union bpf_attr {
  *             **BPF_F_TIMER_ABS**
  *                     Start the timer in absolute expire value instead of the
  *                     default relative one.
+ *             **BPF_F_TIMER_CPU_PIN**
+ *                     Timer will be pinned to the CPU of the caller.
  *
  *     Return
  *             0 on success.
@@ -6525,6 +6544,7 @@ struct bpf_link_info {
                        __aligned_u64 addrs;
                        __u32 count; /* in/out: kprobe_multi function count */
                        __u32 flags;
+                       __u64 missed;
                } kprobe_multi;
                struct {
                        __u32 type; /* enum bpf_perf_event_type */
@@ -6540,6 +6560,7 @@ struct bpf_link_info {
                                        __u32 name_len;
                                        __u32 offset; /* offset from func_name */
                                        __u64 addr;
+                                       __u64 missed;
                                } kprobe; /* BPF_PERF_EVENT_KPROBE, BPF_PERF_EVENT_KRETPROBE */
                                struct {
                                        __aligned_u64 tp_name;   /* in/out */
@@ -6953,6 +6974,7 @@ enum {
        BPF_FIB_LOOKUP_OUTPUT  = (1U << 1),
        BPF_FIB_LOOKUP_SKIP_NEIGH = (1U << 2),
        BPF_FIB_LOOKUP_TBID    = (1U << 3),
+       BPF_FIB_LOOKUP_SRC     = (1U << 4),
 };
 
 enum {
@@ -6965,6 +6987,7 @@ enum {
        BPF_FIB_LKUP_RET_UNSUPP_LWT,   /* fwd requires encapsulation */
        BPF_FIB_LKUP_RET_NO_NEIGH,     /* no neighbor entry for nh */
        BPF_FIB_LKUP_RET_FRAG_NEEDED,  /* fragmentation required to fwd */
+       BPF_FIB_LKUP_RET_NO_SRC_ADDR,  /* failed to derive IP src addr */
 };
 
 struct bpf_fib_lookup {
@@ -6999,6 +7022,9 @@ struct bpf_fib_lookup {
                __u32   rt_metric;
        };
 
+       /* input: source address to consider for lookup
+        * output: source address result from lookup
+        */
        union {
                __be32          ipv4_src;
                __u32           ipv6_src[4];  /* in6_addr; network order */
@@ -7300,9 +7326,11 @@ struct bpf_core_relo {
  * Flags to control bpf_timer_start() behaviour.
  *     - BPF_F_TIMER_ABS: Timeout passed is absolute time, by default it is
  *       relative to current time.
+ *     - BPF_F_TIMER_CPU_PIN: Timer will be pinned to the CPU of the caller.
  */
 enum {
        BPF_F_TIMER_ABS = (1ULL << 0),
+       BPF_F_TIMER_CPU_PIN = (1ULL << 1),
 };
 
 /* BPF numbers iterator state */
index 8b9b98e7505952ee36fe4990b8f251094e9b89cc..6c4721270910432f647bd201e10121afe6146c3d 100644 (file)
@@ -680,6 +680,7 @@ enum devlink_port_function_attr {
        DEVLINK_PORT_FN_ATTR_STATE,     /* u8 */
        DEVLINK_PORT_FN_ATTR_OPSTATE,   /* u8 */
        DEVLINK_PORT_FN_ATTR_CAPS,      /* bitfield32 */
+       DEVLINK_PORT_FN_ATTR_DEVLINK,   /* nested */
 
        __DEVLINK_PORT_FUNCTION_ATTR_MAX,
        DEVLINK_PORT_FUNCTION_ATTR_MAX = __DEVLINK_PORT_FUNCTION_ATTR_MAX - 1
index c2ca7a6add0eb2ea3a0cad49393c9c20ffd88af8..f01f6299f714e85bda491b762743a0bbb3f651b8 100644 (file)
@@ -376,7 +376,7 @@ enum {
 
        IFLA_GSO_IPV4_MAX_SIZE,
        IFLA_GRO_IPV4_MAX_SIZE,
-
+       IFLA_DPLL_PIN,
        __IFLA_MAX
 };
 
@@ -508,6 +508,8 @@ enum {
        IFLA_BR_VLAN_STATS_PER_PORT,
        IFLA_BR_MULTI_BOOLOPT,
        IFLA_BR_MCAST_QUERIER_STATE,
+       IFLA_BR_FDB_N_LEARNED,
+       IFLA_BR_FDB_MAX_LEARNED,
        __IFLA_BR_MAX,
 };
 
index 3f85ae5780563cdfb42fdb3a107ca2489d0830a4..f762a10bfb78ed896d8a5b936045a956d97b3831 100644 (file)
@@ -941,15 +941,22 @@ enum {
 
        TCA_FQ_HORIZON_DROP,    /* drop packets beyond horizon, or cap their EDT */
 
+       TCA_FQ_PRIOMAP,         /* prio2band */
+
+       TCA_FQ_WEIGHTS,         /* Weights for each band */
+
        __TCA_FQ_MAX
 };
 
 #define TCA_FQ_MAX     (__TCA_FQ_MAX - 1)
 
+#define FQ_BANDS 3
+#define FQ_MIN_WEIGHT 16384
+
 struct tc_fq_qd_stats {
        __u64   gc_flows;
-       __u64   highprio_packets;
-       __u64   tcp_retrans;
+       __u64   highprio_packets;       /* obsolete */
+       __u64   tcp_retrans;            /* obsolete */
        __u64   throttled;
        __u64   flows_plimit;
        __u64   pkts_too_long;
@@ -962,6 +969,10 @@ struct tc_fq_qd_stats {
        __u64   ce_mark;                /* packets above ce_threshold */
        __u64   horizon_drops;
        __u64   horizon_caps;
+       __u64   fastpath_packets;
+       __u64   band_drops[FQ_BANDS];
+       __u32   band_pkt_count[FQ_BANDS];
+       __u32   pad;
 };
 
 /* Heavy-Hitter Filter */
index 4ee5d7721c6fcf076eb05486a4c433b73db603e4..fa34e496fb64093df27a8b592900641ad1faa719 100644 (file)
@@ -289,6 +289,18 @@ struct tcp_info {
                                      */
 
        __u32   tcpi_rehash;         /* PLB or timeout triggered rehash attempts */
+
+       __u16   tcpi_total_rto; /* Total number of RTO timeouts, including
+                                * SYN/SYN-ACK and recurring timeouts.
+                                */
+       __u16   tcpi_total_rto_recoveries;      /* Total number of RTO
+                                                * recoveries, including any
+                                                * unfinished recovery.
+                                                */
+       __u32   tcpi_total_rto_time;    /* Total time spent in RTO recoveries
+                                        * in milliseconds, including any
+                                        * unfinished recovery.
+                                        */
 };
 
 /* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */