History

IB/mlx4: Add support for RSS QP

Add support to work with a RSS QP by using an indirection table object upon QP creation. Other related QP verbs (e.g. modify/destroy/query) were updated as well for that QP mode. Notes: - The RX hash properties are supplied as driver private data. - The RSS QP port is used on the associated WQs in its indirection table. Applying different ports during WQ life time is not allowed. - The expected RSS QP flow is: create, modify(RST->INIT), modify(RST->RTR), destroy.

Guy Levi committed 9 years ago

Commit 3078f5f1 parent b8d46ca3 files · +472 −22Browse files

Showing the changes to include/uapi (1 of 3 files). Show all

Unified · Split

include/uapi/rdma/mlx4-abi.h+33−0
@@ -95,6 +95,16 @@ struct mlx4_ib_create_srq_resp { · 94 unmodified lines
95 __u32 reserved;95 __u32 reserved;
96};96};
97 97
98struct mlx4_ib_create_qp_rss {
99 __u64 rx_hash_fields_mask;
100 __u8 rx_hash_function;
101 __u8 rx_key_len;
102 __u8 reserved[6];
103 __u8 rx_hash_key[40];
104 __u32 comp_mask;
105 __u32 reserved1;
106};
107
98struct mlx4_ib_create_qp {108struct mlx4_ib_create_qp {
99 __u64 buf_addr;109 __u64 buf_addr;
100 __u64 db_addr;110 __u64 db_addr;
@@ -123,4 +133,27 @@ struct mlx4_ib_create_rwq_ind_tbl_resp { · 22 unmodified lines
123 __u32 response_length;133 __u32 response_length;
124 __u32 reserved;134 __u32 reserved;
125};135};
136
137/* RX Hash function flags */
138enum mlx4_ib_rx_hash_function_flags {
139 MLX4_IB_RX_HASH_FUNC_TOEPLITZ = 1 << 0,
140};
141
142/*
143 * RX Hash flags, these flags allows to set which incoming packet's field should
144 * participates in RX Hash. Each flag represent certain packet's field,
145 * when the flag is set the field that is represented by the flag will
146 * participate in RX Hash calculation.
147 */
148enum mlx4_ib_rx_hash_fields {
149 MLX4_IB_RX_HASH_SRC_IPV4 = 1 << 0,
150 MLX4_IB_RX_HASH_DST_IPV4 = 1 << 1,
151 MLX4_IB_RX_HASH_SRC_IPV6 = 1 << 2,
152 MLX4_IB_RX_HASH_DST_IPV6 = 1 << 3,
153 MLX4_IB_RX_HASH_SRC_PORT_TCP = 1 << 4,
154 MLX4_IB_RX_HASH_DST_PORT_TCP = 1 << 5,
155 MLX4_IB_RX_HASH_SRC_PORT_UDP = 1 << 6,
156 MLX4_IB_RX_HASH_DST_PORT_UDP = 1 << 7
157};
158
126#endif /* MLX4_ABI_USER_H */159#endif /* MLX4_ABI_USER_H */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t