diff --git a/libc/kernel/uapi/rdma/cxgb4-abi.h b/libc/kernel/uapi/rdma/cxgb4-abi.h
index 188d901..5433ce6 100644
--- a/libc/kernel/uapi/rdma/cxgb4-abi.h
+++ b/libc/kernel/uapi/rdma/cxgb4-abi.h
@@ -20,6 +20,13 @@
 #define CXGB4_ABI_USER_H
 #include <linux/types.h>
 #define C4IW_UVERBS_ABI_VERSION 3
+enum {
+  C4IW_64B_CQE = (1 << 0)
+};
+struct c4iw_create_cq {
+  __u32 flags;
+  __u32 reserved;
+};
 struct c4iw_create_cq_resp {
   __aligned_u64 key;
   __aligned_u64 gts_key;
@@ -27,10 +34,11 @@
   __u32 cqid;
   __u32 size;
   __u32 qid_mask;
-  __u32 reserved;
+  __u32 flags;
 };
 enum {
-  C4IW_QPF_ONCHIP = (1 << 0)
+  C4IW_QPF_ONCHIP = (1 << 0),
+  C4IW_QPF_WRITE_W_IMM = (1 << 1)
 };
 struct c4iw_create_qp_resp {
   __aligned_u64 ma_sync_key;
@@ -47,6 +55,20 @@
   __u32 qid_mask;
   __u32 flags;
 };
+struct c4iw_create_srq_resp {
+  __aligned_u64 srq_key;
+  __aligned_u64 srq_db_gts_key;
+  __aligned_u64 srq_memsize;
+  __u32 srqid;
+  __u32 srq_size;
+  __u32 rqt_abs_idx;
+  __u32 qid_mask;
+  __u32 flags;
+  __u32 reserved;
+};
+enum {
+  T4_SRQ_LIMIT_SUPPORT = 1 << 0,
+};
 struct c4iw_alloc_ucontext_resp {
   __aligned_u64 status_page_key;
   __u32 status_page_size;
diff --git a/libc/kernel/uapi/rdma/hns-abi.h b/libc/kernel/uapi/rdma/hns-abi.h
index 8c66f27..23bedf9 100644
--- a/libc/kernel/uapi/rdma/hns-abi.h
+++ b/libc/kernel/uapi/rdma/hns-abi.h
@@ -34,6 +34,7 @@
   __u8 log_sq_stride;
   __u8 sq_no_prefetch;
   __u8 reserved[5];
+  __aligned_u64 sdb_addr;
 };
 struct hns_roce_ib_create_qp_resp {
   __aligned_u64 cap_flags;
diff --git a/libc/kernel/uapi/rdma/ib_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/ib_user_ioctl_cmds.h
index 4bc9786..69ded8e 100644
--- a/libc/kernel/uapi/rdma/ib_user_ioctl_cmds.h
+++ b/libc/kernel/uapi/rdma/ib_user_ioctl_cmds.h
@@ -38,6 +38,7 @@
   UVERBS_OBJECT_WQ,
   UVERBS_OBJECT_FLOW_ACTION,
   UVERBS_OBJECT_DM,
+  UVERBS_OBJECT_COUNTERS,
 };
 enum {
   UVERBS_ATTR_UHW_IN = UVERBS_UDATA_DRIVER_DATA_FLAG,
@@ -57,13 +58,16 @@
   UVERBS_ATTR_DESTROY_CQ_RESP,
 };
 enum uverbs_attrs_create_flow_action_esp {
-  UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE,
+  UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE,
   UVERBS_ATTR_FLOW_ACTION_ESP_ATTRS,
   UVERBS_ATTR_FLOW_ACTION_ESP_ESN,
   UVERBS_ATTR_FLOW_ACTION_ESP_KEYMAT,
   UVERBS_ATTR_FLOW_ACTION_ESP_REPLAY,
   UVERBS_ATTR_FLOW_ACTION_ESP_ENCAP,
 };
+enum uverbs_attrs_modify_flow_action_esp {
+  UVERBS_ATTR_MODIFY_FLOW_ACTION_ESP_HANDLE = UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE,
+};
 enum uverbs_attrs_destroy_flow_action_esp {
   UVERBS_ATTR_DESTROY_FLOW_ACTION_HANDLE,
 };
