]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
Update kernel headers
authorDavid Ahern <dsahern@kernel.org>
Tue, 26 Apr 2022 02:08:38 +0000 (20:08 -0600)
committerDavid Ahern <dsahern@kernel.org>
Tue, 26 Apr 2022 02:08:38 +0000 (20:08 -0600)
Update kernel headers to commit:
    cc271ab86606 ("wwan_hwsim: Avoid flush_scheduled_work() usage")

Signed-off-by: David Ahern <dsahern@kernel.org>
include/uapi/linux/bpf.h
include/uapi/linux/btf.h
include/uapi/linux/devlink.h
include/uapi/linux/if_link.h
include/uapi/linux/neighbour.h
include/uapi/linux/netlink.h
include/uapi/linux/pkt_cls.h
include/uapi/linux/stddef.h
include/uapi/linux/tc_act/tc_skbedit.h
include/uapi/linux/types.h
include/uapi/linux/virtio_config.h

index 3b05552b3db5814c71bf768a7e5e4d03a549067d..5889a4d30ab3ad4012499fde0c311c89c4ff0472 100644 (file)
@@ -997,6 +997,7 @@ enum bpf_attach_type {
        BPF_SK_REUSEPORT_SELECT,
        BPF_SK_REUSEPORT_SELECT_OR_MIGRATE,
        BPF_PERF_EVENT,
+       BPF_TRACE_KPROBE_MULTI,
        __MAX_BPF_ATTACH_TYPE
 };
 
@@ -1011,6 +1012,7 @@ enum bpf_link_type {
        BPF_LINK_TYPE_NETNS = 5,
        BPF_LINK_TYPE_XDP = 6,
        BPF_LINK_TYPE_PERF_EVENT = 7,
+       BPF_LINK_TYPE_KPROBE_MULTI = 8,
 
        MAX_BPF_LINK_TYPE,
 };
