@@ -259,6 +259,23 @@ enum ibv_raw_packet_caps {
IBV_RAW_PACKET_CAP_IP_CSUM = 1 << 2,
};
+enum ibv_tm_cap_flags {
+ IBV_TM_CAP_RC = 1 << 0
+};
+
+struct ibv_tm_caps {
+ /* Max size for RNDV message */
+ uint32_t max_rndv_hdr_size;
+ /* Max number of entries in tag matching list */
+ uint32_t max_num_tags;
+ /* TM capabilities mask - enumerated in ibv_tm_cap_flags */
+ uint32_t capability_flags;
+ /* Max number of outstanding list operations */
+ uint32_t max_ops;
+ /* Max number of SGE in a tag matching entry */
+ uint32_t max_sge;
+};
+
struct ibv_device_attr_ex {
struct ibv_device_attr orig_attr;
uint32_t comp_mask;
@@ -271,6 +288,7 @@ struct ibv_device_attr_ex {
uint32_t max_wq_type_rq;
struct ibv_packet_pacing_caps packet_pacing_caps;
uint32_t raw_packet_caps; /* Use ibv_raw_packet_caps */
+ struct ibv_tm_caps tm_caps;
};
enum ibv_mtu {