in ptf/sairif.py [0:0]
def runTest(self):
print("\nipv4MtuTest()")
# set MTU to 200 for port 0 and lag 1
mtu_port0_rif = sai_thrift_get_router_interface_attribute(
self.client, self.port0_rif, mtu=True)
mtu_lag1_rif = sai_thrift_get_router_interface_attribute(
self.client, self.lag1_rif, mtu=True)
sai_thrift_set_router_interface_attribute(
self.client, self.port0_rif, mtu=200)
sai_thrift_set_router_interface_attribute(
self.client, self.lag1_rif, mtu=200)
try:
print("Max MTU is 200, send pkt size 199, send to port/lag")
pkt = simple_tcp_packet(eth_dst=ROUTER_MAC,
eth_src='00:22:22:22:22:22',
ip_dst='10.10.10.1',
ip_src='192.168.0.1',
ip_id=105,
ip_ttl=64,
pktlen=199 + 14)
exp_pkt = simple_tcp_packet(eth_dst='00:11:22:33:44:55',
eth_src=ROUTER_MAC,
ip_dst='10.10.10.1',
ip_src='192.168.0.1',
ip_id=105,
ip_ttl=63,
pktlen=199 + 14)
print("Sending packet port %d -> port %d (192.168.0.1 -> "
"10.10.10.1)" % (self.dev_port1, self.dev_port0))
send_packet(self, self.dev_port1, pkt)
verify_packet(self, exp_pkt, self.dev_port0)
self.port1_rif_counter_in += 1
self.port0_rif_counter_out += 1
self.port1_rif_counter_in_octects += len(pkt) + 4
self.port0_rif_counter_out_octects += len(exp_pkt) + 4
pkt['IP'].dst = '12.10.10.1'
exp_pkt['IP'].dst = '12.10.10.1'
exp_pkt['Ethernet'].dst = '00:33:22:33:44:55'
print("Sending packet port %d -> lag 1 (192.168.0.1 -> "
"12.10.10.1)" % self.dev_port1)
send_packet(self, self.dev_port1, pkt)
verify_packet_any_port(
self, exp_pkt, [self.dev_port2, self.dev_port3,
self.dev_port4])
self.port1_rif_counter_in += 1
self.lag1_rif_counter_out += 1
self.port1_rif_counter_in_octects += len(pkt) + 4
print("Max MTU is 200, send pkt size 200, send to port/lag")
pkt = simple_tcp_packet(eth_dst=ROUTER_MAC,
eth_src='00:22:22:22:22:22',
ip_dst='10.10.10.1',
ip_src='192.168.0.1',
ip_id=105,
ip_ttl=64,
pktlen=200 + 14)
exp_pkt = simple_tcp_packet(eth_dst='00:11:22:33:44:55',
eth_src=ROUTER_MAC,
ip_dst='10.10.10.1',
ip_src='192.168.0.1',
ip_id=105,
ip_ttl=63,
pktlen=200 + 14)
print("Sending packet port %d -> port %d (192.168.0.1 -> "
"10.10.10.1)" % (self.dev_port1, self.dev_port0))
send_packet(self, self.dev_port1, pkt)
verify_packet(self, exp_pkt, self.dev_port0)
self.port1_rif_counter_in += 1
self.port0_rif_counter_out += 1
self.port1_rif_counter_in_octects += len(pkt) + 4
self.port0_rif_counter_out_octects += len(exp_pkt) + 4
pkt['IP'].dst = '12.10.10.1'
exp_pkt['IP'].dst = '12.10.10.1'
exp_pkt['Ethernet'].dst = '00:33:22:33:44:55'
print("Sending packet port %d -> lag 1 (192.168.0.1 -> "
"12.10.10.1)" % self.dev_port1)
send_packet(self, self.dev_port1, pkt)
verify_packet_any_port(
self, exp_pkt, [self.dev_port2, self.dev_port3,
self.dev_port4])
self.port1_rif_counter_in += 1
self.lag1_rif_counter_out += 1
self.port1_rif_counter_in_octects += len(pkt) + 4
print("Max MTU is 200, send pkt size 201, dropped")
pkt = simple_tcp_packet(eth_dst=ROUTER_MAC,
eth_src='00:22:22:22:22:22',
ip_dst='10.10.10.1',
ip_src='192.168.0.1',
ip_id=105,
ip_ttl=64,
pktlen=201 + 14)
exp_pkt = simple_tcp_packet(eth_dst='00:11:22:33:44:55',
eth_src=ROUTER_MAC,
ip_dst='10.10.10.1',
ip_src='192.168.0.1',
ip_id=105,
ip_ttl=63,
pktlen=201 + 14)
print("Sending packet port %d" % self.dev_port1, " dropped")
send_packet(self, self.dev_port1, pkt)
verify_no_other_packets(self, timeout=1)
self.port1_rif_counter_in += 1
self.port0_rif_counter_out += 1
self.port1_rif_counter_in_octects += len(pkt) + 4
self.port0_rif_counter_out_octects += len(exp_pkt) + 4
pkt['IP'].dst = '12.10.10.1'
exp_pkt['IP'].dst = '12.10.10.1'
exp_pkt['Ethernet'].dst = '00:33:22:33:44:55'
print("Sending packet port %d" % self.dev_port1, " dropped")
send_packet(self, self.dev_port1, pkt)
verify_no_other_packets(self, timeout=1)
self.port1_rif_counter_in += 1
self.lag1_rif_counter_out += 1
self.port1_rif_counter_in_octects += len(pkt) + 4
print("Changing MTU to 201, send pkt size 201, send to port/lag")
sai_thrift_set_router_interface_attribute(
self.client, self.port0_rif, mtu=201)
pkt = simple_tcp_packet(eth_dst=ROUTER_MAC,
eth_src='00:22:22:22:22:22',
ip_dst='10.10.10.1',
ip_src='192.168.0.1',
ip_id=105,
ip_ttl=64,
pktlen=201 + 14)
exp_pkt = simple_tcp_packet(eth_dst='00:11:22:33:44:55',
eth_src=ROUTER_MAC,
ip_dst='10.10.10.1',
ip_src='192.168.0.1',
ip_id=105,
ip_ttl=63,
pktlen=201 + 14)
print("Sending packet port %d -> port %d (192.168.0.1 -> "
"10.10.10.1)" % (self.dev_port1, self.dev_port0))
send_packet(self, self.dev_port1, pkt)
verify_packet(self, exp_pkt, self.dev_port0)
self.port1_rif_counter_in += 1
self.port0_rif_counter_out += 1
self.port1_rif_counter_in_octects += len(pkt) + 4
self.port0_rif_counter_out_octects += len(exp_pkt) + 4
pkt['IP'].dst = '12.10.10.1'
exp_pkt['IP'].dst = '12.10.10.1'
exp_pkt['Ethernet'].dst = '00:33:22:33:44:55'
print("Sending packet port %d" % self.dev_port1, " dropped")
send_packet(self, self.dev_port1, pkt)
verify_no_other_packets(self, timeout=1)
self.port1_rif_counter_in += 1
self.lag1_rif_counter_out += 1
self.port1_rif_counter_in_octects += len(pkt) + 4
sai_thrift_set_router_interface_attribute(
self.client, self.lag1_rif, mtu=201)
print("Sending packet port %d -> lag 1 (192.168.0.1 -> "
"12.10.10.1)" % self.dev_port1)
send_packet(self, self.dev_port1, pkt)
verify_packet_any_port(
self, exp_pkt, [self.dev_port2, self.dev_port3,
self.dev_port4])
self.port1_rif_counter_in += 1
self.lag1_rif_counter_out += 1
self.port1_rif_counter_in_octects += len(pkt) + 4
print("Max MTU is 201, send pkt size 202, dropped")
pkt = simple_tcp_packet(eth_dst=ROUTER_MAC,
eth_src='00:22:22:22:22:22',
ip_dst='10.10.10.1',
ip_src='192.168.0.1',
ip_id=105,
ip_ttl=64,
pktlen=202 + 14)
exp_pkt = simple_tcp_packet(eth_dst='00:11:22:33:44:55',
eth_src=ROUTER_MAC,
ip_dst='10.10.10.1',
ip_src='192.168.0.1',
ip_id=105,
ip_ttl=63,
pktlen=202 + 14)
print("Sending packet port %d" % self.dev_port1, " dropped")
send_packet(self, self.dev_port1, pkt)
verify_no_other_packets(self, timeout=1)
self.port1_rif_counter_in += 1
self.port0_rif_counter_out += 1
self.port1_rif_counter_in_octects += len(pkt) + 4
self.port0_rif_counter_out_octects += len(exp_pkt) + 4
pkt['IP'].dst = '12.10.10.1'
exp_pkt['IP'].dst = '12.10.10.1'
exp_pkt['Ethernet'].dst = '00:33:22:33:44:55'
print("Sending packet port %d" % self.dev_port1, " dropped")
send_packet(self, self.dev_port1, pkt)
verify_no_other_packets(self, timeout=1)
self.port1_rif_counter_in += 1
self.lag1_rif_counter_out += 1
self.port1_rif_counter_in_octects += len(pkt) + 4
finally:
sai_thrift_set_router_interface_attribute(
self.client, self.port0_rif, mtu=mtu_port0_rif['mtu'])
sai_thrift_set_router_interface_attribute(
self.client, self.lag1_rif, mtu=mtu_lag1_rif['mtu'])