blob: f9256a6d61127aec71f3ff011cdc1ec05fcb1206 [file] [log] [blame]
from tests.base import RCResources, UDResources, XRCResources
from tests.test_mr import MRExRes
from tests.utils import traffic, xrc_traffic, rdma_traffic
from tests.base import RDMATestCase
from pyverbs.mr import MR
from pyverbs.libibverbs_enums import ibv_access_flags, ibv_wr_opcode
class RoUD(UDResources):
def create_mr(self):
self.mr = MR(self.pd, self.msg_size + self.GRH_SIZE,
ibv_access_flags.IBV_ACCESS_LOCAL_WRITE | ibv_access_flags.IBV_ACCESS_RELAXED_ORDERING)
class RoRC(RCResources):
def create_mr(self):
self.mr = MR(self.pd, self.msg_size,
ibv_access_flags.IBV_ACCESS_LOCAL_WRITE | ibv_access_flags.IBV_ACCESS_RELAXED_ORDERING)
class RoXRC(XRCResources):
def create_mr(self):
self.mr = MR(self.pd, self.msg_size,
ibv_access_flags.IBV_ACCESS_LOCAL_WRITE | ibv_access_flags.IBV_ACCESS_RELAXED_ORDERING)
class RoTestCase(RDMATestCase):
def setUp(self):
super(RoTestCase, self).setUp()
self.iters = 100
def test_ro_rc_traffic(self):
self.create_players(RoRC)
traffic(**self.traffic_args)
def test_ro_ud_traffic(self):
self.create_players(RoUD)
traffic(**self.traffic_args)
def test_ro_xrc_traffic(self):
self.create_players(RoXRC)
xrc_traffic(self.client, self.server)
def test_ro_mr_ex_traffic(self):
access = (ibv_access_flags.IBV_ACCESS_LOCAL_WRITE |
ibv_access_flags.IBV_ACCESS_REMOTE_WRITE |
ibv_access_flags.IBV_ACCESS_RELAXED_ORDERING)
self.create_players(MRExRes, mr_access=access)
rdma_traffic(**self.traffic_args, send_op=ibv_wr_opcode.IBV_WR_RDMA_WRITE)