@@ -101,4 +105,20 @@
 enum uverbs_methods_mr {
   UVERBS_METHOD_DM_MR_REG,
 };
+enum uverbs_attrs_create_counters_cmd_attr_ids {
+  UVERBS_ATTR_CREATE_COUNTERS_HANDLE,
+};
+enum uverbs_attrs_destroy_counters_cmd_attr_ids {
+  UVERBS_ATTR_DESTROY_COUNTERS_HANDLE,
+};
+enum uverbs_attrs_read_counters_cmd_attr_ids {
+  UVERBS_ATTR_READ_COUNTERS_HANDLE,
+  UVERBS_ATTR_READ_COUNTERS_BUFF,
+  UVERBS_ATTR_READ_COUNTERS_FLAGS,
+};
+enum uverbs_methods_actions_counters_ops {
+  UVERBS_METHOD_COUNTERS_CREATE,
+  UVERBS_METHOD_COUNTERS_DESTROY,
+  UVERBS_METHOD_COUNTERS_READ,
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
index 261734e..8bea1cb 100644
--- a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
+++ b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
@@ -22,6 +22,50 @@
 #ifndef RDMA_UAPI_PTR
 #define RDMA_UAPI_PTR(_type,_name) __aligned_u64 _name
 #endif
+enum ib_uverbs_access_flags {
+  IB_UVERBS_ACCESS_LOCAL_WRITE = 1 << 0,
+  IB_UVERBS_ACCESS_REMOTE_WRITE = 1 << 1,
+  IB_UVERBS_ACCESS_REMOTE_READ = 1 << 2,
+  IB_UVERBS_ACCESS_REMOTE_ATOMIC = 1 << 3,
+  IB_UVERBS_ACCESS_MW_BIND = 1 << 4,
+  IB_UVERBS_ACCESS_ZERO_BASED = 1 << 5,
+  IB_UVERBS_ACCESS_ON_DEMAND = 1 << 6,
+  IB_UVERBS_ACCESS_HUGETLB = 1 << 7,
+};
+enum ib_uverbs_query_port_cap_flags {
+  IB_UVERBS_PCF_SM = 1 << 1,
+  IB_UVERBS_PCF_NOTICE_SUP = 1 << 2,
+  IB_UVERBS_PCF_TRAP_SUP = 1 << 3,
+  IB_UVERBS_PCF_OPT_IPD_SUP = 1 << 4,
+  IB_UVERBS_PCF_AUTO_MIGR_SUP = 1 << 5,
+  IB_UVERBS_PCF_SL_MAP_SUP = 1 << 6,
+  IB_UVERBS_PCF_MKEY_NVRAM = 1 << 7,
+  IB_UVERBS_PCF_PKEY_NVRAM = 1 << 8,
+  IB_UVERBS_PCF_LED_INFO_SUP = 1 << 9,
+  IB_UVERBS_PCF_SM_DISABLED = 1 << 10,
+  IB_UVERBS_PCF_SYS_IMAGE_GUID_SUP = 1 << 11,
+  IB_UVERBS_PCF_PKEY_SW_EXT_PORT_TRAP_SUP = 1 << 12,
+  IB_UVERBS_PCF_EXTENDED_SPEEDS_SUP = 1 << 14,
+  IB_UVERBS_PCF_CM_SUP = 1 << 16,
+  IB_UVERBS_PCF_SNMP_TUNNEL_SUP = 1 << 17,
+  IB_UVERBS_PCF_REINIT_SUP = 1 << 18,
+  IB_UVERBS_PCF_DEVICE_MGMT_SUP = 1 << 19,
+  IB_UVERBS_PCF_VENDOR_CLASS_SUP = 1 << 20,
+  IB_UVERBS_PCF_DR_NOTICE_SUP = 1 << 21,
+  IB_UVERBS_PCF_CAP_MASK_NOTICE_SUP = 1 << 22,
+  IB_UVERBS_PCF_BOOT_MGMT_SUP = 1 << 23,
+  IB_UVERBS_PCF_LINK_LATENCY_SUP = 1 << 24,
+  IB_UVERBS_PCF_CLIENT_REG_SUP = 1 << 25,
+  IB_UVERBS_PCF_LINK_SPEED_WIDTH_TABLE_SUP = 1 << 27,
+  IB_UVERBS_PCF_VENDOR_SPECIFIC_MADS_TABLE_SUP = 1 << 28,
+  IB_UVERBS_PCF_MCAST_PKEY_TRAP_SUPPRESSION_SUP = 1 << 29,
+  IB_UVERBS_PCF_MCAST_FDB_TOP_SUP = 1 << 30,
+  IB_UVERBS_PCF_HIERARCHY_INFO_SUP = 1ULL << 31,
+  IB_UVERBS_PCF_IP_BASED_GIDS = 1 << 26,
+};
+enum ib_uverbs_query_port_flags {
+  IB_UVERBS_QPF_GRH_REQUIRED = 1 << 0,
+};
 enum ib_uverbs_flow_action_esp_keymat {
   IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM,
 };
@@ -65,4 +109,7 @@
   __u32 flags;
   __aligned_u64 hard_limit_pkts;
 };
