]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
Update kernel headers
authorDavid Ahern <dsahern@kernel.org>
Sat, 22 Apr 2023 16:03:31 +0000 (10:03 -0600)
committerDavid Ahern <dsahern@kernel.org>
Sat, 22 Apr 2023 16:03:31 +0000 (10:03 -0600)
Update kernel headers to commit:
    fbc1449d385d ("Merge tag 'mlx5-updates-2023-04-20' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux")

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

index eb0588567cf81c0c112acb56ab4ecd5bc8366efb..58e30f17192b0525ea40788c2d3f2f92f2484542 100644 (file)
@@ -986,6 +986,7 @@ enum bpf_prog_type {
        BPF_PROG_TYPE_LSM,
        BPF_PROG_TYPE_SK_LOOKUP,
        BPF_PROG_TYPE_SYSCALL, /* a program that can execute syscalls */
+       BPF_PROG_TYPE_NETFILTER,
 };
 
 enum bpf_attach_type {
@@ -1033,6 +1034,7 @@ enum bpf_attach_type {
        BPF_PERF_EVENT,
        BPF_TRACE_KPROBE_MULTI,
        BPF_LSM_CGROUP,
+       BPF_STRUCT_OPS,
        __MAX_BPF_ATTACH_TYPE
 };
 
@@ -1049,6 +1051,7 @@ enum bpf_link_type {
        BPF_LINK_TYPE_PERF_EVENT = 7,
        BPF_LINK_TYPE_KPROBE_MULTI = 8,
        BPF_LINK_TYPE_STRUCT_OPS = 9,
+       BPF_LINK_TYPE_NETFILTER = 10,
 
        MAX_BPF_LINK_TYPE,
 };
@@ -1108,7 +1111,7 @@ enum bpf_link_type {
  */
 #define BPF_F_STRICT_ALIGNMENT (1U << 0)
 
-/* If BPF_F_ANY_ALIGNMENT is used in BPF_PROF_LOAD command, the
+/* If BPF_F_ANY_ALIGNMENT is used in BPF_PROG_LOAD command, the
  * verifier will allow any alignment whatsoever.  On platforms
  * with strict alignment requirements for loads ands stores (such
  * as sparc and mips) the verifier validates that all loads and
@@ -1266,6 +1269,9 @@ enum {
 
 /* Create a map that is suitable to be an inner map with dynamic max entries */
        BPF_F_INNER_MAP         = (1U << 12),
+
+/* Create a map that will be registered/unregesitered by the backed bpf_link */
+       BPF_F_LINK              = (1U << 13),
 };
 
 /* Flags for BPF_PROG_QUERY. */
@@ -1403,6 +1409,11 @@ union bpf_attr {
                __aligned_u64   fd_array;       /* array of FDs */
                __aligned_u64   core_relos;
                __u32           core_relo_rec_size; /* sizeof(struct bpf_core_relo) */
+               /* output: actual total log contents size (including termintaing zero).
+                * It could be both larger than original log_size (if log was
+                * truncated), or smaller (if log buffer wasn't filled completely).
+                */
+               __u32           log_true_size;
        };
 
        struct { /* anonymous struct used by BPF_OBJ_* commands */
@@ -1488,6 +1499,11 @@ union bpf_attr {
                __u32           btf_size;
                __u32           btf_log_size;
                __u32           btf_log_level;
+               /* output: actual total log contents size (including termintaing zero).
+                * It could be both larger than original log_size (if log was
+                * truncated), or smaller (if log buffer wasn't filled completely).
+                */
+               __u32           btf_log_true_size;
        };
 
        struct {
@@ -1507,7 +1523,10 @@ union bpf_attr {
        } task_fd_query;
 
        struct { /* struct used by BPF_LINK_CREATE command */
-               __u32           prog_fd;        /* eBPF program to attach */
+               union {
+                       __u32           prog_fd;        /* eBPF program to attach */
+                       __u32           map_fd;         /* struct_ops to attach */
+               };
                union {
                        __u32           target_fd;      /* object to attach to */
                        __u32           target_ifindex; /* target ifindex */
@@ -1543,17 +1562,34 @@ union bpf_attr {
                                 */
                                __u64           cookie;
                        } tracing;
+                       struct {
+                               __u32           pf;
+                               __u32           hooknum;
+                               __s32           priority;
+                               __u32           flags;
+                       } netfilter;
                };
        } link_create;
 
        struct { /* struct used by BPF_LINK_UPDATE command */
                __u32           link_fd;        /* link fd */
-               /* new program fd to update link with */
-               __u32           new_prog_fd;
+               union {
+                       /* new program fd to update link with */
+                       __u32           new_prog_fd;
+                       /* new struct_ops map fd to update link with */
+                       __u32           new_map_fd;
+               };
                __u32           flags;          /* extra flags */
-               /* expected link's program fd; is specified only if
-                * BPF_F_REPLACE flag is set in flags */
-               __u32           old_prog_fd;
+               union {
+                       /* expected link's program fd; is specified only if
+                        * BPF_F_REPLACE flag is set in flags.
+                        */
+                       __u32           old_prog_fd;
+                       /* expected link's map fd; is specified only
+                        * if BPF_F_REPLACE flag is set.
+                        */
+                       __u32           old_map_fd;
+               };
        } link_update;
 
        struct {
@@ -1647,17 +1683,17 @@ union bpf_attr {
  *     Description
  *             This helper is a "printk()-like" facility for debugging. It
  *             prints a message defined by format *fmt* (of size *fmt_size*)
- *             to file *\/sys/kernel/debug/tracing/trace* from DebugFS, if
+ *             to file *\/sys/kernel/tracing/trace* from TraceFS, if
  *             available. It can take up to three additional **u64**
  *             arguments (as an eBPF helpers, the total number of arguments is
  *             limited to five).
  *
  *             Each time the helper is called, it appends a line to the trace.
- *             Lines are discarded while *\/sys/kernel/debug/tracing/trace* is
- *             open, use *\/sys/kernel/debug/tracing/trace_pipe* to avoid this.
+ *             Lines are discarded while *\/sys/kernel/tracing/trace* is
+ *             open, use *\/sys/kernel/tracing/trace_pipe* to avoid this.
  *             The format of the trace is customizable, and the exact output
  *             one will get depends on the options set in
- *             *\/sys/kernel/debug/tracing/trace_options* (see also the
+ *             *\/sys/kernel/tracing/trace_options* (see also the
  *             *README* file under the same directory). However, it usually
  *             defaults to something like:
  *
@@ -6379,6 +6415,15 @@ struct bpf_link_info {
                struct {
                        __u32 ifindex;
                } xdp;
+               struct {
+                       __u32 map_id;
+               } struct_ops;
+               struct {
+                       __u32 pf;
+                       __u32 hooknum;
+                       __s32 priority;
+                       __u32 flags;
+               } netfilter;
        };
 } __attribute__((aligned(8)));
 
@@ -6954,6 +6999,10 @@ struct bpf_rb_node {
        __u64 :64;
 } __attribute__((aligned(8)));
 
+struct bpf_refcount {
+       __u32 :32;
+} __attribute__((aligned(4)));
+
 struct bpf_sysctl {
        __u32   write;          /* Sysctl is being read (= 0) or written (= 1).
                                 * Allows 1,2,4-byte read, but no write.
@@ -7112,4 +7161,12 @@ enum {
        BPF_F_TIMER_ABS = (1ULL << 0),
 };
 
+/* BPF numbers iterator state */
+struct bpf_iter_num {
+       /* opaque iterator state; having __u64 here allows to preserve correct
+        * alignment requirements in vmlinux.h, generated from BTF
+        */
+       __u64 __opaque[1];
+} __attribute__((aligned(8)));
+
 #endif /* __LINUX_BPF_H__ */
index 792db9800aab2320490eaa3deae5d659e07fb844..e3d55b12bfb857f65f14d62d93f8a7d9e703dcb3 100644 (file)
@@ -525,6 +525,7 @@ enum {
        BRIDGE_VLANDB_ENTRY_MCAST_ROUTER,
        BRIDGE_VLANDB_ENTRY_MCAST_N_GROUPS,
        BRIDGE_VLANDB_ENTRY_MCAST_MAX_GROUPS,
+       BRIDGE_VLANDB_ENTRY_NEIGH_SUPPRESS,
        __BRIDGE_VLANDB_ENTRY_MAX,
 };
 #define BRIDGE_VLANDB_ENTRY_MAX (__BRIDGE_VLANDB_ENTRY_MAX - 1)
index 71ddffc6f9a12b246f63b1359e34d82d85c90bea..94fb7ef9e226b9aceb1272a0d72a1ac959bb8c4f 100644 (file)
@@ -567,6 +567,7 @@ enum {
        IFLA_BRPORT_MAB,
        IFLA_BRPORT_MCAST_N_GROUPS,
        IFLA_BRPORT_MCAST_MAX_GROUPS,
+       IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
        __IFLA_BRPORT_MAX
 };
 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
index 78c981d6a9d4484d6ab701be3ce72569d954e8b1..9efc42382fdb98f9e9b5470ae2a66ccf4d0ba4e1 100644 (file)
@@ -59,6 +59,7 @@ struct sockaddr_ll {
 #define PACKET_ROLLOVER_STATS          21
 #define PACKET_FANOUT_DATA             22
 #define PACKET_IGNORE_OUTGOING         23
+#define PACKET_VNET_HDR_SZ             24
 
 #define PACKET_FANOUT_HASH             0
 #define PACKET_FANOUT_LB               1
index 000eec106856a4860e1b6a73dcfd5f91c0c9aa14..51a7addc56c60a412631c7486635c7f6dcebccc2 100644 (file)
@@ -719,6 +719,11 @@ enum {
 
 #define __TC_MQPRIO_SHAPER_MAX (__TC_MQPRIO_SHAPER_MAX - 1)
 
+enum {
+       TC_FP_EXPRESS = 1,
+       TC_FP_PREEMPTIBLE = 2,
+};
+
 struct tc_mqprio_qopt {
        __u8    num_tc;
        __u8    prio_tc_map[TC_QOPT_BITMASK + 1];
@@ -732,12 +737,23 @@ struct tc_mqprio_qopt {
 #define TC_MQPRIO_F_MIN_RATE           0x4
 #define TC_MQPRIO_F_MAX_RATE           0x8
 
+enum {
+       TCA_MQPRIO_TC_ENTRY_UNSPEC,
+       TCA_MQPRIO_TC_ENTRY_INDEX,              /* u32 */
+       TCA_MQPRIO_TC_ENTRY_FP,                 /* u32 */
+
+       /* add new constants above here */
+       __TCA_MQPRIO_TC_ENTRY_CNT,
+       TCA_MQPRIO_TC_ENTRY_MAX = (__TCA_MQPRIO_TC_ENTRY_CNT - 1)
+};
+
 enum {
        TCA_MQPRIO_UNSPEC,
        TCA_MQPRIO_MODE,
        TCA_MQPRIO_SHAPER,
        TCA_MQPRIO_MIN_RATE64,
        TCA_MQPRIO_MAX_RATE64,
+       TCA_MQPRIO_TC_ENTRY,
        __TCA_MQPRIO_MAX,
 };
 
@@ -1236,6 +1252,7 @@ enum {
        TCA_TAPRIO_TC_ENTRY_UNSPEC,
        TCA_TAPRIO_TC_ENTRY_INDEX,              /* u32 */
        TCA_TAPRIO_TC_ENTRY_MAX_SDU,            /* u32 */
+       TCA_TAPRIO_TC_ENTRY_FP,                 /* u32 */
 
        /* add new constants above here */
        __TCA_TAPRIO_TC_ENTRY_CNT,