@@ -966,7 +966,8 @@ enum {
CREATE_QP_EX2_SUP_CREATE_FLAGS = IBV_QP_CREATE_BLOCK_SELF_MCAST_LB |
IBV_QP_CREATE_SCATTER_FCS |
IBV_QP_CREATE_CVLAN_STRIPPING |
- IBV_QP_CREATE_SOURCE_QPN,
+ IBV_QP_CREATE_SOURCE_QPN |
+ IBV_QP_CREATE_PCI_WRITE_END_PADDING,
};
int ibv_cmd_create_qp_ex2(struct ibv_context *context,
@@ -59,6 +59,7 @@ IBV_QP_CREATE_BLOCK_SELF_MCAST_LB = 1 << 1, /* Prevent self multicast loop
IBV_QP_CREATE_SCATTER_FCS = 1 << 8, /* FCS field will be scattered to host memory */
IBV_QP_CREATE_CVLAN_STRIPPING = 1 << 9, /* CVLAN field will be stripped from incoming packets */
IBV_QP_CREATE_SOURCE_QPN = 1 << 10, /* The created QP will use the source_qpn as its wire QP number */
+IBV_QP_CREATE_PCI_WRITE_END_PADDING = 1 << 11, /* Incoming packets will be padded to cacheline size */
.in -8
};
.nf
@@ -42,7 +42,8 @@ enum ibv_wq_flags {
IBV_WQ_FLAGS_CVLAN_STRIPPING = 1 << 0, /* CVLAN field will be stripped from incoming packets */
IBV_WQ_FLAGS_SCATTER_FCS = 1 << 1, /* FCS field will be scattered to host memory */
IBV_WQ_FLAGS_DELAY_DROP = 1 << 2, /* Packets won't be dropped immediately if no receive WQEs */
-IBV_WQ_FLAGS_RESERVED = 1 << 3,
+IBV_WQ_FLAGS_PCI_WRITE_END_PADDING = 1 << 3, /* Incoming packets will be padded to cacheline size */
+IBV_WQ_FLAGS_RESERVED = 1 << 4,
.in -8
};
.nf
@@ -739,7 +739,8 @@ enum ibv_wq_flags {
IBV_WQ_FLAGS_CVLAN_STRIPPING = 1 << 0,
IBV_WQ_FLAGS_SCATTER_FCS = 1 << 1,
IBV_WQ_FLAGS_DELAY_DROP = 1 << 2,
- IBV_WQ_FLAGS_RESERVED = 1 << 3,
+ IBV_WQ_FLAGS_PCI_WRITE_END_PADDING = 1 << 3,
+ IBV_WQ_FLAGS_RESERVED = 1 << 4,
};
struct ibv_wq_init_attr {
@@ -848,6 +849,7 @@ enum ibv_qp_create_flags {
IBV_QP_CREATE_SCATTER_FCS = 1 << 8,
IBV_QP_CREATE_CVLAN_STRIPPING = 1 << 9,
IBV_QP_CREATE_SOURCE_QPN = 1 << 10,
+ IBV_QP_CREATE_PCI_WRITE_END_PADDING = 1 << 11,
};
struct ibv_rx_hash_conf {