+enum ib_uverbs_read_counters_flags {
+  IB_UVERBS_READ_COUNTERS_PREFER_CACHED = 1 << 0,
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/ib_user_verbs.h b/libc/kernel/uapi/rdma/ib_user_verbs.h
index 53e4725..3baf4ed 100644
--- a/libc/kernel/uapi/rdma/ib_user_verbs.h
+++ b/libc/kernel/uapi/rdma/ib_user_verbs.h
@@ -228,7 +228,8 @@
   __u8 active_speed;
   __u8 phys_state;
   __u8 link_layer;
-  __u8 reserved[2];
+  __u8 flags;
+  __u8 reserved;
 };
 struct ib_uverbs_alloc_pd {
   __aligned_u64 response;
@@ -828,6 +829,18 @@
   __u32 handle;
   __u32 reserved1;
 };
+struct ib_uverbs_flow_spec_action_count {
+  union {
+    struct ib_uverbs_flow_spec_hdr hdr;
+    struct {
+      __u32 type;
+      __u16 size;
+      __u16 reserved;
+    };
+  };
+  __u32 handle;
+  __u32 reserved1;
+};
 struct ib_uverbs_flow_tunnel_filter {
   __be32 tunnel_id;
 };
@@ -859,6 +872,38 @@
   struct ib_uverbs_flow_spec_esp_filter val;
   struct ib_uverbs_flow_spec_esp_filter mask;
 };
