openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

commit 87605c7e8d1cddf8947555c63e1537a32a56fd7e
parent 02f8a4ed97dbf076a61da0a0dde69e58e53c72d7
Author: Broadcom SDK Release <sdk.releases@broadcom.com>
Date:   Mon, 16 Dec 2019 19:55:24 -0800

SDK-167485: TH3 uses a fixed CRC32 based hashing algorithm that cannot be cha...

Devices: 56980_B0
Module: UFT

Symptom:
Change hash algorithm/configuration for l2/l3 tables of TH3

TH3 uses a fixed CRC32 based hashing algorithm that cannot be changed.

Diffstat:
Msdk-6.5.16/src/bcm/esw/switch.c | 15++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/sdk-6.5.16/src/bcm/esw/switch.c b/sdk-6.5.16/src/bcm/esw/switch.c @@ -28139,7 +28139,6 @@ bcm_esw_switch_hash_banks_config_set(int unit, BCM_IF_ERROR_RETURN (soc_tomahawk3_hash_bank_number_get(unit, mem,bank_num, &phy_bank_num)); - hash_type = BCM_HASH_CRC32L; } else #endif /* BCM_TOMAHAWK3_SUPPORT */ #ifdef BCM_TOMAHAWK_SUPPORT @@ -28168,6 +28167,14 @@ bcm_esw_switch_hash_banks_config_set(int unit, (soc_trident2_hash_bank_number_get(unit, mem, bank_num, &phy_bank_num)); } +#ifdef BCM_TOMAHAWK3_SUPPORT + if (SOC_IS_TOMAHAWK3(unit)) { + if ((hash_type != BCM_HASH_CRC32L) && + (hash_type != BCM_HASH_OFFSET)) { + return BCM_E_PARAM; + } + } +#endif /* BCM_TOMAHAWK3_SUPPORT */ switch (hash_type) { case BCM_HASH_ZERO: offset = 48; @@ -28187,12 +28194,6 @@ bcm_esw_switch_hash_banks_config_set(int unit, zero = TRUE; } #endif /* BCM_TRIDENT3_SUPPORT */ -#ifdef BCM_TOMAHAWK3_SUPPORT - if (SOC_IS_TOMAHAWK3(unit)) { - offset = 32; - zero = TRUE; - } -#endif /* BCM_TOMAHAWK3_SUPPORT */ break; case BCM_HASH_CRC16L: offset = 32;