Add CRC32 support to the sig-handover tests
Initialisation of T10-DIF signature domain has been removed from
the sig_test_base fixture. Now an abstract sig_domain is used in
sig_test_base. So we can use the same tests for different
sig_domains. Two implementations of sig_domain was added:
* T10-DIF
* CRC32
Signed-off-by: Sergey Gorenko <sergeygo@mellanox.com>
diff --git a/tests/sig-handover/pillar.cc b/tests/sig-handover/pillar.cc
index bc3c2a3..5a1881b 100644
--- a/tests/sig-handover/pillar.cc
+++ b/tests/sig-handover/pillar.cc
@@ -309,10 +309,10 @@
assert(rc == 0);
}
-TEST_F(sig_test, ext0) {
+TEST_F(sig_test_t10diff, ext0) {
CHK_SUT(sig_handover);
- EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->t10dif()));
- EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->sig()));
+ EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD(this->pi_size())), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
ibvt_wc wc(cq);
diff --git a/tests/sig-handover/smoke.cc b/tests/sig-handover/smoke.cc
index 80bb9e2..23bea03 100644
--- a/tests/sig-handover/smoke.cc
+++ b/tests/sig-handover/smoke.cc
@@ -53,7 +53,7 @@
#endif
#define SZ (512*BBB)
-#define SZD (520*BBB)
+#define SZD(pi_size) ((512+pi_size)*BBB)
#define SZ_p(n) (512*((n)%BBB+1))
#define SZ_pp(n,from,spare) (from+512*((n)%(BBB-spare-from/512)+1))
@@ -141,8 +141,78 @@
}
};
-template <typename QP>
-struct sig_test_base : public testing::Test, public ibvt_env {
+struct sig_domain {
+ virtual struct ibv_exp_sig_domain nosig() {
+ struct ibv_exp_sig_domain sd = {};
+
+ sd.sig_type = IBV_EXP_SIG_TYPE_NONE;
+
+ return sd;
+ }
+
+ virtual struct ibv_exp_sig_domain sig() = 0;
+ virtual uint16_t check_mask() = 0;
+};
+
+struct sig_t10dif : public sig_domain {
+ static unsigned pi_size() {
+ return 8;
+ }
+
+ enum {
+ CHECK_REF_TAG = 0x0f,
+ CHECK_APP_TAG = 0x30,
+ CHECK_GUARD = 0xc0,
+ };
+
+ virtual uint16_t check_mask() {
+ return CHECK_APP_TAG | CHECK_GUARD;
+ }
+
+ virtual struct ibv_exp_sig_domain sig() {
+ struct ibv_exp_sig_domain sd = {};
+
+ sd.sig_type = IBV_EXP_SIG_TYPE_T10_DIF;
+ sd.sig.dif.bg_type = IBV_EXP_T10DIF_CRC;
+ sd.sig.dif.pi_interval = 512;
+ sd.sig.dif.bg = 0x1234;
+ sd.sig.dif.app_tag = 0x5678;
+ sd.sig.dif.ref_tag = 0xabcdef90;
+ sd.sig.dif.ref_remap = 1;
+ sd.sig.dif.app_escape = 1;
+ sd.sig.dif.ref_escape = 1;
+ sd.sig.dif.apptag_check_mask = 0xffff;
+
+ return sd;
+ }
+};
+
+struct sig_crc32 : public sig_domain {
+ static unsigned pi_size() {
+ return 4;
+ }
+
+ enum {
+ CHECK_GUARD = 0xff,
+ };
+
+ virtual uint16_t check_mask() {
+ return CHECK_GUARD;
+ }
+
+ virtual struct ibv_exp_sig_domain sig() {
+ struct ibv_exp_sig_domain sd = {};
+
+ sd.sig_type = IBV_EXP_SIG_TYPE_CRC32;
+ sd.sig.crc.pi_interval = 512;
+ sd.sig.crc.bg = 0xffffffff;
+
+ return sd;
+ }
+};
+
+template <typename QP, typename SD>
+struct sig_test_base : public testing::Test, public SD, public ibvt_env {
ibvt_ctx ctx;
ibvt_pd pd;
ibvt_cq cq;
@@ -170,9 +240,9 @@
recv_qp(*this, pd, cq),
src_mr(*this, pd, SZ),
src2_mr(*this, pd, SZ),
- mid_mr(*this, pd, SZD),
- mid2_mr(*this, pd, SZD),
- mid_mr_x2(*this, pd, SZD * 2),
+ mid_mr(*this, pd, SZD(this->pi_size())),
+ mid2_mr(*this, pd, SZD(this->pi_size())),
+ mid_mr_x2(*this, pd, SZD(this->pi_size()) * 2),
dst_mr(*this, pd, SZ),
dst_mr_x2(*this, pd, SZ * 2),
insert_mr(*this, pd),
@@ -180,38 +250,9 @@
check_mr(*this, pd),
strip_mr(*this, pd),
strip_mr_x2(*this, pd),
- mw(mid_mr, 0, SZD, send_qp)
+ mw(mid_mr, 0, SZD(this->pi_size()), send_qp)
{ }
- #define CHECK_REF_TAG 0x0f
- #define CHECK_APP_TAG 0x30
- #define CHECK_GUARD 0xc0
-
- virtual struct ibv_exp_sig_domain t10dif() {
- struct ibv_exp_sig_domain sd = {};
-
- sd.sig_type = IBV_EXP_SIG_TYPE_T10_DIF;
- sd.sig.dif.bg_type = IBV_EXP_T10DIF_CRC;
- sd.sig.dif.pi_interval = 512;
- sd.sig.dif.bg = 0x1234;
- sd.sig.dif.app_tag = 0x5678;
- sd.sig.dif.ref_tag = 0xabcdef90;
- sd.sig.dif.ref_remap = 1;
- sd.sig.dif.app_escape = 1;
- sd.sig.dif.ref_escape = 1;
- sd.sig.dif.apptag_check_mask = 0xffff;
-
- return sd;
- }
-
- virtual struct ibv_exp_sig_domain nosig() {
- struct ibv_exp_sig_domain sd = {};
-
- sd.sig_type = IBV_EXP_SIG_TYPE_NONE;
-
- return sd;
- }
-
virtual void config(ibvt_mr &sig_mr, struct ibv_sge data,
struct ibv_exp_sig_domain mem,
struct ibv_exp_sig_domain wire) {
@@ -219,9 +260,7 @@
struct ibv_send_wr *bad_wr;
struct ibv_exp_sig_attrs sig = {};
- //sig.check_mask |= CHECK_REF_TAG;
- sig.check_mask |= CHECK_APP_TAG;
- sig.check_mask |= CHECK_GUARD;
+ sig.check_mask = this->check_mask();
sig.mem = mem;
sig.wire = wire;
@@ -301,14 +340,19 @@
}
};
-typedef sig_test_base<ibvt_qp_sig> sig_test;
-typedef sig_test_base<ibvt_qp_sig_pipeline> sig_test_pipeline;
+template <typename SD>
+struct sig_test : public sig_test_base<ibvt_qp_sig, SD> {};
+typedef testing::Types<sig_t10dif, sig_crc32> sig_domain_types;
+TYPED_TEST_CASE(sig_test, sig_domain_types);
-TEST_F(sig_test, c0) {
+typedef sig_test<sig_t10dif> sig_test_t10diff;
+typedef sig_test_base<ibvt_qp_sig_pipeline, sig_t10dif> sig_test_pipeline;
+
+TYPED_TEST(sig_test, c0) {
CHK_SUT(sig_handover);
- EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->t10dif()));
- EXEC(config(this->strip_mr, this->mid_mr.sge(), this->t10dif(), this->nosig()));
- EXEC(send_qp.rdma(this->mid_mr.sge(), this->insert_mr.sge(0,SZD), IBV_WR_RDMA_READ));
+ EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->sig()));
+ EXEC(config(this->strip_mr, this->mid_mr.sge(), this->sig(), this->nosig()));
+ EXEC(send_qp.rdma(this->mid_mr.sge(), this->insert_mr.sge(0,SZD(this->pi_size())), IBV_WR_RDMA_READ));
EXEC(cq.poll());
EXEC(send_qp.rdma(this->dst_mr.sge(), this->strip_mr.sge(0,SZ), IBV_WR_RDMA_READ));
EXEC(cq.poll());
@@ -316,11 +360,11 @@
EXEC(dst_mr.check());
}
-TEST_F(sig_test, c1) {
+TYPED_TEST(sig_test, c1) {
CHK_SUT(sig_handover);
- EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->t10dif()));
- EXEC(config(this->strip_mr, this->mid_mr.sge(), this->t10dif(), this->nosig()));
- EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->sig()));
+ EXEC(config(this->strip_mr, this->mid_mr.sge(), this->sig(), this->nosig()));
+ EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD(this->pi_size())), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
EXEC(send_qp.rdma(this->strip_mr.sge(0,SZ), this->dst_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
@@ -328,38 +372,38 @@
EXEC(dst_mr.check());
}
-TEST_F(sig_test, c2) {
+TYPED_TEST(sig_test, c2) {
CHK_SUT(sig_handover);
- EXEC(config(this->insert_mr, this->mid_mr.sge(), this->t10dif(), this->nosig()));
- EXEC(config(this->strip_mr, this->dst_mr.sge(), this->nosig(), this->t10dif()));
+ EXEC(config(this->insert_mr, this->mid_mr.sge(), this->sig(), this->nosig()));
+ EXEC(config(this->strip_mr, this->dst_mr.sge(), this->nosig(), this->sig()));
EXEC(send_qp.rdma(this->insert_mr.sge(0,SZ), this->src_mr.sge(), IBV_WR_RDMA_READ));
EXEC(cq.poll());
- EXEC(send_qp.rdma(this->strip_mr.sge(0,SZD), this->mid_mr.sge(), IBV_WR_RDMA_READ));
+ EXEC(send_qp.rdma(this->strip_mr.sge(0,SZD(this->pi_size())), this->mid_mr.sge(), IBV_WR_RDMA_READ));
EXEC(cq.poll());
EXEC(mr_status(this->strip_mr, 0));
EXEC(dst_mr.check());
}
-TEST_F(sig_test, c3) {
+TYPED_TEST(sig_test, c3) {
CHK_SUT(sig_handover);
- EXEC(config(this->insert_mr, this->mid_mr.sge(), this->t10dif(), this->nosig()));
- EXEC(config(this->strip_mr, this->dst_mr.sge(), this->nosig(), this->t10dif()));
+ EXEC(config(this->insert_mr, this->mid_mr.sge(), this->sig(), this->nosig()));
+ EXEC(config(this->strip_mr, this->dst_mr.sge(), this->nosig(), this->sig()));
EXEC(send_qp.rdma(this->src_mr.sge(), this->insert_mr.sge(0,SZ), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
- EXEC(send_qp.rdma(this->mid_mr.sge(), this->strip_mr.sge(0,SZD), IBV_WR_RDMA_WRITE));
+ EXEC(send_qp.rdma(this->mid_mr.sge(), this->strip_mr.sge(0,SZD(this->pi_size())), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
EXEC(mr_status(this->strip_mr, 0));
EXEC(dst_mr.check());
}
-TEST_F(sig_test, c4) {
+TYPED_TEST(sig_test, c4) {
CHK_SUT(sig_handover);
- EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->t10dif()));
- EXEC(config(this->check_mr, this->mid_mr.sge(), this->t10dif(), this->t10dif()));
- EXEC(config(this->strip_mr, this->mid2_mr.sge(), this->t10dif(), this->nosig()));
- EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->sig()));
+ EXEC(config(this->check_mr, this->mid_mr.sge(), this->sig(), this->sig()));
+ EXEC(config(this->strip_mr, this->mid2_mr.sge(), this->sig(), this->nosig()));
+ EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD(this->pi_size())), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
- EXEC(send_qp.rdma(this->check_mr.sge(0,SZD), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(send_qp.rdma(this->check_mr.sge(0,SZD(this->pi_size())), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
EXEC(send_qp.rdma(this->strip_mr.sge(0,SZ), this->dst_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
@@ -367,17 +411,17 @@
EXEC(dst_mr.check());
}
-TEST_F(sig_test, r0) {
+TYPED_TEST(sig_test, r0) {
CHK_SUT(sig_handover);
- EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->t10dif()));
- EXEC(config(this->check_mr, this->mid_mr.sge(), this->t10dif(), this->t10dif()));
- struct ibv_exp_sig_domain sd = this->t10dif();
+ EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->sig()));
+ EXEC(config(this->check_mr, this->mid_mr.sge(), this->sig(), this->sig()));
+ struct ibv_exp_sig_domain sd = this->sig();
sd.sig.dif.ref_remap = 0;
EXEC(config(this->strip_mr, this->mid2_mr.sge(), sd, this->nosig()));
- EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD(this->pi_size())), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
- EXEC(send_qp.rdma(this->check_mr.sge(0,SZD), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(send_qp.rdma(this->check_mr.sge(0,SZD(this->pi_size())), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
for (long i = 0; i < 10; i++) {
@@ -388,18 +432,18 @@
}
}
-TEST_F(sig_test, r1) {
+TYPED_TEST(sig_test, r1) {
CHK_SUT(sig_handover);
- EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->t10dif()));
- EXEC(config(this->check_mr, this->mid_mr.sge(), this->t10dif(), this->t10dif()));
+ EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->sig()));
+ EXEC(config(this->check_mr, this->mid_mr.sge(), this->sig(), this->sig()));
- EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD(this->pi_size())), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
- EXEC(send_qp.rdma(this->check_mr.sge(0,SZD), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(send_qp.rdma(this->check_mr.sge(0,SZD(this->pi_size())), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
for (long i = 0; i < 100; i++) {
- EXEC(config(this->strip_mr, this->mid2_mr.sge(), this->t10dif(), this->nosig()));
+ EXEC(config(this->strip_mr, this->mid2_mr.sge(), this->sig(), this->nosig()));
EXEC(send_qp.rdma(this->strip_mr.sge(0,SZ), this->dst_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
EXEC(mr_status(this->strip_mr, 0));
@@ -409,18 +453,18 @@
getchar();
}
-TEST_F(sig_test, r2) {
+TYPED_TEST(sig_test, r2) {
CHK_SUT(sig_handover);
- EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->t10dif()));
- EXEC(config(this->check_mr, this->mid_mr.sge(), this->t10dif(), this->t10dif()));
+ EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->sig()));
+ EXEC(config(this->check_mr, this->mid_mr.sge(), this->sig(), this->sig()));
- EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD(this->pi_size())), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
- EXEC(send_qp.rdma(this->check_mr.sge(0,SZD), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(send_qp.rdma(this->check_mr.sge(0,SZD(this->pi_size())), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
for (long i = 0; i < 100; i++) {
- EXEC(config(this->strip_mr, this->mid2_mr.sge(), this->t10dif(), this->nosig()));
+ EXEC(config(this->strip_mr, this->mid2_mr.sge(), this->sig(), this->nosig()));
EXEC(send_qp.rdma(this->strip_mr.sge(0,SZ_p(i)), this->dst_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
EXEC(mr_status(this->strip_mr, 0));
@@ -430,22 +474,22 @@
getchar();
}
-TEST_F(sig_test, r3) {
+TYPED_TEST(sig_test, r3) {
CHK_SUT(sig_handover);
- EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->t10dif()));
- EXEC(config(this->check_mr, this->mid_mr.sge(), this->t10dif(), this->t10dif()));
+ EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->sig()));
+ EXEC(config(this->check_mr, this->mid_mr.sge(), this->sig(), this->sig()));
- EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD(this->pi_size())), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
- EXEC(send_qp.rdma(this->check_mr.sge(0,SZD), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(send_qp.rdma(this->check_mr.sge(0,SZD(this->pi_size())), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
for (long i = 0; i < 100; i++) {
int j = SZ_pp(i,0,3);
int k = SZ_pp(i,j,2);
int l = SZ_pp(i,k,1);
- EXEC(config(this->strip_mr, this->mid2_mr.sge(), this->t10dif(), this->nosig()));
- EXEC(config(this->strip_mr_x2, this->mid2_mr.sge(), this->t10dif(), this->nosig()));
+ EXEC(config(this->strip_mr, this->mid2_mr.sge(), this->sig(), this->nosig()));
+ EXEC(config(this->strip_mr_x2, this->mid2_mr.sge(), this->sig(), this->nosig()));
EXEC(send_qp.rdma(this->strip_mr.sge(0,j), this->dst_mr.sge(), IBV_WR_RDMA_WRITE, (enum ibv_send_flags)0));
EXEC(send_qp.rdma(this->strip_mr_x2.sge(j,k-j), this->dst_mr.sge(j,0), IBV_WR_RDMA_WRITE, (enum ibv_send_flags)0));
EXEC(send_qp.rdma(this->strip_mr.sge(k,l-k), this->dst_mr.sge(k,0), IBV_WR_RDMA_WRITE, (enum ibv_send_flags)0));
@@ -460,9 +504,9 @@
getchar();
}
-TEST_F(sig_test, r4) {
+TYPED_TEST(sig_test, r4) {
CHK_SUT(sig_handover);
- struct ibv_exp_sig_domain sd = this->t10dif();
+ struct ibv_exp_sig_domain sd = this->sig();
enum ibv_send_flags nof = (enum ibv_send_flags)0;
for (long i = 0; i < 100; i++) {
@@ -472,7 +516,7 @@
sd.sig.dif.ref_tag = 0x28f5b5d * i;
EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), sd));
- EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(send_qp.rdma(this->insert_mr.sge(0,SZD(this->pi_size())), this->mid_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
EXEC(config(this->strip_mr, this->mw.sge(), sd, this->nosig()));
@@ -494,15 +538,15 @@
getchar();
}
-TEST_F(sig_test, c6) {
+TYPED_TEST(sig_test, c6) {
CHK_SUT(sig_handover);
- struct ibv_exp_sig_domain sd = this->t10dif();
+ struct ibv_exp_sig_domain sd = this->sig();
sd.sig.dif.ref_remap = 0;
- EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->t10dif()));
- EXEC(config(this->insert2_mr, this->src2_mr.sge(), this->nosig(), this->t10dif()));
+ EXEC(config(this->insert_mr, this->src_mr.sge(), this->nosig(), this->sig()));
+ EXEC(config(this->insert2_mr, this->src2_mr.sge(), this->nosig(), this->sig()));
EXEC(config(this->strip_mr_x2, this->mid_mr_x2.sge(), sd, this->nosig()));
- EXEC(send_qp.rdma2(this->insert_mr.sge(0,SZD),
- this->insert2_mr.sge(0,SZD),
+ EXEC(send_qp.rdma2(this->insert_mr.sge(0,SZD(this->pi_size())),
+ this->insert2_mr.sge(0,SZD(this->pi_size())),
this->mid_mr_x2.sge(),
IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
@@ -514,49 +558,49 @@
EXEC(dst_mr_x2.check());
}
-TEST_F(sig_test, e0) {
+TYPED_TEST(sig_test, e0) {
CHK_SUT(sig_handover);
- EXEC(config(this->strip_mr, this->mid_mr.sge(), this->t10dif(), this->nosig()));
+ EXEC(config(this->strip_mr, this->mid_mr.sge(), this->sig(), this->nosig()));
EXEC(send_qp.rdma(this->dst_mr.sge(), this->strip_mr.sge(0,SZ), IBV_WR_RDMA_READ));
EXEC(cq.poll());
EXEC(mr_status(this->strip_mr, 1));
}
-TEST_F(sig_test, e1) {
+TYPED_TEST(sig_test, e1) {
CHK_SUT(sig_handover);
- EXEC(config(this->strip_mr, this->mid_mr.sge(), this->t10dif(), this->nosig()));
+ EXEC(config(this->strip_mr, this->mid_mr.sge(), this->sig(), this->nosig()));
EXEC(send_qp.rdma(this->strip_mr.sge(0,SZ), this->dst_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
EXEC(mr_status(this->strip_mr, 1));
}
-TEST_F(sig_test, e2) {
+TYPED_TEST(sig_test, e2) {
CHK_SUT(sig_handover);
- EXEC(config(this->strip_mr, this->dst_mr.sge(), this->nosig(), this->t10dif()));
- EXEC(send_qp.rdma(this->strip_mr.sge(0,SZD), this->mid_mr.sge(), IBV_WR_RDMA_READ));
+ EXEC(config(this->strip_mr, this->dst_mr.sge(), this->nosig(), this->sig()));
+ EXEC(send_qp.rdma(this->strip_mr.sge(0,SZD(this->pi_size())), this->mid_mr.sge(), IBV_WR_RDMA_READ));
EXEC(cq.poll());
EXEC(mr_status(this->strip_mr, 1));
}
-TEST_F(sig_test, e3) {
+TYPED_TEST(sig_test, e3) {
CHK_SUT(sig_handover);
- EXEC(config(this->strip_mr, this->dst_mr.sge(), this->nosig(), this->t10dif()));
- EXEC(send_qp.rdma(this->mid_mr.sge(), this->strip_mr.sge(0,SZD), IBV_WR_RDMA_WRITE));
+ EXEC(config(this->strip_mr, this->dst_mr.sge(), this->nosig(), this->sig()));
+ EXEC(send_qp.rdma(this->mid_mr.sge(), this->strip_mr.sge(0,SZD(this->pi_size())), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
EXEC(mr_status(this->strip_mr, 1));
}
-TEST_F(sig_test, e4) {
+TYPED_TEST(sig_test, e4) {
CHK_SUT(sig_handover);
- EXEC(config(this->check_mr, this->mid_mr.sge(), this->t10dif(), this->t10dif()));
- EXEC(send_qp.rdma(this->check_mr.sge(0,SZD), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
+ EXEC(config(this->check_mr, this->mid_mr.sge(), this->sig(), this->sig()));
+ EXEC(send_qp.rdma(this->check_mr.sge(0,SZD(this->pi_size())), this->mid2_mr.sge(), IBV_WR_RDMA_WRITE));
EXEC(cq.poll());
EXEC(mr_status(this->check_mr, 1));
}
TEST_F(sig_test_pipeline, p0) {
CHK_SUT(sig_handover);
- EXEC(config(this->strip_mr, this->mid_mr.sge(), this->t10dif(), this->nosig()));
+ EXEC(config(this->strip_mr, this->mid_mr.sge(), this->sig(), this->nosig()));
EXEC(recv_qp.recv(this->dst_mr.sge()));
EXEC(recv_qp.recv(this->dst_mr.sge()));
EXEC(send_qp.send_2wr(this->strip_mr.sge(0,SZ), this->src_mr.sge(0,SZ)));
@@ -568,7 +612,7 @@
TEST_F(sig_test_pipeline, p1) {
CHK_SUT(sig_handover);
- EXEC(config(this->strip_mr, this->mid_mr.sge(), this->t10dif(), this->nosig()));
+ EXEC(config(this->strip_mr, this->mid_mr.sge(), this->sig(), this->nosig()));
EXEC(recv_qp.recv(this->dst_mr.sge()));
EXEC(recv_qp.recv(this->dst_mr.sge()));
EXEC(send_qp.send_2wr(this->strip_mr.sge(0,SZ), this->src_mr.sge()));
@@ -578,7 +622,7 @@
TEST_F(sig_test_pipeline, p2) {
CHK_SUT(sig_handover);
- EXEC(config(this->strip_mr, this->mid_mr.sge(), this->t10dif(), this->nosig()));
+ EXEC(config(this->strip_mr, this->mid_mr.sge(), this->sig(), this->nosig()));
EXEC(recv_qp.recv(this->dst_mr.sge()));
EXEC(recv_qp.recv(this->dst_mr.sge()));
struct ibv_sge sge[4];
@@ -595,7 +639,7 @@
TEST_F(sig_test_pipeline, p3) {
CHK_SUT(sig_handover);
for (long i = 0; i < 100; i++) {
- EXEC(config(this->strip_mr, this->mid_mr.sge(), this->t10dif(), this->nosig()));
+ EXEC(config(this->strip_mr, this->mid_mr.sge(), this->sig(), this->nosig()));
EXEC(recv_qp.recv(this->dst_mr.sge()));
EXEC(recv_qp.recv(this->dst_mr.sge()));
struct ibv_sge sge[4];
@@ -612,7 +656,7 @@
TEST_F(sig_test_pipeline, p4) {
CHK_SUT(sig_handover);
- EXEC(config(this->strip_mr, this->mid_mr.sge(), this->t10dif(), this->nosig()));
+ EXEC(config(this->strip_mr, this->mid_mr.sge(), this->sig(), this->nosig()));
for (long i = 0; i < 100; i++) {
EXEC(recv_qp.recv(this->dst_mr.sge()));
EXEC(recv_qp.recv(this->dst_mr.sge()));