commit 7d8816e038dfe0796aa365122f42c5db3f26c05e
parent 083053b0acf842a40b00d9d919cb154a832dcbd7
Author: Broadcom SDK Release <sdk.releases@broadcom.com>
Date: Tue, 29 Sep 2020 23:41:53 -0700
SDK-206290: Write new profile index in EGR_VLAN/EGR_VFI table before deleting...
Devices: 56870_A0,56870_B0,56873_A0
Module: vlan
Write new profile index in EGR_VLAN/EGR_VFI table before deleting old
profile index.
Diffstat:
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sdk-6.5.16/src/bcm/esw/trident3/vlan.c b/sdk-6.5.16/src/bcm/esw/trident3/vlan.c
@@ -167,11 +167,14 @@ _bcm_td3_vlan_vfi_profile_entry_set(int unit, bcm_vlan_t vlan_vfi,
vlan_vfi, cur_prof_index, cur_idx_ref_count));
/* Depending on the direction, update the relevant profile index,
- if the old and new are different, delete the old one */
+ delete the old one */
BCM_IF_ERROR_RETURN(_bcm_vlan_vfi_untag_profile_entry_op(unit, &entry_data, 1, 1,
(uint32 *)&new_prof_index));
+ /* Write the new index into the VALN/VFI tables */
+ _bcm_td3_vlan_vfi_untag_profile_ptr_set(unit, vlan_vfi, new_prof_index);
+
/*
* If the old-profile-index entry is non-zero delete it, note that if the
* same index is reallocated, the profile-mgmt would have incremented the
@@ -182,9 +185,6 @@ _bcm_td3_vlan_vfi_profile_entry_set(int unit, bcm_vlan_t vlan_vfi,
&cur_prof_index);
}
- /* Write the new index into the VALN/VFI tables */
- _bcm_td3_vlan_vfi_untag_profile_ptr_set(unit, vlan_vfi, new_prof_index);
-
/* Gather the ref counts */
BCM_IF_ERROR_RETURN
(_bcm_vlan_vfi_untag_profile_ref_count(unit, cur_prof_index,