diff --git a/tests/ipfwd/test_nhop_group.py b/tests/ipfwd/test_nhop_group.py index 151498376ff..18c78b7b5b0 100644 --- a/tests/ipfwd/test_nhop_group.py +++ b/tests/ipfwd/test_nhop_group.py @@ -518,6 +518,7 @@ def built_and_send_tcp_ip_packet(): "Routed Packet Destination Mac not valid neighbor entry") recvd_pkt_result[flow_count].add(scapy.Ether(recv_pkt).dst) + logger.info("for flow_count {} Received Packet on {}".format(flow_count, scapy.Ether(recv_pkt).dst)) # Test/Iteration Scenario 1: Verify After ecmp member remove/add flow order remains same. # Test/Iteration Scenario 2: Verify Neighbor created in different order but flow order remains same. @@ -542,6 +543,7 @@ def built_and_send_tcp_ip_packet(): built_and_send_tcp_ip_packet() if iter_count == 0: + logger.info("Simulate ECMP Acceleration with link flap where ECMP member are removed") fanout, fanout_port = fanout_switch_port_lookup(fanouthosts, duthost.hostname, gather_facts['src_port'][0]) # Simulate ECMP Acceleration with link flap where ECMP member are removed @@ -550,6 +552,7 @@ def built_and_send_tcp_ip_packet(): # from FRR and it is just member add/remove trigger asic.stop_service("bgp") time.sleep(15) + logger.info("Toggle link {} on {}".format(fanout_port, fanout)) toggle_one_link(duthost, gather_facts['src_port'][0], fanout, fanout_port) time.sleep(15) @@ -565,32 +568,32 @@ def built_and_send_tcp_ip_packet(): nhop.delete_routes() arplist.clean_up() - th_asic_flow_map = {0: 'c0:ff:ee:00:00:10', 1: 'c0:ff:ee:00:00:0b', - 2: 'c0:ff:ee:00:00:12', - 3: 'c0:ff:ee:00:00:0d', 4: 'c0:ff:ee:00:00:11', - 5: 'c0:ff:ee:00:00:0e', 6: 'c0:ff:ee:00:00:0f', - 7: 'c0:ff:ee:00:00:0c', 8: 'c0:ff:ee:00:00:0e', + th_asic_flow_map = {0: 'c0:ff:ee:00:00:12', 1: 'c0:ff:ee:00:00:10', + 2: 'c0:ff:ee:00:00:11', + 3: 'c0:ff:ee:00:00:0f', 4: 'c0:ff:ee:00:00:0d', + 5: 'c0:ff:ee:00:00:0b', 6: 'c0:ff:ee:00:00:0e', + 7: 'c0:ff:ee:00:00:0c', 8: 'c0:ff:ee:00:00:0f', 9: 'c0:ff:ee:00:00:11', - 10: 'c0:ff:ee:00:00:0c', 11: 'c0:ff:ee:00:00:0f', - 12: 'c0:ff:ee:00:00:12', 13: 'c0:ff:ee:00:00:0d', - 14: 'c0:ff:ee:00:00:10', - 15: 'c0:ff:ee:00:00:0b', 16: 'c0:ff:ee:00:00:11', - 17: 'c0:ff:ee:00:00:0e', 18: 'c0:ff:ee:00:00:0f', - 19: 'c0:ff:ee:00:00:0c', - 20: 'c0:ff:ee:00:00:10', 21: 'c0:ff:ee:00:00:0b', - 22: 'c0:ff:ee:00:00:12', 23: 'c0:ff:ee:00:00:0d', + 10: 'c0:ff:ee:00:00:10', 11: 'c0:ff:ee:00:00:12', + 12: 'c0:ff:ee:00:00:10', 13: 'c0:ff:ee:00:00:12', + 14: 'c0:ff:ee:00:00:0f', + 15: 'c0:ff:ee:00:00:11', 16: 'c0:ff:ee:00:00:0b', + 17: 'c0:ff:ee:00:00:0d', 18: 'c0:ff:ee:00:00:0c', + 19: 'c0:ff:ee:00:00:0e', + 20: 'c0:ff:ee:00:00:10', 21: 'c0:ff:ee:00:00:12', + 22: 'c0:ff:ee:00:00:0f', 23: 'c0:ff:ee:00:00:11', 24: 'c0:ff:ee:00:00:11', - 25: 'c0:ff:ee:00:00:0e', 26: 'c0:ff:ee:00:00:0f', - 27: 'c0:ff:ee:00:00:0c', 28: 'c0:ff:ee:00:00:0b', 29: 'c0:ff:ee:00:00:10', - 30: 'c0:ff:ee:00:00:0d', 31: 'c0:ff:ee:00:00:12', - 32: 'c0:ff:ee:00:00:0c', 33: 'c0:ff:ee:00:00:0f', - 34: 'c0:ff:ee:00:00:0e', - 35: 'c0:ff:ee:00:00:11', 36: 'c0:ff:ee:00:00:0d', - 37: 'c0:ff:ee:00:00:12', 38: 'c0:ff:ee:00:00:0b', 39: 'c0:ff:ee:00:00:10', - 40: 'c0:ff:ee:00:00:12', 41: 'c0:ff:ee:00:00:0d', - 42: 'c0:ff:ee:00:00:10', 43: 'c0:ff:ee:00:00:0b', 44: 'c0:ff:ee:00:00:0e', - 45: 'c0:ff:ee:00:00:11', 46: 'c0:ff:ee:00:00:0c', - 47: 'c0:ff:ee:00:00:0f', 48: 'c0:ff:ee:00:00:0d', 49: 'c0:ff:ee:00:00:12'} + 25: 'c0:ff:ee:00:00:0f', 26: 'c0:ff:ee:00:00:12', + 27: 'c0:ff:ee:00:00:10', 28: 'c0:ff:ee:00:00:0f', 29: 'c0:ff:ee:00:00:11', + 30: 'c0:ff:ee:00:00:10', 31: 'c0:ff:ee:00:00:12', + 32: 'c0:ff:ee:00:00:0c', 33: 'c0:ff:ee:00:00:0e', + 34: 'c0:ff:ee:00:00:0b', + 35: 'c0:ff:ee:00:00:0d', 36: 'c0:ff:ee:00:00:0f', + 37: 'c0:ff:ee:00:00:11', 38: 'c0:ff:ee:00:00:10', 39: 'c0:ff:ee:00:00:12', + 40: 'c0:ff:ee:00:00:0d', 41: 'c0:ff:ee:00:00:0b', + 42: 'c0:ff:ee:00:00:0e', 43: 'c0:ff:ee:00:00:0c', 44: 'c0:ff:ee:00:00:0e', + 45: 'c0:ff:ee:00:00:0c', 46: 'c0:ff:ee:00:00:0d', + 47: 'c0:ff:ee:00:00:0b', 48: 'c0:ff:ee:00:00:11', 49: 'c0:ff:ee:00:00:0f'} gb_asic_flow_map = {0: 'c0:ff:ee:00:00:0f', 1: 'c0:ff:ee:00:00:10', 2: 'c0:ff:ee:00:00:0e', 3: 'c0:ff:ee:00:00:0f', 4: 'c0:ff:ee:00:00:11', @@ -614,85 +617,86 @@ def built_and_send_tcp_ip_packet(): 45: 'c0:ff:ee:00:00:0f', 46: 'c0:ff:ee:00:00:0f', 47: 'c0:ff:ee:00:00:0c', 48: 'c0:ff:ee:00:00:0e', 49: 'c0:ff:ee:00:00:10'} - td2_asic_flow_map = {0: 'c0:ff:ee:00:00:10', 1: 'c0:ff:ee:00:00:0b', - 2: 'c0:ff:ee:00:00:12', - 3: 'c0:ff:ee:00:00:0d', 4: 'c0:ff:ee:00:00:11', - 5: 'c0:ff:ee:00:00:0e', 6: 'c0:ff:ee:00:00:0f', - 7: 'c0:ff:ee:00:00:0c', 8: 'c0:ff:ee:00:00:0e', + td2_asic_flow_map = {0: 'c0:ff:ee:00:00:12', 1: 'c0:ff:ee:00:00:10', + 2: 'c0:ff:ee:00:00:11', + 3: 'c0:ff:ee:00:00:0f', 4: 'c0:ff:ee:00:00:0d', + 5: 'c0:ff:ee:00:00:0b', 6: 'c0:ff:ee:00:00:0e', + 7: 'c0:ff:ee:00:00:0c', 8: 'c0:ff:ee:00:00:0f', + 9: 'c0:ff:ee:00:00:11', + 10: 'c0:ff:ee:00:00:10', 11: 'c0:ff:ee:00:00:12', + 12: 'c0:ff:ee:00:00:10', 13: 'c0:ff:ee:00:00:12', + 14: 'c0:ff:ee:00:00:0f', + 15: 'c0:ff:ee:00:00:11', 16: 'c0:ff:ee:00:00:0b', + 17: 'c0:ff:ee:00:00:0d', 18: 'c0:ff:ee:00:00:0c', + 19: 'c0:ff:ee:00:00:0e', + 20: 'c0:ff:ee:00:00:10', 21: 'c0:ff:ee:00:00:12', + 22: 'c0:ff:ee:00:00:0f', 23: 'c0:ff:ee:00:00:11', + 24: 'c0:ff:ee:00:00:11', + 25: 'c0:ff:ee:00:00:0f', 26: 'c0:ff:ee:00:00:12', + 27: 'c0:ff:ee:00:00:10', 28: 'c0:ff:ee:00:00:0f', 29: 'c0:ff:ee:00:00:11', + 30: 'c0:ff:ee:00:00:10', 31: 'c0:ff:ee:00:00:12', + 32: 'c0:ff:ee:00:00:0c', 33: 'c0:ff:ee:00:00:0e', + 34: 'c0:ff:ee:00:00:0b', + 35: 'c0:ff:ee:00:00:0d', 36: 'c0:ff:ee:00:00:0f', + 37: 'c0:ff:ee:00:00:11', 38: 'c0:ff:ee:00:00:10', 39: 'c0:ff:ee:00:00:12', + 40: 'c0:ff:ee:00:00:0d', 41: 'c0:ff:ee:00:00:0b', + 42: 'c0:ff:ee:00:00:0e', 43: 'c0:ff:ee:00:00:0c', 44: 'c0:ff:ee:00:00:0e', + 45: 'c0:ff:ee:00:00:0c', 46: 'c0:ff:ee:00:00:0d', + 47: 'c0:ff:ee:00:00:0b', 48: 'c0:ff:ee:00:00:11', 49: 'c0:ff:ee:00:00:0f'} + + td3_asic_flow_map = {0: 'c0:ff:ee:00:00:12', 1: 'c0:ff:ee:00:00:10', + 2: 'c0:ff:ee:00:00:11', + 3: 'c0:ff:ee:00:00:0f', 4: 'c0:ff:ee:00:00:0d', + 5: 'c0:ff:ee:00:00:0b', 6: 'c0:ff:ee:00:00:0e', + 7: 'c0:ff:ee:00:00:0c', 8: 'c0:ff:ee:00:00:0f', 9: 'c0:ff:ee:00:00:11', - 10: 'c0:ff:ee:00:00:0c', 11: 'c0:ff:ee:00:00:0f', - 12: 'c0:ff:ee:00:00:12', 13: 'c0:ff:ee:00:00:0d', - 14: 'c0:ff:ee:00:00:10', - 15: 'c0:ff:ee:00:00:0b', 16: 'c0:ff:ee:00:00:11', - 17: 'c0:ff:ee:00:00:0e', 18: 'c0:ff:ee:00:00:0f', - 19: 'c0:ff:ee:00:00:0c', - 20: 'c0:ff:ee:00:00:10', 21: 'c0:ff:ee:00:00:0b', - 22: 'c0:ff:ee:00:00:12', 23: 'c0:ff:ee:00:00:0d', + 10: 'c0:ff:ee:00:00:10', 11: 'c0:ff:ee:00:00:12', + 12: 'c0:ff:ee:00:00:10', 13: 'c0:ff:ee:00:00:12', + 14: 'c0:ff:ee:00:00:0f', + 15: 'c0:ff:ee:00:00:11', 16: 'c0:ff:ee:00:00:0b', + 17: 'c0:ff:ee:00:00:0d', 18: 'c0:ff:ee:00:00:0c', + 19: 'c0:ff:ee:00:00:0e', + 20: 'c0:ff:ee:00:00:10', 21: 'c0:ff:ee:00:00:12', + 22: 'c0:ff:ee:00:00:0f', 23: 'c0:ff:ee:00:00:11', 24: 'c0:ff:ee:00:00:11', - 25: 'c0:ff:ee:00:00:0e', 26: 'c0:ff:ee:00:00:0f', - 27: 'c0:ff:ee:00:00:0c', 28: 'c0:ff:ee:00:00:0b', 29: 'c0:ff:ee:00:00:10', - 30: 'c0:ff:ee:00:00:0d', 31: 'c0:ff:ee:00:00:12', - 32: 'c0:ff:ee:00:00:0c', 33: 'c0:ff:ee:00:00:0f', - 34: 'c0:ff:ee:00:00:0e', - 35: 'c0:ff:ee:00:00:11', 36: 'c0:ff:ee:00:00:0d', - 37: 'c0:ff:ee:00:00:12', 38: 'c0:ff:ee:00:00:0b', 39: 'c0:ff:ee:00:00:10', - 40: 'c0:ff:ee:00:00:12', 41: 'c0:ff:ee:00:00:0d', - 42: 'c0:ff:ee:00:00:10', 43: 'c0:ff:ee:00:00:0b', 44: 'c0:ff:ee:00:00:0e', - 45: 'c0:ff:ee:00:00:11', 46: 'c0:ff:ee:00:00:0c', - 47: 'c0:ff:ee:00:00:0f', 48: 'c0:ff:ee:00:00:0d', 49: 'c0:ff:ee:00:00:12'} - - th2_asic_flow_map = {0: 'c0:ff:ee:00:00:10', 1: 'c0:ff:ee:00:00:0b', - 2: 'c0:ff:ee:00:00:12', - 3: 'c0:ff:ee:00:00:0d', 4: 'c0:ff:ee:00:00:11', - 5: 'c0:ff:ee:00:00:0e', 6: 'c0:ff:ee:00:00:0f', - 7: 'c0:ff:ee:00:00:0c', 8: 'c0:ff:ee:00:00:0e', + 25: 'c0:ff:ee:00:00:0f', 26: 'c0:ff:ee:00:00:12', + 27: 'c0:ff:ee:00:00:10', 28: 'c0:ff:ee:00:00:0f', 29: 'c0:ff:ee:00:00:11', + 30: 'c0:ff:ee:00:00:10', 31: 'c0:ff:ee:00:00:12', + 32: 'c0:ff:ee:00:00:0c', 33: 'c0:ff:ee:00:00:0e', + 34: 'c0:ff:ee:00:00:0b', + 35: 'c0:ff:ee:00:00:0d', 36: 'c0:ff:ee:00:00:0f', + 37: 'c0:ff:ee:00:00:11', 38: 'c0:ff:ee:00:00:10', 39: 'c0:ff:ee:00:00:12', + 40: 'c0:ff:ee:00:00:0d', 41: 'c0:ff:ee:00:00:0b', + 42: 'c0:ff:ee:00:00:0e', 43: 'c0:ff:ee:00:00:0c', 44: 'c0:ff:ee:00:00:0e', + 45: 'c0:ff:ee:00:00:0c', 46: 'c0:ff:ee:00:00:0d', + 47: 'c0:ff:ee:00:00:0b', 48: 'c0:ff:ee:00:00:11', 49: 'c0:ff:ee:00:00:0f'} + + th2_asic_flow_map = {0: 'c0:ff:ee:00:00:12', 1: 'c0:ff:ee:00:00:10', + 2: 'c0:ff:ee:00:00:11', + 3: 'c0:ff:ee:00:00:0f', 4: 'c0:ff:ee:00:00:0d', + 5: 'c0:ff:ee:00:00:0b', 6: 'c0:ff:ee:00:00:0e', + 7: 'c0:ff:ee:00:00:0c', 8: 'c0:ff:ee:00:00:0f', 9: 'c0:ff:ee:00:00:11', - 10: 'c0:ff:ee:00:00:0c', 11: 'c0:ff:ee:00:00:0f', - 12: 'c0:ff:ee:00:00:12', 13: 'c0:ff:ee:00:00:0d', - 14: 'c0:ff:ee:00:00:10', - 15: 'c0:ff:ee:00:00:0b', 16: 'c0:ff:ee:00:00:11', - 17: 'c0:ff:ee:00:00:0e', 18: 'c0:ff:ee:00:00:0f', - 19: 'c0:ff:ee:00:00:0c', - 20: 'c0:ff:ee:00:00:10', 21: 'c0:ff:ee:00:00:0b', - 22: 'c0:ff:ee:00:00:12', 23: 'c0:ff:ee:00:00:0d', + 10: 'c0:ff:ee:00:00:10', 11: 'c0:ff:ee:00:00:12', + 12: 'c0:ff:ee:00:00:10', 13: 'c0:ff:ee:00:00:12', + 14: 'c0:ff:ee:00:00:0f', + 15: 'c0:ff:ee:00:00:11', 16: 'c0:ff:ee:00:00:0b', + 17: 'c0:ff:ee:00:00:0d', 18: 'c0:ff:ee:00:00:0c', + 19: 'c0:ff:ee:00:00:0e', + 20: 'c0:ff:ee:00:00:10', 21: 'c0:ff:ee:00:00:12', + 22: 'c0:ff:ee:00:00:0f', 23: 'c0:ff:ee:00:00:11', 24: 'c0:ff:ee:00:00:11', - 25: 'c0:ff:ee:00:00:0e', 26: 'c0:ff:ee:00:00:0f', - 27: 'c0:ff:ee:00:00:0c', 28: 'c0:ff:ee:00:00:0b', 29: 'c0:ff:ee:00:00:10', - 30: 'c0:ff:ee:00:00:0d', 31: 'c0:ff:ee:00:00:12', - 32: 'c0:ff:ee:00:00:0c', 33: 'c0:ff:ee:00:00:0f', - 34: 'c0:ff:ee:00:00:0e', - 35: 'c0:ff:ee:00:00:11', 36: 'c0:ff:ee:00:00:0d', - 37: 'c0:ff:ee:00:00:12', 38: 'c0:ff:ee:00:00:0b', 39: 'c0:ff:ee:00:00:10', - 40: 'c0:ff:ee:00:00:12', 41: 'c0:ff:ee:00:00:0d', - 42: 'c0:ff:ee:00:00:10', 43: 'c0:ff:ee:00:00:0b', 44: 'c0:ff:ee:00:00:0e', - 45: 'c0:ff:ee:00:00:11', 46: 'c0:ff:ee:00:00:0c', - 47: 'c0:ff:ee:00:00:0f', 48: 'c0:ff:ee:00:00:0d', 49: 'c0:ff:ee:00:00:12'} - - td3_asic_flow_map = {0: 'c0:ff:ee:00:00:10', 1: 'c0:ff:ee:00:00:0b', - 2: 'c0:ff:ee:00:00:12', 3: 'c0:ff:ee:00:00:0d', - 4: 'c0:ff:ee:00:00:11', 5: 'c0:ff:ee:00:00:0e', - 6: 'c0:ff:ee:00:00:0f', 7: 'c0:ff:ee:00:00:0c', - 8: 'c0:ff:ee:00:00:0e', 9: 'c0:ff:ee:00:00:11', - 10: 'c0:ff:ee:00:00:0c', 11: 'c0:ff:ee:00:00:0f', - 12: 'c0:ff:ee:00:00:12', 13: 'c0:ff:ee:00:00:0d', - 14: 'c0:ff:ee:00:00:10', 15: 'c0:ff:ee:00:00:0b', - 16: 'c0:ff:ee:00:00:11', 17: 'c0:ff:ee:00:00:0e', - 18: 'c0:ff:ee:00:00:0f', 19: 'c0:ff:ee:00:00:0c', - 20: 'c0:ff:ee:00:00:10', 21: 'c0:ff:ee:00:00:0b', - 22: 'c0:ff:ee:00:00:12', 23: 'c0:ff:ee:00:00:0d', - 24: 'c0:ff:ee:00:00:11', 25: 'c0:ff:ee:00:00:0e', - 26: 'c0:ff:ee:00:00:0f', 27: 'c0:ff:ee:00:00:0c', - 28: 'c0:ff:ee:00:00:0b', 29: 'c0:ff:ee:00:00:10', - 30: 'c0:ff:ee:00:00:0d', 31: 'c0:ff:ee:00:00:12', - 32: 'c0:ff:ee:00:00:0c', 33: 'c0:ff:ee:00:00:0f', - 34: 'c0:ff:ee:00:00:0e', 35: 'c0:ff:ee:00:00:11', - 36: 'c0:ff:ee:00:00:0d', 37: 'c0:ff:ee:00:00:12', - 38: 'c0:ff:ee:00:00:0b', 39: 'c0:ff:ee:00:00:10', - 40: 'c0:ff:ee:00:00:12', 41: 'c0:ff:ee:00:00:0d', - 42: 'c0:ff:ee:00:00:10', 43: 'c0:ff:ee:00:00:0b', - 44: 'c0:ff:ee:00:00:0e', 45: 'c0:ff:ee:00:00:11', - 46: 'c0:ff:ee:00:00:0c', 47: 'c0:ff:ee:00:00:0f', - 48: 'c0:ff:ee:00:00:0d', 49: 'c0:ff:ee:00:00:12'} + 25: 'c0:ff:ee:00:00:0f', 26: 'c0:ff:ee:00:00:12', + 27: 'c0:ff:ee:00:00:10', 28: 'c0:ff:ee:00:00:0f', 29: 'c0:ff:ee:00:00:11', + 30: 'c0:ff:ee:00:00:10', 31: 'c0:ff:ee:00:00:12', + 32: 'c0:ff:ee:00:00:0c', 33: 'c0:ff:ee:00:00:0e', + 34: 'c0:ff:ee:00:00:0b', + 35: 'c0:ff:ee:00:00:0d', 36: 'c0:ff:ee:00:00:0f', + 37: 'c0:ff:ee:00:00:11', 38: 'c0:ff:ee:00:00:10', 39: 'c0:ff:ee:00:00:12', + 40: 'c0:ff:ee:00:00:0d', 41: 'c0:ff:ee:00:00:0b', + 42: 'c0:ff:ee:00:00:0e', 43: 'c0:ff:ee:00:00:0c', 44: 'c0:ff:ee:00:00:0e', + 45: 'c0:ff:ee:00:00:0c', 46: 'c0:ff:ee:00:00:0d', + 47: 'c0:ff:ee:00:00:0b', 48: 'c0:ff:ee:00:00:11', 49: 'c0:ff:ee:00:00:0f'} gr_asic_flow_map = {0: 'c0:ff:ee:00:00:12', 1: 'c0:ff:ee:00:00:10', 2: 'c0:ff:ee:00:00:0c',