12
12
from tests .base import UDResources , RCResources , RDMATestCase , XRCResources
13
13
import tests .utils as u
14
14
15
-
16
- def create_qp_ex (agr_obj , qp_type , send_flags ):
17
- if qp_type == e .IBV_QPT_XRC_SEND :
18
- cap = QPCap (max_send_wr = agr_obj .num_msgs , max_recv_wr = 0 , max_recv_sge = 0 ,
19
- max_send_sge = 1 )
20
- else :
21
- cap = QPCap (max_send_wr = agr_obj .num_msgs , max_recv_wr = agr_obj .num_msgs ,
22
- max_recv_sge = 1 , max_send_sge = 1 )
23
- qia = QPInitAttrEx (cap = cap , qp_type = qp_type , scq = agr_obj .cq ,
24
- rcq = agr_obj .cq , pd = agr_obj .pd , send_ops_flags = send_flags ,
25
- comp_mask = e .IBV_QP_INIT_ATTR_PD |
26
- e .IBV_QP_INIT_ATTR_SEND_OPS_FLAGS )
27
- qp_attr = QPAttr (port_num = agr_obj .ib_port )
28
- if qp_type == e .IBV_QPT_UD :
29
- qp_attr .qkey = agr_obj .UD_QKEY
30
- qp_attr .pkey_index = agr_obj .UD_PKEY_INDEX
31
- if qp_type == e .IBV_QPT_RC :
32
- qp_attr .qp_access_flags = e .IBV_ACCESS_REMOTE_WRITE | \
33
- e .IBV_ACCESS_REMOTE_READ | \
34
- e .IBV_ACCESS_REMOTE_ATOMIC | \
35
- e .IBV_ACCESS_FLUSH_GLOBAL | \
36
- e .IBV_ACCESS_FLUSH_PERSISTENT
37
- try :
38
- # We don't have capability bits for this
39
- qp = QPEx (agr_obj .ctx , qia , qp_attr )
40
- except PyverbsRDMAError as ex :
41
- if ex .error_code == errno .EOPNOTSUPP :
42
- raise unittest .SkipTest ('Extended QP is not supported on this device' )
43
- raise ex
44
- if qp_type != e .IBV_QPT_XRC_SEND :
45
- agr_obj .qps .append (qp )
46
- agr_obj .qps_num .append (qp .qp_num )
47
- agr_obj .psns .append (random .getrandbits (24 ))
48
- else :
49
- return qp
50
-
51
-
52
15
class QpExUDSend (UDResources ):
53
16
def create_qps (self ):
54
- create_qp_ex (self , e .IBV_QPT_UD , e .IBV_QP_EX_WITH_SEND )
17
+ u . create_qp_ex (self , e .IBV_QPT_UD , e .IBV_QP_EX_WITH_SEND )
55
18
56
19
57
20
class QpExRCSend (RCResources ):
58
21
def create_qps (self ):
59
- create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_SEND )
22
+ u . create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_SEND )
60
23
61
24
62
25
class QpExXRCSend (XRCResources ):
@@ -72,20 +35,20 @@ def create_qps(self):
72
35
recv_qp = QP (self .ctx , attr_ex , qp_attr )
73
36
self .rqp_lst .append (recv_qp )
74
37
75
- send_qp = create_qp_ex (self , e .IBV_QPT_XRC_SEND , e .IBV_QP_EX_WITH_SEND )
38
+ send_qp = u . create_qp_ex (self , e .IBV_QPT_XRC_SEND , e .IBV_QP_EX_WITH_SEND )
76
39
self .sqp_lst .append (send_qp )
77
40
self .qps_num .append ((recv_qp .qp_num , send_qp .qp_num ))
78
41
self .psns .append (random .getrandbits (24 ))
79
42
80
43
81
44
class QpExUDSendImm (UDResources ):
82
45
def create_qps (self ):
83
- create_qp_ex (self , e .IBV_QPT_UD , e .IBV_QP_EX_WITH_SEND_WITH_IMM )
46
+ u . create_qp_ex (self , e .IBV_QPT_UD , e .IBV_QP_EX_WITH_SEND_WITH_IMM )
84
47
85
48
86
49
class QpExRCSendImm (RCResources ):
87
50
def create_qps (self ):
88
- create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_SEND_WITH_IMM )
51
+ u . create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_SEND_WITH_IMM )
89
52
90
53
91
54
class QpExXRCSendImm (XRCResources ):
@@ -101,7 +64,7 @@ def create_qps(self):
101
64
recv_qp = QP (self .ctx , attr_ex , qp_attr )
102
65
self .rqp_lst .append (recv_qp )
103
66
104
- send_qp = create_qp_ex (self , e .IBV_QPT_XRC_SEND ,
67
+ send_qp = u . create_qp_ex (self , e .IBV_QPT_XRC_SEND ,
105
68
e .IBV_QP_EX_WITH_SEND_WITH_IMM )
106
69
self .sqp_lst .append (send_qp )
107
70
self .qps_num .append ((recv_qp .qp_num , send_qp .qp_num ))
@@ -112,7 +75,7 @@ class QpExRCFlush(RCResources):
112
75
ptype = e .IBV_FLUSH_GLOBAL
113
76
level = e .IBV_FLUSH_RANGE
114
77
def create_qps (self ):
115
- create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_FLUSH | e .IBV_QP_EX_WITH_RDMA_WRITE )
78
+ u . create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_FLUSH | e .IBV_QP_EX_WITH_RDMA_WRITE )
116
79
117
80
def create_mr (self ):
118
81
try :
@@ -125,23 +88,23 @@ def create_mr(self):
125
88
126
89
class QpExRCAtomicWrite (RCResources ):
127
90
def create_qps (self ):
128
- create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_ATOMIC_WRITE )
91
+ u . create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_ATOMIC_WRITE )
129
92
130
93
def create_mr (self ):
131
94
self .mr = u .create_custom_mr (self , e .IBV_ACCESS_REMOTE_WRITE )
132
95
133
96
134
97
class QpExRCRDMAWrite (RCResources ):
135
98
def create_qps (self ):
136
- create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_RDMA_WRITE )
99
+ u . create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_RDMA_WRITE )
137
100
138
101
def create_mr (self ):
139
102
self .mr = u .create_custom_mr (self , e .IBV_ACCESS_REMOTE_WRITE )
140
103
141
104
142
105
class QpExRCRDMAWriteImm (RCResources ):
143
106
def create_qps (self ):
144
- create_qp_ex (self , e .IBV_QPT_RC ,
107
+ u . create_qp_ex (self , e .IBV_QPT_RC ,
145
108
e .IBV_QP_EX_WITH_RDMA_WRITE_WITH_IMM )
146
109
147
110
def create_mr (self ):
@@ -150,29 +113,29 @@ def create_mr(self):
150
113
151
114
class QpExRCRDMARead (RCResources ):
152
115
def create_qps (self ):
153
- create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_RDMA_READ )
116
+ u . create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_RDMA_READ )
154
117
155
118
def create_mr (self ):
156
119
self .mr = u .create_custom_mr (self , e .IBV_ACCESS_REMOTE_READ )
157
120
158
121
159
122
class QpExRCAtomicCmpSwp (RCResources ):
160
123
def create_qps (self ):
161
- create_qp_ex (self , e .IBV_QPT_RC ,
124
+ u . create_qp_ex (self , e .IBV_QPT_RC ,
162
125
e .IBV_QP_EX_WITH_ATOMIC_CMP_AND_SWP )
163
126
self .mr = u .create_custom_mr (self , e .IBV_ACCESS_REMOTE_ATOMIC )
164
127
165
128
166
129
class QpExRCAtomicFetchAdd (RCResources ):
167
130
def create_qps (self ):
168
- create_qp_ex (self , e .IBV_QPT_RC ,
131
+ u . create_qp_ex (self , e .IBV_QPT_RC ,
169
132
e .IBV_QP_EX_WITH_ATOMIC_FETCH_AND_ADD )
170
133
self .mr = u .create_custom_mr (self , e .IBV_ACCESS_REMOTE_ATOMIC )
171
134
172
135
173
136
class QpExRCBindMw (RCResources ):
174
137
def create_qps (self ):
175
- create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_RDMA_WRITE |
138
+ u . create_qp_ex (self , e .IBV_QPT_RC , e .IBV_QP_EX_WITH_RDMA_WRITE |
176
139
e .IBV_QP_EX_WITH_BIND_MW )
177
140
178
141
def create_mr (self ):
0 commit comments