]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
uapi: update headers to 6.18-rc1
authorStephen Hemminger <stephen@networkplumber.org>
Thu, 16 Oct 2025 21:53:27 +0000 (14:53 -0700)
committerStephen Hemminger <stephen@networkplumber.org>
Tue, 21 Oct 2025 22:06:02 +0000 (15:06 -0700)
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
include/uapi/linux/bpf.h
include/uapi/linux/virtio_ids.h
rdma/include/uapi/rdma/ib_user_sa.h
rdma/include/uapi/rdma/rdma_user_cm.h
vdpa/include/uapi/linux/virtio_ids.h

index 936bb1c94c820552a7011328ba2246396dfcdea6..ece0fe39116eff7a8de9181f0c475dc77a71f3f3 100644 (file)
@@ -1522,6 +1522,12 @@ union bpf_attr {
                 * If provided, map_flags should have BPF_F_TOKEN_FD flag set.
                 */
                __s32   map_token_fd;
+
+               /* Hash of the program that has exclusive access to the map.
+                */
+               __aligned_u64 excl_prog_hash;
+               /* Size of the passed excl_prog_hash. */
+               __u32 excl_prog_hash_size;
        };
 
        struct { /* anonymous struct used by BPF_MAP_*_ELEM and BPF_MAP_FREEZE commands */
@@ -1605,6 +1611,16 @@ union bpf_attr {
                 * continuous.
                 */
                __u32           fd_array_cnt;
+               /* Pointer to a buffer containing the signature of the BPF
+                * program.
+                */
+               __aligned_u64   signature;
+               /* Size of the signature buffer in bytes. */
+               __u32           signature_size;
+               /* ID of the kernel keyring to be used for signature
+                * verification.
+                */
+               __s32           keyring_id;
        };
 
        struct { /* anonymous struct used by BPF_OBJ_* commands */
@@ -4875,7 +4891,7 @@ union bpf_attr {
  *
  *             **-ENOENT** if the bpf_local_storage cannot be found.
  *
- * long bpf_d_path(struct path *path, char *buf, u32 sz)
+ * long bpf_d_path(const struct path *path, char *buf, u32 sz)
  *     Description
  *             Return full path for given **struct path** object, which
  *             needs to be the kernel BTF *path* object. The path is
@@ -6666,6 +6682,8 @@ struct bpf_map_info {
        __u32 btf_value_type_id;
        __u32 btf_vmlinux_id;
        __u64 map_extra;
+       __aligned_u64 hash;
+       __u32 hash_size;
 } __attribute__((aligned(8)));
 
 struct bpf_btf_info {
@@ -7418,6 +7436,10 @@ struct bpf_timer {
        __u64 __opaque[2];
 } __attribute__((aligned(8)));
 
+struct bpf_task_work {
+       __u64 __opaque;
+} __attribute__((aligned(8)));
+
 struct bpf_wq {
        __u64 __opaque[2];
 } __attribute__((aligned(8)));
index 7aa2eb76620508fdc915533f74973d76308d3ef5..6c12db16faa3ad08ae687b89b0ff7e9bd7ceeb30 100644 (file)
@@ -68,6 +68,7 @@
 #define VIRTIO_ID_AUDIO_POLICY         39 /* virtio audio policy */
 #define VIRTIO_ID_BT                   40 /* virtio bluetooth */
 #define VIRTIO_ID_GPIO                 41 /* virtio gpio */
+#define VIRTIO_ID_SPI                  45 /* virtio spi */
 
 /*
  * Virtio Transitional IDs
index 435155d6e1c6a53a6f79e14dec3a8c276ddaed2f..acfa20816bc67b0ca131547bd97f44dd1a71ff60 100644 (file)
@@ -74,4 +74,18 @@ struct ib_user_path_rec {
        __u8    preference;
 };
 
+struct ib_user_service_rec {
+       __be64  id;
+       __u8    gid[16];
+       __be16  pkey;
+       __u8    reserved[2];
+       __be32  lease;
+       __u8    key[16];
+       __u8    name[64];
+       __u8    data_8[16];
+       __be16  data_16[8];
+       __be32  data_32[4];
+       __be64  data_64[2];
+};
+
 #endif /* IB_USER_SA_H */
index 7cea03581f790613fbf176b8024fa16c9e09fb56..5ded174687ee045ee1144ac9b9ce00a55377449b 100644 (file)
@@ -67,7 +67,9 @@ enum {
        RDMA_USER_CM_CMD_QUERY,
        RDMA_USER_CM_CMD_BIND,
        RDMA_USER_CM_CMD_RESOLVE_ADDR,
-       RDMA_USER_CM_CMD_JOIN_MCAST
+       RDMA_USER_CM_CMD_JOIN_MCAST,
+       RDMA_USER_CM_CMD_RESOLVE_IB_SERVICE,
+       RDMA_USER_CM_CMD_WRITE_CM_EVENT,
 };
 
 /* See IBTA Annex A11, servies ID bytes 4 & 5 */
@@ -147,7 +149,8 @@ struct rdma_ucm_resolve_route {
 enum {
        RDMA_USER_CM_QUERY_ADDR,
        RDMA_USER_CM_QUERY_PATH,
-       RDMA_USER_CM_QUERY_GID
+       RDMA_USER_CM_QUERY_GID,
+       RDMA_USER_CM_QUERY_IB_SERVICE
 };
 
 struct rdma_ucm_query {
@@ -187,6 +190,11 @@ struct rdma_ucm_query_path_resp {
        struct ib_path_rec_data path_data[];
 };
 
+struct rdma_ucm_query_ib_service_resp {
+       __u32 num_service_recs;
+       struct ib_user_service_rec recs[];
+};
+
 struct rdma_ucm_conn_param {
        __u32 qp_num;
        __u32 qkey;
@@ -297,6 +305,7 @@ struct rdma_ucm_event_resp {
        union {
                struct rdma_ucm_conn_param conn;
                struct rdma_ucm_ud_param   ud;
+               __u32 arg32[2];
        } param;
        __u32 reserved;
        struct rdma_ucm_ece ece;
@@ -338,4 +347,33 @@ struct rdma_ucm_migrate_resp {
        __u32 events_reported;
 };
 
+enum {
+       RDMA_USER_CM_IB_SERVICE_FLAG_ID = 1 << 0,
+       RDMA_USER_CM_IB_SERVICE_FLAG_NAME = 1 << 1,
+};
+
+#define RDMA_USER_CM_IB_SERVICE_NAME_SIZE 64
+struct rdma_ucm_ib_service {
+       __u64 service_id;
+       __u8  service_name[RDMA_USER_CM_IB_SERVICE_NAME_SIZE];
+       __u32 flags;
+       __u32 reserved;
+};
+
+struct rdma_ucm_resolve_ib_service {
+       __u32 id;
+       struct rdma_ucm_ib_service ibs;
+};
+
+struct rdma_ucm_write_cm_event {
+       __u32 id;
+       __u32 reserved;
+       __u32 event;
+       __u32 status;
+       union {
+               struct rdma_ucm_conn_param conn;
+               struct rdma_ucm_ud_param ud;
+               __u64 arg;
+       } param;
+};
 #endif /* RDMA_USER_CM_H */
index 7aa2eb76620508fdc915533f74973d76308d3ef5..6c12db16faa3ad08ae687b89b0ff7e9bd7ceeb30 100644 (file)
@@ -68,6 +68,7 @@
 #define VIRTIO_ID_AUDIO_POLICY         39 /* virtio audio policy */
 #define VIRTIO_ID_BT                   40 /* virtio bluetooth */
 #define VIRTIO_ID_GPIO                 41 /* virtio gpio */
+#define VIRTIO_ID_SPI                  45 /* virtio spi */
 
 /*
  * Virtio Transitional IDs