Skip to content

Commit 670fbec

Browse files
jcaiMRwangxin
authored andcommitted
fix dhcp relay test failure with backgound traffic (#6809)
* fix route flap script issue on dual tor * fix dhcp relay unstable issue with backgound dhcp packets
1 parent 72bb6bf commit 670fbec

2 files changed

Lines changed: 14 additions & 14 deletions

File tree

ansible/roles/test/files/ptftests/py3/dhcp_relay_test.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ def create_dhcp_offer_packet(self):
319319
return self.dhcp_offer_packet(eth_server=self.server_iface_mac,
320320
eth_dst=self.uplink_mac,
321321
eth_client=self.client_mac,
322-
ip_server=self.server_ip,
322+
ip_server=self.server_ip[0],
323323
ip_dst=self.relay_iface_ip if not self.dual_tor else self.switch_loopback_ip,
324324
ip_offered=self.client_ip,
325325
port_dst=self.DHCP_SERVER_PORT,
@@ -352,11 +352,11 @@ def create_dhcp_offer_relayed_packet(self):
352352
flags=0x8000,
353353
ciaddr=self.DEFAULT_ROUTE_IP,
354354
yiaddr=self.client_ip,
355-
siaddr=self.server_ip,
355+
siaddr=self.server_ip[0],
356356
giaddr=self.relay_iface_ip if not self.dual_tor else self.switch_loopback_ip,
357357
chaddr=my_chaddr)
358358
bootp /= scapy.DHCP(options=[('message-type', 'offer'),
359-
('server_id', self.server_ip),
359+
('server_id', self.server_ip[0]),
360360
('lease_time', self.LEASE_TIME),
361361
('subnet_mask', self.client_subnet),
362362
("vendor_class_id", "http://0.0.0.0/this_is_a_very_very_long_path/test.bin".encode('utf-8')),
@@ -373,7 +373,7 @@ def create_dhcp_offer_relayed_packet(self):
373373
def create_dhcp_request_packet(self, dst_mac=BROADCAST_MAC, src_port=DHCP_CLIENT_PORT):
374374
request_packet = testutils.dhcp_request_packet(
375375
eth_client=self.client_mac,
376-
ip_server=self.server_ip,
376+
ip_server=self.server_ip[0],
377377
ip_requested=self.client_ip,
378378
set_broadcast_bit=True
379379
)
@@ -416,7 +416,7 @@ def create_dhcp_request_relayed_packet(self):
416416
chaddr=my_chaddr)
417417
bootp /= scapy.DHCP(options=[('message-type', 'request'),
418418
('requested_addr', self.client_ip),
419-
('server_id', self.server_ip),
419+
('server_id', self.server_ip[0]),
420420
(82, self.option82),
421421
('end')])
422422

@@ -432,7 +432,7 @@ def create_dhcp_ack_packet(self):
432432
return testutils.dhcp_ack_packet(eth_server=self.server_iface_mac,
433433
eth_dst=self.uplink_mac,
434434
eth_client=self.client_mac,
435-
ip_server=self.server_ip,
435+
ip_server=self.server_ip[0],
436436
ip_dst=self.relay_iface_ip if not self.dual_tor else self.switch_loopback_ip,
437437
ip_offered=self.client_ip,
438438
port_dst=self.DHCP_SERVER_PORT,
@@ -465,11 +465,11 @@ def create_dhcp_ack_relayed_packet(self):
465465
flags=0x8000,
466466
ciaddr=self.DEFAULT_ROUTE_IP,
467467
yiaddr=self.client_ip,
468-
siaddr=self.server_ip,
468+
siaddr=self.server_ip[0],
469469
giaddr=self.relay_iface_ip if not self.dual_tor else self.switch_loopback_ip,
470470
chaddr=my_chaddr)
471471
bootp /= scapy.DHCP(options=[('message-type', 'ack'),
472-
('server_id', self.server_ip),
472+
('server_id', self.server_ip[0]),
473473
('lease_time', self.LEASE_TIME),
474474
('subnet_mask', self.client_subnet),
475475
('end')])
@@ -502,7 +502,7 @@ def client_send_discover(self, dst_mac=BROADCAST_MAC, src_port=DHCP_CLIENT_PORT)
502502

503503
def pkt_callback(self, pkt):
504504
if pkt.haslayer(scapy2.IP) and pkt.haslayer(scapy2.DHCP):
505-
if pkt.getlayer(scapy2.IP).dst in [self.server_ip] and pkt.getlayer(scapy2.DHCP) is not None:
505+
if pkt.getlayer(scapy2.IP).dst in self.server_ip and pkt.getlayer(scapy2.DHCP) is not None:
506506
self.verified_option82 = False
507507
pkt_options = ''
508508
for option in pkt.getlayer(scapy2.DHCP).options:

tests/dhcp_relay/test_dhcp_relay.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ def test_dhcp_relay_default(ptfhost, dut_dhcp_relay_data, validate_dut_routes_ex
278278
"client_iface_alias": str(dhcp_relay['client_iface']['alias']),
279279
"leaf_port_indices": repr(dhcp_relay['uplink_port_indices']),
280280
"num_dhcp_servers": len(dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs']),
281-
"server_ip": str(dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs'][0]),
281+
"server_ip": dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs'],
282282
"relay_iface_ip": str(dhcp_relay['downlink_vlan_iface']['addr']),
283283
"relay_iface_mac": str(dhcp_relay['downlink_vlan_iface']['mac']),
284284
"relay_iface_netmask": str(dhcp_relay['downlink_vlan_iface']['mask']),
@@ -330,7 +330,7 @@ def test_dhcp_relay_after_link_flap(ptfhost, dut_dhcp_relay_data, validate_dut_r
330330
"client_iface_alias": str(dhcp_relay['client_iface']['alias']),
331331
"leaf_port_indices": repr(dhcp_relay['uplink_port_indices']),
332332
"num_dhcp_servers": len(dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs']),
333-
"server_ip": str(dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs'][0]),
333+
"server_ip": dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs'],
334334
"relay_iface_ip": str(dhcp_relay['downlink_vlan_iface']['addr']),
335335
"relay_iface_mac": str(dhcp_relay['downlink_vlan_iface']['mac']),
336336
"relay_iface_netmask": str(dhcp_relay['downlink_vlan_iface']['mask']),
@@ -393,7 +393,7 @@ def test_dhcp_relay_start_with_uplinks_down(ptfhost, dut_dhcp_relay_data, valida
393393
"client_iface_alias": str(dhcp_relay['client_iface']['alias']),
394394
"leaf_port_indices": repr(dhcp_relay['uplink_port_indices']),
395395
"num_dhcp_servers": len(dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs']),
396-
"server_ip": str(dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs'][0]),
396+
"server_ip": dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs'],
397397
"relay_iface_ip": str(dhcp_relay['downlink_vlan_iface']['addr']),
398398
"relay_iface_mac": str(dhcp_relay['downlink_vlan_iface']['mac']),
399399
"relay_iface_netmask": str(dhcp_relay['downlink_vlan_iface']['mask']),
@@ -429,7 +429,7 @@ def test_dhcp_relay_unicast_mac(ptfhost, dut_dhcp_relay_data, validate_dut_route
429429
"client_iface_alias": str(dhcp_relay['client_iface']['alias']),
430430
"leaf_port_indices": repr(dhcp_relay['uplink_port_indices']),
431431
"num_dhcp_servers": len(dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs']),
432-
"server_ip": str(dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs'][0]),
432+
"server_ip": dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs'],
433433
"relay_iface_ip": str(dhcp_relay['downlink_vlan_iface']['addr']),
434434
"relay_iface_mac": str(dhcp_relay['downlink_vlan_iface']['mac']),
435435
"relay_iface_netmask": str(dhcp_relay['downlink_vlan_iface']['mask']),
@@ -464,7 +464,7 @@ def test_dhcp_relay_random_sport(ptfhost, dut_dhcp_relay_data, validate_dut_rout
464464
"client_iface_alias": str(dhcp_relay['client_iface']['alias']),
465465
"leaf_port_indices": repr(dhcp_relay['uplink_port_indices']),
466466
"num_dhcp_servers": len(dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs']),
467-
"server_ip": str(dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs'][0]),
467+
"server_ip": dhcp_relay['downlink_vlan_iface']['dhcp_server_addrs'],
468468
"relay_iface_ip": str(dhcp_relay['downlink_vlan_iface']['addr']),
469469
"relay_iface_mac": str(dhcp_relay['downlink_vlan_iface']['mac']),
470470
"relay_iface_netmask": str(dhcp_relay['downlink_vlan_iface']['mask']),

0 commit comments

Comments
 (0)