@@ -1118,6 +1120,11 @@ enum bpf_link_type {
  */
 #define BPF_F_XDP_HAS_FRAGS    (1U << 5)
 
+/* link_create.kprobe_multi.flags used in LINK_CREATE command for
+ * BPF_TRACE_KPROBE_MULTI attach type to create return probe.
+ */
+#define BPF_F_KPROBE_MULTI_RETURN      (1U << 0)
+
 /* When BPF ldimm64's insn[0].src_reg != 0 then this can have
  * the following extensions:
  *
@@ -1232,6 +1239,8 @@ enum {
 
 /* If set, run the test on the cpu specified by bpf_attr.test.cpu */
 #define BPF_F_TEST_RUN_ON_CPU  (1U << 0)
+/* If set, XDP frames will be transmitted after processing */
+#define BPF_F_TEST_XDP_LIVE_FRAMES     (1U << 1)
 
 /* type for BPF_ENABLE_STATS */
 enum bpf_stats_type {
@@ -1393,6 +1402,7 @@ union bpf_attr {
                __aligned_u64   ctx_out;
                __u32           flags;
                __u32           cpu;
+               __u32           batch_size;
        } test;
 
        struct { /* anonymous struct used by BPF_*_GET_*_ID */
@@ -1472,6 +1482,13 @@ union bpf_attr {
                                 */
                                __u64           bpf_cookie;
                        } perf_event;
+                       struct {
+                               __u32           flags;
+                               __u32           cnt;
+                               __aligned_u64   syms;
+                               __aligned_u64   addrs;
+                               __aligned_u64   cookies;
+                       } kprobe_multi;
                };
        } link_create;
 
@@ -2299,8 +2316,8 @@ union bpf_attr {
  *     Return
  *             The return value depends on the result of the test, and can be:
  *
- *             * 0, if current task belongs to the cgroup2.
- *             * 1, if current task does not belong to the cgroup2.
+ *             * 1, if current task belongs to the cgroup2.
+ *             * 0, if current task does not belong to the cgroup2.
  *             * A negative error code, if an error occurred.
  *
  * long bpf_skb_change_tail(struct sk_buff *skb, u32 len, u64 flags)
@@ -2992,8 +3009,8 @@ union bpf_attr {
  *
  *                     # sysctl kernel.perf_event_max_stack=<new value>
  *     Return
- *             A non-negative value equal to or less than *size* on success,
- *             or a negative error in case of failure.
+ *             The non-negative copied *buf* length equal to or less than
+ *             *size* on success, or a negative error in case of failure.
  *
  * long bpf_skb_load_bytes_relative(const void *skb, u32 offset, void *to, u32 len, u32 start_header)
  *     Description
@@ -4299,8 +4316,8 @@ union bpf_attr {
  *
  *                     # sysctl kernel.perf_event_max_stack=<new value>
  *     Return
- *             A non-negative value equal to or less than *size* on success,
- *             or a negative error in case of failure.
+ *             The non-negative copied *buf* length equal to or less than
+ *             *size* on success, or a negative error in case of failure.
  *
  * long bpf_load_hdr_opt(struct bpf_sock_ops *skops, void *searchby_res, u32 len, u64 flags)
  *     Description
@@ -5087,23 +5104,22 @@ union bpf_attr {
  *             0 on success, or a negative error in case of failure. On error
  *             *dst* buffer is zeroed out.
  *
- * long bpf_skb_set_delivery_time(struct sk_buff *skb, u64 dtime, u32 dtime_type)
+ * long bpf_skb_set_tstamp(struct sk_buff *skb, u64 tstamp, u32 tstamp_type)
  *     Description
- *             Set a *dtime* (delivery time) to the __sk_buff->tstamp and also
- *             change the __sk_buff->delivery_time_type to *dtime_type*.
- *
- *             When setting a delivery time (non zero *dtime*) to
- *             __sk_buff->tstamp, only BPF_SKB_DELIVERY_TIME_MONO *dtime_type*
- *             is supported.  It is the only delivery_time_type that will be
- *             kept after bpf_redirect_*().
+ *             Change the __sk_buff->tstamp_type to *tstamp_type*
+ *             and set *tstamp* to the __sk_buff->tstamp together.
  *
- *             If there is no need to change the __sk_buff->delivery_time_type,
- *             the delivery time can be directly written to __sk_buff->tstamp
+ *             If there is no need to change the __sk_buff->tstamp_type,
+ *             the tstamp value can be directly written to __sk_buff->tstamp
  *             instead.
  *
- *             *dtime* 0 and *dtime_type* BPF_SKB_DELIVERY_TIME_NONE
- *             can be used to clear any delivery time stored in
- *             __sk_buff->tstamp.
+ *             BPF_SKB_TSTAMP_DELIVERY_MONO is the only tstamp that
+ *             will be kept during bpf_redirect_*().  A non zero
+ *             *tstamp* must be used with the BPF_SKB_TSTAMP_DELIVERY_MONO
+ *             *tstamp_type*.
+ *
+ *             A BPF_SKB_TSTAMP_UNSPEC *tstamp_type* can only be used
+ *             with a zero *tstamp*.
  *
  *             Only IPv4 and IPv6 skb->protocol are supported.
  *
@@ -5116,7 +5132,17 @@ union bpf_attr {
  *     Return
  *             0 on success.
  *             **-EINVAL** for invalid input
- *             **-EOPNOTSUPP** for unsupported delivery_time_type and protocol
+ *             **-EOPNOTSUPP** for unsupported protocol
+ *
+ * long bpf_ima_file_hash(struct file *file, void *dst, u32 size)
+ *     Description
+ *             Returns a calculated IMA hash of the *file*.
+ *             If the hash is larger than *size*, then only *size*
+ *             bytes will be copied to *dst*
+ *     Return
+ *             The **hash_algo** is returned on success,
+ *             **-EOPNOTSUP** if the hash calculation failed or **-EINVAL** if
+ *             invalid arguments are passed.
  */
 #define __BPF_FUNC_MAPPER(FN)          \
        FN(unspec),                     \
@@ -5311,7 +5337,8 @@ union bpf_attr {
        FN(xdp_load_bytes),             \
        FN(xdp_store_bytes),            \
        FN(copy_from_user_task),        \
-       FN(skb_set_delivery_time),      \
+       FN(skb_set_tstamp),             \
+       FN(ima_file_hash),              \
        /* */
 
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
@@ -5502,9 +5529,12 @@ union {                                  \
 } __attribute__((aligned(8)))
 
 enum {
-       BPF_SKB_DELIVERY_TIME_NONE,
-       BPF_SKB_DELIVERY_TIME_UNSPEC,
-       BPF_SKB_DELIVERY_TIME_MONO,
+       BPF_SKB_TSTAMP_UNSPEC,
+       BPF_SKB_TSTAMP_DELIVERY_MONO,   /* tstamp has mono delivery time */
+       /* For any BPF_SKB_TSTAMP_* that the bpf prog cannot handle,
+        * the bpf prog should handle it like BPF_SKB_TSTAMP_UNSPEC
+        * and try to deduce it by ingress, egress or skb->sk->sk_clockid.
+        */
 };
 
 /* user accessible mirror of in-kernel sk_buff.
@@ -5547,7 +5577,7 @@ struct __sk_buff {
        __u32 gso_segs;
        __bpf_md_ptr(struct bpf_sock *, sk);
        __u32 gso_size;
-       __u8  delivery_time_type;
+       __u8  tstamp_type;
        __u32 :24;              /* Padding, future use. */
        __u64 hwtstamp;
 };
index 92c41b157ba5504164183a7fd66ab7ff1d8c88f3..aa0f4a3efd3c775dc50d2f61284ea6fe02e2f7bf 100644 (file)
@@ -33,8 +33,8 @@ struct btf_type {
        /* "info" bits arrangement
         * bits  0-15: vlen (e.g. # of struct's members)
         * bits 16-23: unused
-        * bits 24-27: kind (e.g. int, ptr, array...etc)
-        * bits 28-30: unused
+        * bits 24-28: kind (e.g. int, ptr, array...etc)
+        * bits 29-30: unused
         * bit     31: kind_flag, currently used by
         *             struct, union and fwd
         */
index 210d4fbffa9f215fc6e19c1c440156a08be73b3d..d8e11112ce582186819bc6435fedf7dd575812c9 100644 (file)
@@ -131,6 +131,13 @@ enum devlink_command {
        DEVLINK_CMD_RATE_NEW,
        DEVLINK_CMD_RATE_DEL,
 
+       DEVLINK_CMD_LINECARD_GET,               /* can dump */
+       DEVLINK_CMD_LINECARD_SET,
+       DEVLINK_CMD_LINECARD_NEW,
+       DEVLINK_CMD_LINECARD_DEL,
+
+       DEVLINK_CMD_LINECARD_INFO_GET,          /* can dump */
+
        /* add new commands above here */
        __DEVLINK_CMD_MAX,
        DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
@@ -338,6 +345,19 @@ enum devlink_reload_limit {
 
 #define DEVLINK_RELOAD_LIMITS_VALID_MASK (_BITUL(__DEVLINK_RELOAD_LIMIT_MAX) - 1)
 
+enum devlink_linecard_state {
+       DEVLINK_LINECARD_STATE_UNSPEC,
+       DEVLINK_LINECARD_STATE_UNPROVISIONED,
+       DEVLINK_LINECARD_STATE_UNPROVISIONING,
+       DEVLINK_LINECARD_STATE_PROVISIONING,
+       DEVLINK_LINECARD_STATE_PROVISIONING_FAILED,
+       DEVLINK_LINECARD_STATE_PROVISIONED,
+       DEVLINK_LINECARD_STATE_ACTIVE,
+
+       __DEVLINK_LINECARD_STATE_MAX,
+       DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
+};
+
 enum devlink_attr {
        /* don't change the order or add anything between, this is ABI! */
        DEVLINK_ATTR_UNSPEC,
@@ -553,6 +573,14 @@ enum devlink_attr {
 
        DEVLINK_ATTR_REGION_MAX_SNAPSHOTS,      /* u32 */
 
+       DEVLINK_ATTR_LINECARD_INDEX,            /* u32 */
+       DEVLINK_ATTR_LINECARD_STATE,            /* u8 */
+       DEVLINK_ATTR_LINECARD_TYPE,             /* string */
+       DEVLINK_ATTR_LINECARD_SUPPORTED_TYPES,  /* nested */
+       DEVLINK_ATTR_LINECARD_DEVICE_LIST,      /* nested */
+       DEVLINK_ATTR_LINECARD_DEVICE,           /* nested */
+       DEVLINK_ATTR_LINECARD_DEVICE_INDEX,     /* u32 */
+
        /* add new attributes above here, update the policy in devlink.c */
 
        __DEVLINK_ATTR_MAX,
index 22e21e57afc942f66e69fba4dda6807f8fa85421..34002e72d10ae3be9f71fde1e9e5817b9d56dadc 100644 (file)
@@ -211,6 +211,9 @@ struct rtnl_link_stats {
  * @rx_nohandler: Number of packets received on the interface
  *   but dropped by the networking stack because the device is
  *   not designated to receive packets (e.g. backup link in a bond).
+ *
+ * @rx_otherhost_dropped: Number of packets dropped due to mismatch
+ *   in destination MAC address.
  */
 struct rtnl_link_stats64 {
        __u64   rx_packets;
@@ -243,6 +246,8 @@ struct rtnl_link_stats64 {
        __u64   rx_compressed;
        __u64   tx_compressed;
        __u64   rx_nohandler;
+
+       __u64   rx_otherhost_dropped;
 };
 
 /* Subset of link stats useful for in-HW collection. Meaning of the fields is as
index db05fb55055e94c2e3853e75bff33df105247360..39c565e460c7faa2c06640f0a30337d393a80a7e 100644 (file)
@@ -32,6 +32,8 @@ enum {
        NDA_NH_ID,
        NDA_FDB_EXT_ATTRS,
        NDA_FLAGS_EXT,
+       NDA_NDM_STATE_MASK,
+       NDA_NDM_FLAGS_MASK,
        __NDA_MAX
 };
 
index e83e2e300130432d58160bc9f2eaa738ed38da55..105b79f057448e4a9ee3f072bcc66af4b79172a5 100644 (file)
@@ -72,6 +72,7 @@ struct nlmsghdr {
 
 /* Modifiers to DELETE request */
 #define NLM_F_NONREC   0x100   /* Do not delete recursively    */
+#define NLM_F_BULK     0x200   /* Delete multiple objects      */
 
 /* Flags for ACK message */
 #define NLM_F_CAPPED   0x100   /* request was capped */
index 404f97fb239c40b033e5169b0024606ce730d79b..9a2ee1e39fadf7dcf830bcb4d638526b950f1fe6 100644 (file)
@@ -587,6 +587,8 @@ enum {
        TCA_FLOWER_KEY_HASH,            /* u32 */
        TCA_FLOWER_KEY_HASH_MASK,       /* u32 */
 
+       TCA_FLOWER_KEY_NUM_OF_VLANS,    /* u8 */
+
        __TCA_FLOWER_MAX,
 };
 
index d419e74216701ad7d9f4fcb2e2d6ab8c69ff7f52..bb6ea517efb51177a7983fadad9b590b12b786e5 100644 (file)
@@ -1,4 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _LINUX_STDDEF_H
+#define _LINUX_STDDEF_H
+
 
 
 #ifndef __always_inline
@@ -41,3 +44,4 @@
                struct { } __empty_ ## NAME; \
                TYPE NAME[]; \
        }
+#endif
index 800e9337721887d80e5054a2564264bde5fc2936..6cb6101208d0a7f75f4eae9f99d7b3886e8f51a2 100644 (file)
@@ -29,6 +29,7 @@
 #define SKBEDIT_F_PTYPE                        0x8
 #define SKBEDIT_F_MASK                 0x10
 #define SKBEDIT_F_INHERITDSFIELD       0x20
+#define SKBEDIT_F_TXQ_SKBHASH          0x40
 
 struct tc_skbedit {
        tc_gen;
@@ -45,6 +46,7 @@ enum {
        TCA_SKBEDIT_PTYPE,
        TCA_SKBEDIT_MASK,
        TCA_SKBEDIT_FLAGS,
+       TCA_SKBEDIT_QUEUE_MAPPING_MAX,
        __TCA_SKBEDIT_MAX
 };
 #define TCA_SKBEDIT_MAX (__TCA_SKBEDIT_MAX - 1)
index 999cb0fa88ebdf0a3c9503b43eb2605cd9c487aa..7f957444ccba0022b3ab4ef49686a8f8c7b0e221 100644 (file)
  * any application/library that wants linux/types.h.
  */
 
+/* sparse defines __CHECKER__; see Documentation/dev-tools/sparse.rst */
 #ifdef __CHECKER__
-#define __bitwise__ __attribute__((bitwise))
+#define __bitwise      __attribute__((bitwise))
 #else
-#define __bitwise__
+#define __bitwise
 #endif
-#define __bitwise __bitwise__
 
 typedef __u16 __bitwise __le16;
 typedef __u16 __bitwise __be16;
index 3bf6c8bf8477934f4f76c5632db1f5a89f886aef..93574a0d0082d54a540ffb02d66525979a277b93 100644 (file)
 /* This feature indicates support for the packed virtqueue layout. */
 #define VIRTIO_F_RING_PACKED           34
 
+/*
+ * Inorder feature indicates that all buffers are used by the device
+ * in the same order in which they have been made available.
+ */
+#define VIRTIO_F_IN_ORDER              35
+
 /*
  * This feature indicates that memory accesses by the driver and the
  * device are ordered in a way described by the platform.