Showing the changes to include/uapi (2 of 40 files). Show all
Unified · Split
| @@ -37,6 +37,7 @@ · 36 unmodified lines | |||
| 37 | #define IB_USER_VERBS_H | 37 | #define IB_USER_VERBS_H |
| 38 | 38 | ||
| 39 | #include <linux/types.h> | 39 | #include <linux/types.h> |
| 40 | #include <rdma/ib_verbs.h> | ||
| 40 | 41 | ||
| 41 | /* | 42 | /* |
| 42 | * Increment this value if any changes that break userspace ABI | 43 | * Increment this value if any changes that break userspace ABI |
| @@ -93,6 +94,7 @@ enum { · 50 unmodified lines | |||
| 93 | IB_USER_VERBS_EX_CMD_QUERY_DEVICE = IB_USER_VERBS_CMD_QUERY_DEVICE, | 94 | IB_USER_VERBS_EX_CMD_QUERY_DEVICE = IB_USER_VERBS_CMD_QUERY_DEVICE, |
| 94 | IB_USER_VERBS_EX_CMD_CREATE_CQ = IB_USER_VERBS_CMD_CREATE_CQ, | 95 | IB_USER_VERBS_EX_CMD_CREATE_CQ = IB_USER_VERBS_CMD_CREATE_CQ, |
| 95 | IB_USER_VERBS_EX_CMD_CREATE_QP = IB_USER_VERBS_CMD_CREATE_QP, | 96 | IB_USER_VERBS_EX_CMD_CREATE_QP = IB_USER_VERBS_CMD_CREATE_QP, |
| 97 | IB_USER_VERBS_EX_CMD_MODIFY_QP = IB_USER_VERBS_CMD_MODIFY_QP, | ||
| 96 | IB_USER_VERBS_EX_CMD_CREATE_FLOW = IB_USER_VERBS_CMD_THRESHOLD, | 98 | IB_USER_VERBS_EX_CMD_CREATE_FLOW = IB_USER_VERBS_CMD_THRESHOLD, |
| 97 | IB_USER_VERBS_EX_CMD_DESTROY_FLOW, | 99 | IB_USER_VERBS_EX_CMD_DESTROY_FLOW, |
| 98 | IB_USER_VERBS_EX_CMD_CREATE_WQ, | 100 | IB_USER_VERBS_EX_CMD_CREATE_WQ, |
| @@ -545,6 +547,14 @@ enum { · 446 unmodified lines | |||
| 545 | IB_UVERBS_CREATE_QP_SUP_COMP_MASK = IB_UVERBS_CREATE_QP_MASK_IND_TABLE, | 547 | IB_UVERBS_CREATE_QP_SUP_COMP_MASK = IB_UVERBS_CREATE_QP_MASK_IND_TABLE, |
| 546 | }; | 548 | }; |
| 547 | 549 | ||
| 550 | enum { | ||
| 551 | IB_USER_LEGACY_LAST_QP_ATTR_MASK = IB_QP_DEST_QPN | ||
| 552 | }; | ||
| 553 | |||
| 554 | enum { | ||
| 555 | IB_USER_LAST_QP_ATTR_MASK = IB_QP_RATE_LIMIT | ||
| 556 | }; | ||
| 557 | |||
| 548 | struct ib_uverbs_ex_create_qp { | 558 | struct ib_uverbs_ex_create_qp { |
| 549 | __u64 user_handle; | 559 | __u64 user_handle; |
| 550 | __u32 pd_handle; | 560 | __u32 pd_handle; |
| @@ -684,9 +694,20 @@ struct ib_uverbs_modify_qp { · 133 unmodified lines | |||
| 684 | __u64 driver_data[0]; | 694 | __u64 driver_data[0]; |
| 685 | }; | 695 | }; |
| 686 | 696 | ||
| 697 | struct ib_uverbs_ex_modify_qp { | ||
| 698 | struct ib_uverbs_modify_qp base; | ||
| 699 | __u32 rate_limit; | ||
| 700 | __u32 reserved; | ||
| 701 | }; | ||
| 702 | |||
| 687 | struct ib_uverbs_modify_qp_resp { | 703 | struct ib_uverbs_modify_qp_resp { |
| 688 | }; | 704 | }; |
| 689 | 705 | ||
| 706 | struct ib_uverbs_ex_modify_qp_resp { | ||
| 707 | __u32 comp_mask; | ||
| 708 | __u32 response_length; | ||
| 709 | }; | ||
| 710 | |||
| 690 | struct ib_uverbs_destroy_qp { | 711 | struct ib_uverbs_destroy_qp { |
| 691 | __u64 response; | 712 | __u64 response; |
| 692 | __u32 qp_handle; | 713 | __u32 qp_handle; |
| @@ -908,6 +929,23 @@ struct ib_uverbs_flow_spec_ipv6 { · 215 unmodified lines | |||
| 908 | struct ib_uverbs_flow_ipv6_filter mask; | 929 | struct ib_uverbs_flow_ipv6_filter mask; |
| 909 | }; | 930 | }; |
| 910 | 931 | ||
| 932 | struct ib_uverbs_flow_tunnel_filter { | ||
| 933 | __be32 tunnel_id; | ||
| 934 | }; | ||
| 935 | |||
| 936 | struct ib_uverbs_flow_spec_tunnel { | ||
| 937 | union { | ||
| 938 | struct ib_uverbs_flow_spec_hdr hdr; | ||
| 939 | struct { | ||
| 940 | __u32 type; | ||
| 941 | __u16 size; | ||
| 942 | __u16 reserved; | ||
| 943 | }; | ||
| 944 | }; | ||
| 945 | struct ib_uverbs_flow_tunnel_filter val; | ||
| 946 | struct ib_uverbs_flow_tunnel_filter mask; | ||
| 947 | }; | ||
| 948 | |||
| 911 | struct ib_uverbs_flow_attr { | 949 | struct ib_uverbs_flow_attr { |
| 912 | __u32 type; | 950 | __u32 type; |
| 913 | __u16 size; | 951 | __u16 size; |
| @@ -82,6 +82,7 @@ enum mlx5_ib_alloc_ucontext_resp_mask { · 81 unmodified lines | |||
| 82 | 82 | ||
| 83 | enum mlx5_user_cmds_supp_uhw { | 83 | enum mlx5_user_cmds_supp_uhw { |
| 84 | MLX5_USER_CMDS_SUPP_UHW_QUERY_DEVICE = 1 << 0, | 84 | MLX5_USER_CMDS_SUPP_UHW_QUERY_DEVICE = 1 << 0, |
| 85 | MLX5_USER_CMDS_SUPP_UHW_CREATE_AH = 1 << 1, | ||
| 85 | }; | 86 | }; |
| 86 | 87 | ||
| 87 | struct mlx5_ib_alloc_ucontext_resp { | 88 | struct mlx5_ib_alloc_ucontext_resp { |
| @@ -124,18 +125,47 @@ struct mlx5_ib_rss_caps { · 36 unmodified lines | |||
| 124 | __u8 reserved[7]; | 125 | __u8 reserved[7]; |
| 125 | }; | 126 | }; |
| 126 | 127 | ||
| 128 | enum mlx5_ib_cqe_comp_res_format { | ||
| 129 | MLX5_IB_CQE_RES_FORMAT_HASH = 1 << 0, | ||
| 130 | MLX5_IB_CQE_RES_FORMAT_CSUM = 1 << 1, | ||
| 131 | MLX5_IB_CQE_RES_RESERVED = 1 << 2, | ||
| 132 | }; | ||
| 133 | |||
| 134 | struct mlx5_ib_cqe_comp_caps { | ||
| 135 | __u32 max_num; | ||
| 136 | __u32 supported_format; /* enum mlx5_ib_cqe_comp_res_format */ | ||
| 137 | }; | ||
| 138 | |||
| 139 | struct mlx5_packet_pacing_caps { | ||
| 140 | __u32 qp_rate_limit_min; | ||
| 141 | __u32 qp_rate_limit_max; /* In kpbs */ | ||
| 142 | |||
| 143 | /* Corresponding bit will be set if qp type from | ||
| 144 | * 'enum ib_qp_type' is supported, e.g. | ||
| 145 | * supported_qpts |= 1 << IB_QPT_RAW_PACKET | ||
| 146 | */ | ||
| 147 | __u32 supported_qpts; | ||
| 148 | __u32 reserved; | ||
| 149 | }; | ||
| 150 | |||
| 127 | struct mlx5_ib_query_device_resp { | 151 | struct mlx5_ib_query_device_resp { |
| 128 | __u32 comp_mask; | 152 | __u32 comp_mask; |
| 129 | __u32 response_length; | 153 | __u32 response_length; |
| 130 | struct mlx5_ib_tso_caps tso_caps; | 154 | struct mlx5_ib_tso_caps tso_caps; |
| 131 | struct mlx5_ib_rss_caps rss_caps; | 155 | struct mlx5_ib_rss_caps rss_caps; |
| 156 | struct mlx5_ib_cqe_comp_caps cqe_comp_caps; | ||
| 157 | struct mlx5_packet_pacing_caps packet_pacing_caps; | ||
| 158 | __u32 mlx5_ib_support_multi_pkt_send_wqes; | ||
| 159 | __u32 reserved; | ||
| 132 | }; | 160 | }; |
| 133 | 161 | ||
| 134 | struct mlx5_ib_create_cq { | 162 | struct mlx5_ib_create_cq { |
| 135 | __u64 buf_addr; | 163 | __u64 buf_addr; |
| 136 | __u64 db_addr; | 164 | __u64 db_addr; |
| 137 | __u32 cqe_size; | 165 | __u32 cqe_size; |
| 138 | __u32 reserved; /* explicit padding (optional on i386) */ | 166 | __u8 cqe_comp_en; |
| 167 | __u8 cqe_comp_res_format; | ||
| 168 | __u16 reserved; /* explicit padding (optional on i386) */ | ||
| 139 | }; | 169 | }; |
| 140 | 170 | ||
| 141 | struct mlx5_ib_create_cq_resp { | 171 | struct mlx5_ib_create_cq_resp { |
| @@ -232,6 +262,12 @@ struct mlx5_ib_create_wq { · 90 unmodified lines | |||
| 232 | __u32 reserved; | 262 | __u32 reserved; |
| 233 | }; | 263 | }; |
| 234 | 264 | ||
| 265 | struct mlx5_ib_create_ah_resp { | ||
| 266 | __u32 response_length; | ||
| 267 | __u8 dmac[ETH_ALEN]; | ||
| 268 | __u8 reserved[6]; | ||
| 269 | }; | ||
| 270 | |||
| 235 | struct mlx5_ib_create_wq_resp { | 271 | struct mlx5_ib_create_wq_resp { |
| 236 | __u32 response_length; | 272 | __u32 response_length; |
| 237 | __u32 reserved; | 273 | __u32 reserved; |