update unicast route test
diff --git a/accton/flow_test.py b/accton/flow_test.py
old mode 100644
new mode 100755
index 15986b2..c2e65d2
--- a/accton/flow_test.py
+++ b/accton/flow_test.py
@@ -229,14 +229,18 @@
verify_packet(self, pkt, in_port)
verify_no_other_packets(self)
-class L3UcastRout(base_tests.SimpleDataPlane):
+class L3UcastRoute(base_tests.SimpleDataPlane):
"""
P1(vlan1, 192.168.1.1) , port2(vlan2, 19.168.2.1)
"""
def runTest(self):
delete_all_flows(self.controller)
delete_all_groups(self.controller)
-
+
+ if len(config["port_map"]) <2:
+ logging.info("Port count less than 2, can't run this case")
+ return
+
vlan_id=1
intf_src_mac=[0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc]
dst_mac=[0x00, 0x00, 0x00, 0x22, 0x22, 0x00]
@@ -252,42 +256,64 @@
add_termination_flow(self.controller, port, 0x0800, intf_src_mac, vlan_id)
#add unicast routing flow
dst_ip = dip + (vlan_id<<8)
- add_unicast_routing_flow(self.controller, 0x0800, dst_ip, l3_msg.group_id)
+ add_unicast_routing_flow(self.controller, 0x0800, dst_ip, 0, l3_msg.group_id)
vlan_id += 1
- do_barrier(ctrl)
+ do_barrier(self.controller)
port1=config["port_map"].keys()[0]
port2=config["port_map"].keys()[1]
#port 1 to port 2
- eth_dst = ':'.join(['%02X' % x for x in intf_src_mac])
+ switch_mac = ':'.join(['%02X' % x for x in intf_src_mac])
dst_mac[5]=1
- eth_src=':'.join(['%02X' % x for x in dst_mac])
+ port1_mac=':'.join(['%02X' % x for x in dst_mac])
parsed_pkt = simple_tcp_packet(pktlen=100,
- eth_dst=eth_dst,
- eth_src=eth_src,
+ eth_dst=switch_mac,
+ eth_src=port1_mac,
+ ip_ttl=64,
ip_src="192.168.1.1",
ip_dst='192.168.2.1')
pkt=str(parsed_pkt)
self.dataplane.send(port1, pkt)
+ #build expect packet
+ dst_mac[5]=2
+ port2_mac=':'.join(['%02X' % x for x in dst_mac])
+ exp_pkt = simple_tcp_packet(pktlen=100,
+ eth_dst=port2_mac,
+ eth_src=switch_mac,
+ ip_ttl=63,
+ ip_src="192.168.1.1",
+ ip_dst='192.168.2.1')
+ pkt=str(exp_pkt)
verify_packet(self, pkt, port2)
verify_no_other_packets(self)
-
+
#port 2 to port 1
- eth_dst = ':'.join(['%02X' % x for x in intf_src_mac])
+ switch_mac = ':'.join(['%02X' % x for x in intf_src_mac])
dst_mac[5]=2
- eth_src=':'.join(['%02X' % x for x in dst_mac])
+ port2_mac=':'.join(['%02X' % x for x in dst_mac])
parsed_pkt = simple_tcp_packet(pktlen=100,
- eth_dst=eth_dst,
- eth_src=eth_src,
+ eth_dst=switch_mac,
+ eth_src=port2_mac,
+ ip_ttl=64,
ip_src="192.168.2.1",
ip_dst='192.168.1.1')
pkt=str(parsed_pkt)
self.dataplane.send(port2, pkt)
- #verify_packet(self, pkt, port1)
- #verify_no_other_packets(self)
+ #build expect packet
+ dst_mac[5]=1
+ port1_mac=':'.join(['%02X' % x for x in dst_mac])
+ exp_pkt = simple_tcp_packet(pktlen=100,
+ eth_dst=port1_mac,
+ eth_src=switch_mac,
+ ip_ttl=63,
+ ip_src="192.168.2.1",
+ ip_dst='192.168.1.1')
+ pkt=str(exp_pkt)
+ verify_packet(self, pkt, port1)
+ verify_no_other_packets(self)
class L3McastRoute(base_tests.SimpleDataPlane):
def runTest(self):