+struct ib_uverbs_flow_gre_filter {
+  __be16 c_ks_res0_ver;
+  __be16 protocol;
+  __be32 key;
+};
+struct ib_uverbs_flow_spec_gre {
+  union {
+    struct ib_uverbs_flow_spec_hdr hdr;
+    struct {
+      __u32 type;
+      __u16 size;
+      __u16 reserved;
+    };
+  };
+  struct ib_uverbs_flow_gre_filter val;
+  struct ib_uverbs_flow_gre_filter mask;
+};
+struct ib_uverbs_flow_mpls_filter {
+  __be32 label;
+};
+struct ib_uverbs_flow_spec_mpls {
+  union {
+    struct ib_uverbs_flow_spec_hdr hdr;
+    struct {
+      __u32 type;
+      __u16 size;
+      __u16 reserved;
+    };
+  };
+  struct ib_uverbs_flow_mpls_filter val;
+  struct ib_uverbs_flow_mpls_filter mask;
+};
 struct ib_uverbs_flow_attr {
   __u32 type;
   __u16 size;
diff --git a/libc/kernel/uapi/rdma/mlx5-abi.h b/libc/kernel/uapi/rdma/mlx5-abi.h
index 170c0a6..50ecd2f 100644
--- a/libc/kernel/uapi/rdma/mlx5-abi.h
+++ b/libc/kernel/uapi/rdma/mlx5-abi.h
@@ -20,6 +20,7 @@
 #define MLX5_ABI_USER_H
 #include <linux/types.h>
 #include <linux/if_ether.h>
+#include <rdma/ib_user_ioctl_verbs.h>
 enum {
   MLX5_QP_FLAG_SIGNATURE = 1 << 0,
   MLX5_QP_FLAG_SCATTER_CQE = 1 << 1,
@@ -42,6 +43,9 @@
 enum mlx5_lib_caps {
   MLX5_LIB_CAP_4K_UAR = (__u64) 1 << 0,
 };
+enum mlx5_ib_alloc_uctx_v2_flags {
+  MLX5_IB_ALLOC_UCTX_DEVX = 1 << 0,
+};
 struct mlx5_ib_alloc_ucontext_req_v2 {
   __u32 total_num_bfregs;
   __u32 num_low_latency_bfregs;
@@ -55,6 +59,7 @@
 };
 enum mlx5_ib_alloc_ucontext_resp_mask {
   MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_CORE_CLOCK_OFFSET = 1UL << 0,
+  MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_DUMP_FILL_MKEY = 1UL << 1,
 };
 enum mlx5_user_cmds_supp_uhw {
   MLX5_USER_CMDS_SUPP_UHW_QUERY_DEVICE = 1 << 0,
@@ -96,7 +101,7 @@
   __u32 log_uar_size;
   __u32 num_uars_per_page;
   __u32 num_dyn_bfregs;
-  __u32 reserved3;
+  __u32 dump_fill_mkey;
 };
 struct mlx5_ib_alloc_pd_resp {
   __u32 pdn;
@@ -113,7 +118,7 @@
 enum mlx5_ib_cqe_comp_res_format {
   MLX5_IB_CQE_RES_FORMAT_HASH = 1 << 0,
   MLX5_IB_CQE_RES_FORMAT_CSUM = 1 << 1,
-  MLX5_IB_CQE_RES_RESERVED = 1 << 2,
+  MLX5_IB_CQE_RES_FORMAT_CSUM_STRIDX = 1 << 2,
 };
 struct mlx5_ib_cqe_comp_caps {
   __u32 max_num;
@@ -158,7 +163,9 @@
 enum mlx5_ib_tunnel_offloads {
   MLX5_IB_TUNNELED_OFFLOADS_VXLAN = 1 << 0,
   MLX5_IB_TUNNELED_OFFLOADS_GRE = 1 << 1,
-  MLX5_IB_TUNNELED_OFFLOADS_GENEVE = 1 << 2
+  MLX5_IB_TUNNELED_OFFLOADS_GENEVE = 1 << 2,
+  MLX5_IB_TUNNELED_OFFLOADS_MPLS_GRE = 1 << 3,
+  MLX5_IB_TUNNELED_OFFLOADS_MPLS_UDP = 1 << 4,
 };
 struct mlx5_ib_query_device_resp {
   __u32 comp_mask;
@@ -328,4 +335,18 @@
 enum {
   MLX5_IB_CLOCK_INFO_V1 = 0,
 };
+struct mlx5_ib_flow_counters_desc {
+  __u32 description;
+  __u32 index;
+};
+struct mlx5_ib_flow_counters_data {
+  RDMA_UAPI_PTR(struct mlx5_ib_flow_counters_desc *, counters_data);
+  __u32 ncounters;
+  __u32 reserved;
+};
+struct mlx5_ib_create_flow {
+  __u32 ncounters_data;
+  __u32 reserved;
+  struct mlx5_ib_flow_counters_data data[];
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
index 37aebaf..11ff576 100644
--- a/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
+++ b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
@@ -18,6 +18,7 @@
  ****************************************************************************/
 #ifndef MLX5_USER_IOCTL_CMDS_H
 #define MLX5_USER_IOCTL_CMDS_H
+#include <linux/types.h>
 #include <rdma/ib_user_ioctl_cmds.h>
 enum mlx5_ib_create_flow_action_attrs {
   MLX5_IB_ATTR_CREATE_FLOW_ACTION_FLAGS = (1U << UVERBS_ID_NS_SHIFT),
@@ -26,4 +27,102 @@
   MLX5_IB_ATTR_ALLOC_DM_RESP_START_OFFSET = (1U << UVERBS_ID_NS_SHIFT),
   MLX5_IB_ATTR_ALLOC_DM_RESP_PAGE_INDEX,
 };
+enum mlx5_ib_devx_methods {
+  MLX5_IB_METHOD_DEVX_OTHER = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_METHOD_DEVX_QUERY_UAR,
+  MLX5_IB_METHOD_DEVX_QUERY_EQN,
+};
+enum mlx5_ib_devx_other_attrs {
+  MLX5_IB_ATTR_DEVX_OTHER_CMD_IN = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_ATTR_DEVX_OTHER_CMD_OUT,
+};
+enum mlx5_ib_devx_obj_create_attrs {
+  MLX5_IB_ATTR_DEVX_OBJ_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_IN,
+  MLX5_IB_ATTR_DEVX_OBJ_CREATE_CMD_OUT,
+};
+enum mlx5_ib_devx_query_uar_attrs {
+  MLX5_IB_ATTR_DEVX_QUERY_UAR_USER_IDX = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_ATTR_DEVX_QUERY_UAR_DEV_IDX,
+};
+enum mlx5_ib_devx_obj_destroy_attrs {
+  MLX5_IB_ATTR_DEVX_OBJ_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+};
+enum mlx5_ib_devx_obj_modify_attrs {
+  MLX5_IB_ATTR_DEVX_OBJ_MODIFY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_IN,
+  MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_OUT,
+};
+enum mlx5_ib_devx_obj_query_attrs {
+  MLX5_IB_ATTR_DEVX_OBJ_QUERY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_IN,
+  MLX5_IB_ATTR_DEVX_OBJ_QUERY_CMD_OUT,
+};
+enum mlx5_ib_devx_query_eqn_attrs {
+  MLX5_IB_ATTR_DEVX_QUERY_EQN_USER_VEC = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_ATTR_DEVX_QUERY_EQN_DEV_EQN,
+};
+enum mlx5_ib_devx_obj_methods {
+  MLX5_IB_METHOD_DEVX_OBJ_CREATE = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_METHOD_DEVX_OBJ_DESTROY,
+  MLX5_IB_METHOD_DEVX_OBJ_MODIFY,
+  MLX5_IB_METHOD_DEVX_OBJ_QUERY,
+};
+enum mlx5_ib_devx_umem_reg_attrs {
+  MLX5_IB_ATTR_DEVX_UMEM_REG_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_ATTR_DEVX_UMEM_REG_ADDR,
+  MLX5_IB_ATTR_DEVX_UMEM_REG_LEN,
+  MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS,
+  MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID,
+};
+enum mlx5_ib_devx_umem_dereg_attrs {
+  MLX5_IB_ATTR_DEVX_UMEM_DEREG_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+};
+enum mlx5_ib_devx_umem_methods {
+  MLX5_IB_METHOD_DEVX_UMEM_REG = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_METHOD_DEVX_UMEM_DEREG,
+};
+enum mlx5_ib_objects {
+  MLX5_IB_OBJECT_DEVX = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_OBJECT_DEVX_OBJ,
+  MLX5_IB_OBJECT_DEVX_UMEM,
+  MLX5_IB_OBJECT_FLOW_MATCHER,
+};
+enum mlx5_ib_flow_matcher_create_attrs {
+  MLX5_IB_ATTR_FLOW_MATCHER_CREATE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_ATTR_FLOW_MATCHER_MATCH_MASK,
+  MLX5_IB_ATTR_FLOW_MATCHER_FLOW_TYPE,
+  MLX5_IB_ATTR_FLOW_MATCHER_MATCH_CRITERIA,
+};
+enum mlx5_ib_flow_matcher_destroy_attrs {
+  MLX5_IB_ATTR_FLOW_MATCHER_DESTROY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+};
+enum mlx5_ib_flow_matcher_methods {
+  MLX5_IB_METHOD_FLOW_MATCHER_CREATE = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_METHOD_FLOW_MATCHER_DESTROY,
+};
+#define MLX5_IB_DW_MATCH_PARAM 0x80
+struct mlx5_ib_match_params {
+  __u32 match_params[MLX5_IB_DW_MATCH_PARAM];
+};
+enum mlx5_ib_flow_type {
+  MLX5_IB_FLOW_TYPE_NORMAL,
+  MLX5_IB_FLOW_TYPE_SNIFFER,
+  MLX5_IB_FLOW_TYPE_ALL_DEFAULT,
+  MLX5_IB_FLOW_TYPE_MC_DEFAULT,
+};
+enum mlx5_ib_create_flow_attrs {
+  MLX5_IB_ATTR_CREATE_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_ATTR_CREATE_FLOW_MATCH_VALUE,
+  MLX5_IB_ATTR_CREATE_FLOW_DEST_QP,
+  MLX5_IB_ATTR_CREATE_FLOW_DEST_DEVX,
+  MLX5_IB_ATTR_CREATE_FLOW_MATCHER,
+};
+enum mlx5_ib_destoy_flow_attrs {
+  MLX5_IB_ATTR_DESTROY_FLOW_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+};
+enum mlx5_ib_flow_methods {
+  MLX5_IB_METHOD_CREATE_FLOW = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_METHOD_DESTROY_FLOW,
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/qedr-abi.h b/libc/kernel/uapi/rdma/qedr-abi.h
index 8626f8c..57ad827 100644
--- a/libc/kernel/uapi/rdma/qedr-abi.h
+++ b/libc/kernel/uapi/rdma/qedr-abi.h
@@ -69,4 +69,14 @@
   __u32 rq_db2_offset;
   __u32 reserved;
 };
+struct qedr_create_srq_ureq {
+  __aligned_u64 prod_pair_addr;
+  __aligned_u64 srq_addr;
+  __aligned_u64 srq_len;
+};
+struct qedr_create_srq_uresp {
+  __u16 srq_id;
+  __u16 reserved0;
+  __u32 reserved1;
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/rdma_netlink.h b/libc/kernel/uapi/rdma/rdma_netlink.h
index 36c8911..48cbc3d 100644
--- a/libc/kernel/uapi/rdma/rdma_netlink.h
+++ b/libc/kernel/uapi/rdma/rdma_netlink.h
@@ -182,8 +182,16 @@
   RDMA_NLDEV_CMD_RES_PD_GET,
   RDMA_NLDEV_NUM_OPS
 };
+enum {
+  RDMA_NLDEV_ATTR_ENTRY_STRLEN = 16,
+};
+enum rdma_nldev_print_type {
+  RDMA_NLDEV_PRINT_TYPE_UNSPEC,
+  RDMA_NLDEV_PRINT_TYPE_HEX,
+};
 enum rdma_nldev_attr {
   RDMA_NLDEV_ATTR_UNSPEC,
+  RDMA_NLDEV_ATTR_PAD = RDMA_NLDEV_ATTR_UNSPEC,
   RDMA_NLDEV_ATTR_DEV_INDEX,
   RDMA_NLDEV_ATTR_DEV_NAME,
   RDMA_NLDEV_ATTR_PORT_INDEX,
@@ -235,6 +243,14 @@
   RDMA_NLDEV_ATTR_RES_UNSAFE_GLOBAL_RKEY,
   RDMA_NLDEV_ATTR_NDEV_INDEX,
   RDMA_NLDEV_ATTR_NDEV_NAME,
+  RDMA_NLDEV_ATTR_DRIVER,
+  RDMA_NLDEV_ATTR_DRIVER_ENTRY,
+  RDMA_NLDEV_ATTR_DRIVER_STRING,
+  RDMA_NLDEV_ATTR_DRIVER_PRINT_TYPE,
+  RDMA_NLDEV_ATTR_DRIVER_S32,
+  RDMA_NLDEV_ATTR_DRIVER_U32,
+  RDMA_NLDEV_ATTR_DRIVER_S64,
+  RDMA_NLDEV_ATTR_DRIVER_U64,
   RDMA_NLDEV_ATTR_MAX
 };
 #endif
diff --git a/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h
index 5da7917..7cd6cd0 100644
--- a/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h
+++ b/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h
@@ -37,7 +37,10 @@
     } enum_data;
     __u16 reserved;
   } attr_data;
-  __aligned_u64 data;
+  union {
+    __aligned_u64 data;
+    __s64 data_s64;
+  };
 };
 struct ib_uverbs_ioctl_hdr {
   __u16 length;
