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:
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;