From e9a000fb9630b6cab83c678e68283ee6ca89a778 Mon Sep 17 00:00:00 2001 From: harjotsinghpawra Date: Mon, 13 Jan 2025 18:18:36 +0530 Subject: [PATCH] [test_genric_hash.py]: cisco platform checks fix (#16135) * [test_genric_hash.py]: cisco platform checks and some check_balance fix * line spaces and artifact fixes * indent fix * check_balance fixes revert commit --- tests/hash/generic_hash_helper.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/hash/generic_hash_helper.py b/tests/hash/generic_hash_helper.py index f1977214741..8efadcf1cc4 100644 --- a/tests/hash/generic_hash_helper.py +++ b/tests/hash/generic_hash_helper.py @@ -25,6 +25,7 @@ ETHERTYPE_RANGE = [0x0801, 0x0900] ENCAPSULATION = ['ipinip', 'vxlan', 'nvgre'] MELLANOX_SUPPORTED_HASH_ALGORITHM = ['CRC', 'CRC_CCITT'] +CISCO_SUPPORTED_HASH_ALGORITHM = ['CRC', 'CRC_CCITT'] DEFAULT_SUPPORTED_HASH_ALGORITHM = ['CRC', 'CRC_CCITT', 'RANDOM', 'XOR'] MELLANOX_ECMP_HASH_FIELDS = [ @@ -37,6 +38,12 @@ 'L4_DST_PORT', 'INNER_SRC_IP', 'INNER_DST_IP', 'INNER_IP_PROTOCOL', 'INNER_ETHERTYPE', 'INNER_L4_SRC_PORT', 'INNER_L4_DST_PORT', 'INNER_SRC_MAC', 'INNER_DST_MAC' ] +CISCO_ECMP_HASH_FIELDS = [ + 'SRC_MAC', 'DST_MAC', 'VLAN_ID', 'IP_PROTOCOL', 'SRC_IP', 'DST_IP', 'L4_SRC_PORT', 'L4_DST_PORT' +] +CISCO_LAG_HASH_FIELDS = [ + 'SRC_MAC', 'DST_MAC', 'VLAN_ID', 'IP_PROTOCOL', 'SRC_IP', 'DST_IP', 'L4_SRC_PORT', 'L4_DST_PORT' +] DEFAULT_ECMP_HASH_FIELDS = [ 'IN_PORT', 'SRC_MAC', 'DST_MAC', 'ETHERTYPE', 'VLAN_ID', 'IP_PROTOCOL', 'SRC_IP', 'DST_IP', 'L4_SRC_PORT', 'L4_DST_PORT', 'INNER_SRC_IP', 'INNER_DST_IP', 'INNER_IP_PROTOCOL', 'INNER_ETHERTYPE', 'INNER_L4_SRC_PORT', @@ -50,7 +57,9 @@ HASH_CAPABILITIES = {'mellanox': {'ecmp': MELLANOX_ECMP_HASH_FIELDS, 'lag': MELLANOX_LAG_HASH_FIELDS}, 'default': {'ecmp': DEFAULT_ECMP_HASH_FIELDS, - 'lag': DEFAULT_LAG_HASH_FIELDS}} + 'lag': DEFAULT_LAG_HASH_FIELDS}, + 'cisco-8000': {'ecmp': CISCO_ECMP_HASH_FIELDS, + 'lag': CISCO_LAG_HASH_FIELDS}} logger = logging.getLogger(__name__) vlan_member_to_restore = {} @@ -71,6 +80,8 @@ def get_supported_hash_algorithms(request): asic_type = get_asic_type(request) if asic_type in 'mellanox': supported_hash_algorithm_list = MELLANOX_SUPPORTED_HASH_ALGORITHM[:] + elif asic_type in 'cisco-8000': + supported_hash_algorithm_list = CISCO_SUPPORTED_HASH_ALGORITHM[:] else: supported_hash_algorithm_list = DEFAULT_SUPPORTED_HASH_ALGORITHM[:] return supported_hash_algorithm_list @@ -480,6 +491,8 @@ def get_hash_algorithm_from_option(request, hash_algorithm_identifier): asic_type = get_asic_type(request) if asic_type in 'mellanox': supported_hash_algorithm_list = MELLANOX_SUPPORTED_HASH_ALGORITHM[:] + elif asic_type in 'cisco-8000': + supported_hash_algorithm_list = CISCO_SUPPORTED_HASH_ALGORITHM[:] else: supported_hash_algorithm_list = DEFAULT_SUPPORTED_HASH_ALGORITHM[:] if hash_algorithm_identifier == 'all':