sw test tool: Reduce similar classes

TargetSw and TesterSw are merged as OpenFlowSw.

Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
Yuichi Ito 2014-05-21 17:20:54 +09:00 committed by FUJITA Tomonori
parent fea1f610aa
commit d73d3bb136

View File

@ -257,8 +257,8 @@ class OfTester(app_manager.RyuApp):
test_dir = CONF['test-switch']['dir']
self.logger.info('Test files directory = %s', test_dir)
self.target_sw = TargetSw(DummyDatapath(), self.logger)
self.tester_sw = TesterSw(DummyDatapath(), self.logger)
self.target_sw = OpenFlowSw(DummyDatapath(), self.logger)
self.tester_sw = OpenFlowSw(DummyDatapath(), self.logger)
self.state = STATE_INIT_FLOW
self.sw_waiter = None
self.waiter = None
@ -1061,6 +1061,40 @@ class OpenFlowSw(object):
match=match, instructions=inst)
return self.send_msg(mod)
def del_test_flow(self):
""" Delete all flow except default flow. """
ofp = self.dp.ofproto
parser = self.dp.ofproto_parser
mod = parser.OFPFlowMod(self.dp,
table_id=ofp.OFPTT_ALL,
command=ofp.OFPFC_DELETE,
out_port=ofp.OFPP_ANY,
out_group=ofp.OFPG_ANY)
return self.send_msg(mod)
def del_flows_for_throughput_analysis(self):
""" Delete all flow except default flow. """
ofp = self.dp.ofproto
parser = self.dp.ofproto_parser
mod = parser.OFPFlowMod(self.dp,
cookie=THROUGHPUT_COOKIE,
cookie_mask=0xffffffffffffffff,
table_id=ofp.OFPTT_ALL,
command=ofp.OFPFC_DELETE,
out_port=ofp.OFPP_ANY,
out_group=ofp.OFPG_ANY)
return self.send_msg(mod)
def del_test_meter(self):
""" Delete all meter entries. """
ofp = self.dp.ofproto
parser = self.dp.ofproto_parser
mod = parser.OFPMeterMod(self.dp,
command=ofp.OFPMC_DELETE,
flags=0,
meter_id=ofp.OFPM_ALL)
return self.send_msg(mod)
def send_barrier_request(self):
""" send a BARRIER_REQUEST message."""
parser = self.dp.ofproto_parser
@ -1084,32 +1118,6 @@ class OpenFlowSw(object):
0, 0, parser.OFPMatch())
return self.send_msg(req)
class TargetSw(OpenFlowSw):
def __init__(self, dp, logger):
super(TargetSw, self).__init__(dp, logger)
def del_test_flow(self):
""" Delete all flow except default flow. """
ofp = self.dp.ofproto
parser = self.dp.ofproto_parser
mod = parser.OFPFlowMod(self.dp,
table_id=ofp.OFPTT_ALL,
command=ofp.OFPFC_DELETE,
out_port=ofp.OFPP_ANY,
out_group=ofp.OFPG_ANY)
return self.send_msg(mod)
def del_test_meter(self):
""" Delete all meter entries. """
ofp = self.dp.ofproto
parser = self.dp.ofproto_parser
mod = parser.OFPMeterMod(self.dp,
command=ofp.OFPMC_DELETE,
flags=0,
meter_id=ofp.OFPM_ALL)
return self.send_msg(mod)
def send_meter_config_stats(self):
""" Get all meter. """
parser = self.dp.ofproto_parser
@ -1122,24 +1130,6 @@ class TargetSw(OpenFlowSw):
req = parser.OFPTableStatsRequest(self.dp, 0)
return self.send_msg(req)
class TesterSw(OpenFlowSw):
def __init__(self, dp, logger):
super(TesterSw, self).__init__(dp, logger)
def del_flows_for_throughput_analysis(self):
""" Delete all flow except default flow. """
ofp = self.dp.ofproto
parser = self.dp.ofproto_parser
mod = parser.OFPFlowMod(self.dp,
cookie=THROUGHPUT_COOKIE,
cookie_mask=0xffffffffffffffff,
table_id=ofp.OFPTT_ALL,
command=ofp.OFPFC_DELETE,
out_port=ofp.OFPP_ANY,
out_group=ofp.OFPG_ANY)
return self.send_msg(mod)
def send_packet_out(self, data):
""" send a PacketOut message."""
ofp = self.dp.ofproto