Skip to content

Commit

Permalink
[test_genric_hash.py]: cisco platform checks fix (sonic-net#16135)
Browse files Browse the repository at this point in the history
* [test_genric_hash.py]: cisco platform checks and some check_balance fix

* line spaces and artifact fixes

* indent fix

* check_balance fixes revert commit
  • Loading branch information
harjotsinghpawra authored and mssonicbld committed Jan 13, 2025
1 parent d75c9b6 commit 7e2188b
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion tests/hash/generic_hash_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [
Expand All @@ -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',
Expand All @@ -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 = {}
Expand All @@ -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
Expand Down Expand Up @@ -477,6 +488,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':
Expand Down

0 comments on commit 7e2188b

Please sign in to comment.