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 c8bfb0f5895ce81051cfc5e8538c5d49e9f996e4
parent 85ac507cf5c0c86c33db0bc589bec708e40449ad
Author: Broadcom SDK Release <sdk.releases@broadcom.com>
Date:   Sun,  6 Oct 2019 20:06:19 -0700

SDK-191859: Avoid re-setting the slice lookup fields during slice clear.

Devices: 56980_A0,56980_B0
Module: field

Symptom:
While Creating EFP ACL "LOOKUP_ENABLE_SLICE_1/0" is set to 0

Diffstat:
Msdk-6.5.16/src/bcm/esw/field_common.c | 8++++++++
Msdk-6.5.16/src/bcm/esw/tomahawk/field.c | 4++--
2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/sdk-6.5.16/src/bcm/esw/field_common.c b/sdk-6.5.16/src/bcm/esw/field_common.c @@ -22586,6 +22586,14 @@ _field_slice_enable_set(int unit, ) { if (stage_fc->flags & _FP_STAGE_SLICE_ENABLE) { +#if defined (BCM_TOMAHAWK_SUPPORT) + if ((soc_feature(unit, soc_feature_field_multi_pipe_support)) && + ((fg->stage_id == _BCM_FIELD_STAGE_LOOKUP) || + (fg->stage_id == _BCM_FIELD_STAGE_EGRESS))) { + return (_bcm_field_th_slice_enable_set(unit, + fg, fs, 1)); + } +#endif #ifdef BCM_TRIUMPH3_SUPPORT if (SOC_IS_TRIUMPH3(unit)) { return (_bcm_field_tr3_slice_enable_set(unit, stage_fc, fg, fs, 1)); diff --git a/sdk-6.5.16/src/bcm/esw/tomahawk/field.c b/sdk-6.5.16/src/bcm/esw/tomahawk/field.c @@ -29271,8 +29271,8 @@ _bcm_field_th_tcam_policy_clear(int unit, _field_entry_t *f_ent, int tcam_idx) if (BCM_FAILURE(_bcm_field_th_slice_enable_set(unit, f_ent->group, fs, 0))) { LOG_WARN(BSL_LS_BCM_FP, (BSL_META("Failed to Disable Field" - " Slice[%d] for Entry[%d].\n\r"), - fs->slice_number, f_ent->eid)); + " Slice[%d] for Entry[%d].\n\r"), + fs->slice_number, f_ent->eid)); } fs->slice_flags &= ~_BCM_FIELD_SLICE_HW_ENABLE; /* Decrement the HW Slice entry count */