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 7dbeb9c32082dd14b3b29f431a8ee486c30138dd
parent 72b1631005fef5d3b6bfd9ce3464d7e3825605c0
Author: Broadcom SDK Release <sdk.releases@broadcom.com>
Date:   Thu, 14 Feb 2019 15:16:04 -0800

SDK-171008: Resolve related flex counter issues in multi-unit use cases

Devices: 56980_B0
Module: stat

Symptom:
TH3 Flex Counters not incrementing in Multi-unit case

Diffstat:
Msdk-6.5.16/include/bcm_int/esw/flex_ctr.h | 8++++----
Msdk-6.5.16/src/bcm/esw/flexctr/flex_ctr.c | 2586++++++++++++++++++++++++++++++++++++++++---------------------------------------
Msdk-6.5.16/src/bcm/esw/flexctr/flex_ctr_common.c | 508++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msdk-6.5.16/src/bcm/esw/flexctr/flex_ctr_egress.c | 182++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msdk-6.5.16/src/bcm/esw/flexctr/flex_ctr_ingress.c | 164++++++++++++++++++++++++++++++++++++++++----------------------------------------
5 files changed, 1726 insertions(+), 1722 deletions(-)

diff --git a/sdk-6.5.16/include/bcm_int/esw/flex_ctr.h b/sdk-6.5.16/include/bcm_int/esw/flex_ctr.h @@ -1795,10 +1795,10 @@ _bcm_esw_stat_group_mode_id_config_get( bcm_stat_group_mode_attr_selector_t *attr_sel, uint32 *actual_num_selectors); -extern bcm_stat_flex_ing_pkt_attr_bits_t ing_pkt_attr_uncmprsd_bits_g; -extern bcm_stat_flex_ing_pkt_attr_bits_t ing_pkt_attr_cmprsd_bits_g; -extern bcm_stat_flex_egr_pkt_attr_bits_t egr_pkt_attr_uncmprsd_bits_g; -extern bcm_stat_flex_egr_pkt_attr_bits_t egr_pkt_attr_cmprsd_bits_g; +extern bcm_stat_flex_ing_pkt_attr_bits_t ing_pkt_attr_uncmprsd_bits_g[BCM_MAX_NUM_UNITS]; +extern bcm_stat_flex_ing_pkt_attr_bits_t ing_pkt_attr_cmprsd_bits_g[BCM_MAX_NUM_UNITS]; +extern bcm_stat_flex_egr_pkt_attr_bits_t egr_pkt_attr_uncmprsd_bits_g[BCM_MAX_NUM_UNITS]; +extern bcm_stat_flex_egr_pkt_attr_bits_t egr_pkt_attr_cmprsd_bits_g[BCM_MAX_NUM_UNITS]; extern bcm_error_t _bcm_esw_stat_flex_update_ingress_flex_info( int unit, bcm_stat_flex_mode_t mode, diff --git a/sdk-6.5.16/src/bcm/esw/flexctr/flex_ctr.c b/sdk-6.5.16/src/bcm/esw/flexctr/flex_ctr.c @@ -338,10 +338,14 @@ static _flex_pkt_res_data_t egr_TrafficType_res[]={ /* 2 */ static class_attr_combine_t class_attr_comb[BCM_MAX_NUM_UNITS]; #endif -bcm_stat_flex_ing_pkt_attr_bits_t ing_pkt_attr_uncmprsd_bits_g={0}; -bcm_stat_flex_egr_pkt_attr_bits_t egr_pkt_attr_uncmprsd_bits_g={0}; -bcm_stat_flex_ing_pkt_attr_bits_t ing_pkt_attr_cmprsd_bits_g={0}; -bcm_stat_flex_egr_pkt_attr_bits_t egr_pkt_attr_cmprsd_bits_g={0}; +bcm_stat_flex_ing_pkt_attr_bits_t + ing_pkt_attr_uncmprsd_bits_g[BCM_MAX_NUM_UNITS] = {{0}}; +bcm_stat_flex_egr_pkt_attr_bits_t + egr_pkt_attr_uncmprsd_bits_g[BCM_MAX_NUM_UNITS] = {{0}}; +bcm_stat_flex_ing_pkt_attr_bits_t + ing_pkt_attr_cmprsd_bits_g[BCM_MAX_NUM_UNITS] = {{0}}; +bcm_stat_flex_egr_pkt_attr_bits_t + egr_pkt_attr_cmprsd_bits_g[BCM_MAX_NUM_UNITS] = {{0}}; /* Information of compression table allocation per device. */ static _bcm_stat_flex_compressed_mode_attr_sel_map_t @@ -358,7 +362,7 @@ static bcm_error_t _bcm_esw_get_egr_fp_table_from_pipe(int pipe, * This flag is used to reset counter values * at old base index */ -compaction_status_t compaction_info={0}; +compaction_status_t compaction_info[BCM_MAX_NUM_UNITS] = {{0}}; /* * Function: @@ -687,7 +691,7 @@ void _bcm_esw_stat_get_counter_id( if (i >= BCM_MAX_STAT_COUNTER_IDS) { LOG_ERROR(BSL_LS_BCM_FLEXCTR, - (BSL_META_U(0, + (BSL_META_U(unit, "Failed to get counter id "))); return; } @@ -789,7 +793,7 @@ _bcm_esw_stat_get_field_stage_from_stat_ctr(int unit, uint32 stat_counter_id) #ifdef BCM_TOMAHAWK_SUPPORT if (!stat_counter_map[unit] || (stat_counter_map[unit][stat_counter_id].used == 0)) { LOG_ERROR(BSL_LS_BCM_FLEXCTR, - (BSL_META_U(0, + (BSL_META_U(unit, "Failed to get counter id %d"), (int)stat_counter_id)); return 0; } @@ -941,7 +945,7 @@ void _bcm_esw_stat_get_counter_id_info( if ((stat_counter_id > BCM_MAX_STAT_COUNTER_IDS) || (stat_counter_id <= 0) || (stat_counter_map[unit][stat_counter_id].used == 0)) { LOG_ERROR(BSL_LS_BCM_FLEXCTR, - (BSL_META_U(0, + (BSL_META_U(unit, "Failed to get counter id info %d"), stat_counter_id)); *mode = 0; *group = *pool_number = 0; @@ -1219,14 +1223,14 @@ bcm_error_t _bcm_esw_stat_attr_fill( ing_cmprsd_pkt_attr_bits->pkt_resolution = 1; - ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; ing_cmprsd_pkt_attr_bits->pkt_resolution_mask = 1; - ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g.int_pri; - ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g[unit].int_pri; + ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; - ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_mask; ing_cmprsd_attr_selectors->total_counters = 17; @@ -1241,7 +1245,7 @@ bcm_error_t _bcm_esw_stat_attr_fill( map_index++) { ing_cmprsd_attr_selectors->pkt_res_attr_map[map_index]=0; } - shift_by_bits= ing_pkt_attr_cmprsd_bits_g.svp_type + ing_pkt_attr_cmprsd_bits_g.drop; + shift_by_bits= ing_pkt_attr_cmprsd_bits_g[unit].svp_type + ing_pkt_attr_cmprsd_bits_g[unit].drop; shift_by_bits_for_value = shift_by_bits; for (ignore_index=0; @@ -1388,14 +1392,14 @@ bcm_error_t _bcm_esw_stat_attr_fill( ing_attr->packet_attr_type=bcmStatFlexPacketAttrTypeCompressed; /* Cannot consider 0 value so taking 3 i.s.o. 2 */ ing_cmprsd_pkt_attr_bits->pkt_resolution = 3; - ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; ing_cmprsd_pkt_attr_bits->pkt_resolution_mask = (1<<3)-1; - ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g.int_pri; - ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g[unit].int_pri; + ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; - ing_cmprsd_pkt_attr_bits->int_pri_mask= ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri_mask= ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_mask; ing_cmprsd_attr_selectors->total_counters = 20; @@ -1406,8 +1410,8 @@ bcm_error_t _bcm_esw_stat_attr_fill( /* set pkt_resolution map for 1 counters */ /* Map[Encoded Packet value << 2=>[SVP-1bit + DROP-1bit]= CounterIndex << 2=>[SVP-1bit + DROP-1bit]=4(Start),8,12*/ - shift_by_bits= ing_pkt_attr_cmprsd_bits_g.svp_type + - ing_pkt_attr_cmprsd_bits_g.drop; + shift_by_bits= ing_pkt_attr_cmprsd_bits_g[unit].svp_type + + ing_pkt_attr_cmprsd_bits_g[unit].drop; shift_by_bits_for_value = shift_by_bits; /* set pkt_resolution map for 1 counters.Ignore SVP,DROP bits */ @@ -1498,23 +1502,23 @@ bcm_error_t _bcm_esw_stat_attr_fill( total_counters=18; egr_attr->packet_attr_type=bcmStatFlexPacketAttrTypeCompressed; - egr_cmprsd_pkt_attr_bits->pkt_resolution = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->pkt_resolution = egr_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution; - egr_cmprsd_pkt_attr_bits->pkt_resolution_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->pkt_resolution_pos = egr_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; - egr_cmprsd_pkt_attr_bits->pkt_resolution_mask = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->pkt_resolution_mask = egr_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_mask; - egr_cmprsd_pkt_attr_bits->int_pri = egr_pkt_attr_cmprsd_bits_g.int_pri; - egr_cmprsd_pkt_attr_bits->int_pri_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->int_pri = egr_pkt_attr_cmprsd_bits_g[unit].int_pri; + egr_cmprsd_pkt_attr_bits->int_pri_pos = egr_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; - egr_cmprsd_pkt_attr_bits->int_pri_mask=egr_pkt_attr_cmprsd_bits_g.int_pri_mask; + egr_cmprsd_pkt_attr_bits->int_pri_mask=egr_pkt_attr_cmprsd_bits_g[unit].int_pri_mask; egr_cmprsd_attr_selectors->total_counters = 18; - shift_by_bits= egr_pkt_attr_cmprsd_bits_g.svp_type + - egr_pkt_attr_cmprsd_bits_g.dvp_type + - egr_pkt_attr_cmprsd_bits_g.drop; + shift_by_bits= egr_pkt_attr_cmprsd_bits_g[unit].svp_type + + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type + + egr_pkt_attr_cmprsd_bits_g[unit].drop; shift_by_bits_for_value = shift_by_bits; /* Set pkt_resolution map */ /* Unicast */ @@ -1710,15 +1714,15 @@ bcm_error_t _bcm_esw_stat_attr_fill( ing_attr->packet_attr_type=bcmStatFlexPacketAttrTypeCompressed; ing_cmprsd_pkt_attr_bits->pkt_resolution = 2; - ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; ing_cmprsd_pkt_attr_bits->pkt_resolution_mask = (1<<2)-1; - ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g.int_pri; - ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g[unit].int_pri; + ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; - ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_mask; ing_cmprsd_attr_selectors->total_counters = 18; @@ -1730,7 +1734,7 @@ bcm_error_t _bcm_esw_stat_attr_fill( /* Map[Encoded Packet value << 2=>[SVP-1bit + DROP-1bit]= CounterIndex << 2=>[SVP-1bit + DROP-1bit]=4(Start),8,12*/ - shift_by_bits= ing_pkt_attr_cmprsd_bits_g.svp_type + ing_pkt_attr_cmprsd_bits_g.drop; + shift_by_bits= ing_pkt_attr_cmprsd_bits_g[unit].svp_type + ing_pkt_attr_cmprsd_bits_g[unit].drop; shift_by_bits_for_value = shift_by_bits; for (ignore_index=0; @@ -1906,13 +1910,13 @@ bcm_error_t _bcm_esw_stat_attr_fill( ing_attr->packet_attr_type=bcmStatFlexPacketAttrTypeCompressed; ing_cmprsd_pkt_attr_bits->pkt_resolution = 3; - ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; ing_cmprsd_pkt_attr_bits->pkt_resolution_mask = (1<<3)-1; - ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g.int_pri; - ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g[unit].int_pri; + ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; - ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g.int_pri_mask; + ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g[unit].int_pri_mask; ing_cmprsd_attr_selectors->total_counters = 21; /* Reset pkt_resolution map */ @@ -1924,7 +1928,7 @@ bcm_error_t _bcm_esw_stat_attr_fill( /* Map[Encoded Packet value << 2=>[SVP-1bit + DROP-1bit]= CounterIndex << 2=>[SVP-1bit + DROP-1bit]=4(Start),8,12*/ - shift_by_bits= ing_pkt_attr_cmprsd_bits_g.svp_type + ing_pkt_attr_cmprsd_bits_g.drop; + shift_by_bits= ing_pkt_attr_cmprsd_bits_g[unit].svp_type + ing_pkt_attr_cmprsd_bits_g[unit].drop; shift_by_bits_for_value = shift_by_bits; for (ignore_index=0; @@ -2563,14 +2567,14 @@ bcm_error_t _bcm_esw_stat_group_create ( ing_cmprsd_pkt_attr_bits->pkt_resolution = 1; - ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; ing_cmprsd_pkt_attr_bits->pkt_resolution_mask = 1; - ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g.int_pri; - ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g[unit].int_pri; + ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; - ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_mask; ing_cmprsd_attr_selectors->total_counters = 17; @@ -2585,7 +2589,7 @@ bcm_error_t _bcm_esw_stat_group_create ( map_index++) { ing_cmprsd_attr_selectors->pkt_res_attr_map[map_index]=0; } - shift_by_bits= ing_pkt_attr_cmprsd_bits_g.svp_type + ing_pkt_attr_cmprsd_bits_g.drop; + shift_by_bits= ing_pkt_attr_cmprsd_bits_g[unit].svp_type + ing_pkt_attr_cmprsd_bits_g[unit].drop; shift_by_bits_for_value = shift_by_bits; for (ignore_index=0; @@ -2731,14 +2735,14 @@ bcm_error_t _bcm_esw_stat_group_create ( ing_attr->packet_attr_type=bcmStatFlexPacketAttrTypeCompressed; /* Cannot consider 0 value so taking 3 i.s.o. 2 */ ing_cmprsd_pkt_attr_bits->pkt_resolution = 3; - ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; ing_cmprsd_pkt_attr_bits->pkt_resolution_mask = (1<<3)-1; - ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g.int_pri; - ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g[unit].int_pri; + ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; - ing_cmprsd_pkt_attr_bits->int_pri_mask= ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri_mask= ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_mask; ing_cmprsd_attr_selectors->total_counters = 20; @@ -2749,8 +2753,8 @@ bcm_error_t _bcm_esw_stat_group_create ( /* set pkt_resolution map for 1 counters */ /* Map[Encoded Packet value << 2=>[SVP-1bit + DROP-1bit]= CounterIndex << 2=>[SVP-1bit + DROP-1bit]=4(Start),8,12*/ - shift_by_bits= ing_pkt_attr_cmprsd_bits_g.svp_type + - ing_pkt_attr_cmprsd_bits_g.drop; + shift_by_bits= ing_pkt_attr_cmprsd_bits_g[unit].svp_type + + ing_pkt_attr_cmprsd_bits_g[unit].drop; shift_by_bits_for_value = shift_by_bits; /* set pkt_resolution map for 1 counters.Ignore SVP,DROP bits */ @@ -2841,23 +2845,23 @@ bcm_error_t _bcm_esw_stat_group_create ( total_counters=18; egr_attr->packet_attr_type=bcmStatFlexPacketAttrTypeCompressed; - egr_cmprsd_pkt_attr_bits->pkt_resolution = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->pkt_resolution = egr_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution; - egr_cmprsd_pkt_attr_bits->pkt_resolution_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->pkt_resolution_pos = egr_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; - egr_cmprsd_pkt_attr_bits->pkt_resolution_mask = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->pkt_resolution_mask = egr_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_mask; - egr_cmprsd_pkt_attr_bits->int_pri = egr_pkt_attr_cmprsd_bits_g.int_pri; - egr_cmprsd_pkt_attr_bits->int_pri_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->int_pri = egr_pkt_attr_cmprsd_bits_g[unit].int_pri; + egr_cmprsd_pkt_attr_bits->int_pri_pos = egr_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; - egr_cmprsd_pkt_attr_bits->int_pri_mask=egr_pkt_attr_cmprsd_bits_g.int_pri_mask; + egr_cmprsd_pkt_attr_bits->int_pri_mask=egr_pkt_attr_cmprsd_bits_g[unit].int_pri_mask; egr_cmprsd_attr_selectors->total_counters = 18; - shift_by_bits= egr_pkt_attr_cmprsd_bits_g.svp_type + - egr_pkt_attr_cmprsd_bits_g.dvp_type + - egr_pkt_attr_cmprsd_bits_g.drop; + shift_by_bits= egr_pkt_attr_cmprsd_bits_g[unit].svp_type + + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type + + egr_pkt_attr_cmprsd_bits_g[unit].drop; shift_by_bits_for_value = shift_by_bits; /* Set pkt_resolution map */ /* Unicast */ @@ -3054,15 +3058,15 @@ bcm_error_t _bcm_esw_stat_group_create ( ing_attr->packet_attr_type=bcmStatFlexPacketAttrTypeCompressed; ing_cmprsd_pkt_attr_bits->pkt_resolution = 2; - ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; ing_cmprsd_pkt_attr_bits->pkt_resolution_mask = (1<<2)-1; - ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g.int_pri; - ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g[unit].int_pri; + ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; - ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_mask; ing_cmprsd_attr_selectors->total_counters = 18; @@ -3074,7 +3078,7 @@ bcm_error_t _bcm_esw_stat_group_create ( /* Map[Encoded Packet value << 2=>[SVP-1bit + DROP-1bit]= CounterIndex << 2=>[SVP-1bit + DROP-1bit]=4(Start),8,12*/ - shift_by_bits= ing_pkt_attr_cmprsd_bits_g.svp_type + ing_pkt_attr_cmprsd_bits_g.drop; + shift_by_bits= ing_pkt_attr_cmprsd_bits_g[unit].svp_type + ing_pkt_attr_cmprsd_bits_g[unit].drop; shift_by_bits_for_value = shift_by_bits; for (ignore_index=0; @@ -3250,13 +3254,13 @@ bcm_error_t _bcm_esw_stat_group_create ( ing_attr->packet_attr_type=bcmStatFlexPacketAttrTypeCompressed; ing_cmprsd_pkt_attr_bits->pkt_resolution = 3; - ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = ing_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; ing_cmprsd_pkt_attr_bits->pkt_resolution_mask = (1<<3)-1; - ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g.int_pri; - ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri = ing_pkt_attr_cmprsd_bits_g[unit].int_pri; + ing_cmprsd_pkt_attr_bits->int_pri_pos = ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; - ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g.int_pri_mask; + ing_cmprsd_pkt_attr_bits->int_pri_mask = ing_pkt_attr_cmprsd_bits_g[unit].int_pri_mask; ing_cmprsd_attr_selectors->total_counters = 21; /* Reset pkt_resolution map */ @@ -3268,7 +3272,7 @@ bcm_error_t _bcm_esw_stat_group_create ( /* Map[Encoded Packet value << 2=>[SVP-1bit + DROP-1bit]= CounterIndex << 2=>[SVP-1bit + DROP-1bit]=4(Start),8,12*/ - shift_by_bits= ing_pkt_attr_cmprsd_bits_g.svp_type + ing_pkt_attr_cmprsd_bits_g.drop; + shift_by_bits= ing_pkt_attr_cmprsd_bits_g[unit].svp_type + ing_pkt_attr_cmprsd_bits_g[unit].drop; shift_by_bits_for_value = shift_by_bits; for (ignore_index=0; @@ -4897,301 +4901,301 @@ void _bcm_esw_stat_flex_init_pkt_attr_bits(int unit) int next_pos = 0; /* Egress bits initialization */ - egr_pkt_attr_uncmprsd_bits_g.ip_pkt = 1; - egr_pkt_attr_uncmprsd_bits_g.ip_pkt_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.ip_pkt_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.ip_pkt) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.ip_pkt; - - egr_pkt_attr_uncmprsd_bits_g.drop = 1; - egr_pkt_attr_uncmprsd_bits_g.drop_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.drop_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.drop) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.drop; - - egr_pkt_attr_uncmprsd_bits_g.dvp_type = + egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt; + + egr_pkt_attr_uncmprsd_bits_g[unit].drop = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].drop_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].drop_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].drop) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].drop; + + egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type = (soc_feature(unit, soc_feature_multiple_split_horizon_group)) ? 3 : 1; - egr_pkt_attr_uncmprsd_bits_g.dvp_type_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.dvp_type_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.dvp_type) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.dvp_type; + egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type; - egr_pkt_attr_uncmprsd_bits_g.svp_type = + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type = (soc_feature(unit, soc_feature_multiple_split_horizon_group)) ? 3 : 1; - egr_pkt_attr_uncmprsd_bits_g.svp_type_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.svp_type_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.svp_type) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.svp_type; - - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution = 1; - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.pkt_resolution) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.pkt_resolution; - - egr_pkt_attr_uncmprsd_bits_g.tos_ecn = 2; - egr_pkt_attr_uncmprsd_bits_g.tos_ecn_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.tos_ecn_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.tos_ecn) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.tos_ecn; - - egr_pkt_attr_uncmprsd_bits_g.tos_dscp = 6; - egr_pkt_attr_uncmprsd_bits_g.tos_dscp_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.tos_dscp_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.tos_dscp) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.tos_dscp; + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].svp_type) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].svp_type; + + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution; + + egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn; + + egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp = 6; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp; if (SOC_IS_TOMAHAWKX(unit) || SOC_IS_TRIDENT3X(unit)) { - egr_pkt_attr_uncmprsd_bits_g.egr_port = 8; /* For TH, TD3 8 bits */ + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port = 8; /* For TH, TD3 8 bits */ } else { - egr_pkt_attr_uncmprsd_bits_g.egr_port = 7; /* For KT2,TR3 6 bits */ + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port = 7; /* For KT2,TR3 6 bits */ } - egr_pkt_attr_uncmprsd_bits_g.egr_port_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.egr_port_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.egr_port) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.egr_port; - - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p = 3; - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.inner_dot1p) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.inner_dot1p; - - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p = 3; - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.outer_dot1p) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.outer_dot1p; - - egr_pkt_attr_uncmprsd_bits_g.vlan_format = 2; - egr_pkt_attr_uncmprsd_bits_g.vlan_format_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.vlan_format_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.vlan_format) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.vlan_format; - - egr_pkt_attr_uncmprsd_bits_g.int_pri = 4; - egr_pkt_attr_uncmprsd_bits_g.int_pri_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.int_pri_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.int_pri) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.int_pri; - - egr_pkt_attr_uncmprsd_bits_g.cng = 2; - egr_pkt_attr_uncmprsd_bits_g.cng_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.cng_mask = (1 << egr_pkt_attr_uncmprsd_bits_g.cng) - 1; + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].egr_port) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].egr_port; + + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p = 3; + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p; + + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p = 3; + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p; + + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format; + + egr_pkt_attr_uncmprsd_bits_g[unit].int_pri = 4; + egr_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].int_pri_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].int_pri) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].int_pri; + + egr_pkt_attr_uncmprsd_bits_g[unit].cng = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_mask = (1 << egr_pkt_attr_uncmprsd_bits_g[unit].cng) - 1; #ifdef BCM_APACHE_SUPPORT /* Added support for 3 Label Mpls Attr Counting */ if (soc_feature(unit,soc_feature_flex_ctr_mpls_3_label_count)) { - next_pos += egr_pkt_attr_uncmprsd_bits_g.cng; - - egr_pkt_attr_uncmprsd_bits_g.phb_1 = 4; - egr_pkt_attr_uncmprsd_bits_g.phb_1_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.phb_1_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.phb_1) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.phb_1; - - egr_pkt_attr_uncmprsd_bits_g.cng_1 = 2; - egr_pkt_attr_uncmprsd_bits_g.cng_1_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.cng_1_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.cng_1) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.cng_1; - - egr_pkt_attr_uncmprsd_bits_g.phb_2 = 4; - egr_pkt_attr_uncmprsd_bits_g.phb_2_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.phb_2_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.phb_2) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.phb_2; - - egr_pkt_attr_uncmprsd_bits_g.cng_2 = 2; - egr_pkt_attr_uncmprsd_bits_g.cng_2_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.cng_2_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.cng_2) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.cng_2; - - egr_pkt_attr_uncmprsd_bits_g.phb_3 = 4; - egr_pkt_attr_uncmprsd_bits_g.phb_3_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.phb_3_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.phb_3) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.phb_3; - - egr_pkt_attr_uncmprsd_bits_g.cng_3 = 2; - egr_pkt_attr_uncmprsd_bits_g.cng_3_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.cng_3_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.cng_3) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].cng; + + egr_pkt_attr_uncmprsd_bits_g[unit].phb_1 = 4; + egr_pkt_attr_uncmprsd_bits_g[unit].phb_1_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].phb_1_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].phb_1) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].phb_1; + + egr_pkt_attr_uncmprsd_bits_g[unit].cng_1 = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_1_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_1_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].cng_1) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].cng_1; + + egr_pkt_attr_uncmprsd_bits_g[unit].phb_2 = 4; + egr_pkt_attr_uncmprsd_bits_g[unit].phb_2_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].phb_2_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].phb_2) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].phb_2; + + egr_pkt_attr_uncmprsd_bits_g[unit].cng_2 = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_2_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_2_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].cng_2) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].cng_2; + + egr_pkt_attr_uncmprsd_bits_g[unit].phb_3 = 4; + egr_pkt_attr_uncmprsd_bits_g[unit].phb_3_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].phb_3_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].phb_3) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].phb_3; + + egr_pkt_attr_uncmprsd_bits_g[unit].cng_3 = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_3_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_3_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].cng_3) - 1; } #endif #if defined(BCM_TOMAHAWK_SUPPORT) || defined(BCM_TRIDENT3_SUPPORT) if (soc_feature(unit, soc_feature_flex_stat_egr_queue_congestion_marked)) { - next_pos += egr_pkt_attr_uncmprsd_bits_g.cng; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].cng; - egr_pkt_attr_uncmprsd_bits_g.congestion_marked = 1; - egr_pkt_attr_uncmprsd_bits_g.congestion_marked_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.congestion_marked_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.congestion_marked) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.congestion_marked; + egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked; - egr_pkt_attr_uncmprsd_bits_g.uc_queueing = 1; - egr_pkt_attr_uncmprsd_bits_g.uc_queueing_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.uc_queueing_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.uc_queueing) - 1; - next_pos += egr_pkt_attr_uncmprsd_bits_g.uc_queueing; + egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing) - 1; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing; if (SOC_IS_HELIX5(unit)) { - egr_pkt_attr_uncmprsd_bits_g.mmu_cos = 5; + egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos = 5; } else { - egr_pkt_attr_uncmprsd_bits_g.mmu_cos = 4; + egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos = 4; } - egr_pkt_attr_uncmprsd_bits_g.mmu_cos_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.mmu_cos_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.mmu_cos) - 1; + egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos) - 1; } #endif if (soc_feature(unit, soc_feature_flex_stat_int_cn_support)) { - next_pos += egr_pkt_attr_uncmprsd_bits_g.mmu_cos; + next_pos += egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos; - egr_pkt_attr_uncmprsd_bits_g.int_cn = 2; - egr_pkt_attr_uncmprsd_bits_g.int_cn_pos = next_pos; - egr_pkt_attr_uncmprsd_bits_g.int_cn_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.int_cn) - 1; + egr_pkt_attr_uncmprsd_bits_g[unit].int_cn = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].int_cn_pos = next_pos; + egr_pkt_attr_uncmprsd_bits_g[unit].int_cn_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].int_cn) - 1; } /* Ingress bits initialization */ next_pos = 0; - ing_pkt_attr_uncmprsd_bits_g.ip_pkt = 1; - ing_pkt_attr_uncmprsd_bits_g.ip_pkt_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.ip_pkt_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.ip_pkt) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.ip_pkt; - - ing_pkt_attr_uncmprsd_bits_g.drop = 1; - ing_pkt_attr_uncmprsd_bits_g.drop_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.drop_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.drop) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.drop; - - ing_pkt_attr_uncmprsd_bits_g.svp_type = + ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt = 1; + ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt; + + ing_pkt_attr_uncmprsd_bits_g[unit].drop = 1; + ing_pkt_attr_uncmprsd_bits_g[unit].drop_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].drop_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].drop) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].drop; + + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type = (soc_feature(unit, soc_feature_multiple_split_horizon_group)) ? 3 : 1; - ing_pkt_attr_uncmprsd_bits_g.svp_type_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.svp_type_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.svp_type) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.svp_type; - - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution = 6; - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.pkt_resolution) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.pkt_resolution; - - ing_pkt_attr_uncmprsd_bits_g.tos_ecn = 2; - ing_pkt_attr_uncmprsd_bits_g.tos_ecn_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.tos_ecn_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.tos_ecn) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.tos_ecn; - - ing_pkt_attr_uncmprsd_bits_g.tos_dscp = 6; - ing_pkt_attr_uncmprsd_bits_g.tos_dscp_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.tos_dscp_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.tos_dscp) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.tos_dscp; + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].svp_type) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].svp_type; + + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution = 6; + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution; + + ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn; + + ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp = 6; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp; if (SOC_IS_TOMAHAWKX(unit) || SOC_IS_TRIDENT3X(unit)) { - ing_pkt_attr_uncmprsd_bits_g.ing_port = 8; /* FOR TH, TD3, 8 bits */ + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port = 8; /* FOR TH, TD3, 8 bits */ } else { - ing_pkt_attr_uncmprsd_bits_g.ing_port = 7; /* FOR TD2, 7 bits */ + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port = 7; /* FOR TD2, 7 bits */ } - ing_pkt_attr_uncmprsd_bits_g.ing_port_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.ing_port_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.ing_port) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.ing_port; - - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p = 3; - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.inner_dot1p) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.inner_dot1p; - - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p = 3; - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.outer_dot1p) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.outer_dot1p; - - ing_pkt_attr_uncmprsd_bits_g.vlan_format = 2; - ing_pkt_attr_uncmprsd_bits_g.vlan_format_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.vlan_format_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.vlan_format) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.vlan_format; - - ing_pkt_attr_uncmprsd_bits_g.int_pri = 4; - ing_pkt_attr_uncmprsd_bits_g.int_pri_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.int_pri_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.int_pri) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.int_pri; - - ing_pkt_attr_uncmprsd_bits_g.ifp_cng = 2; - ing_pkt_attr_uncmprsd_bits_g.ifp_cng_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.ifp_cng_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.ifp_cng) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.ifp_cng; - - ing_pkt_attr_uncmprsd_bits_g.cng = 2; - ing_pkt_attr_uncmprsd_bits_g.cng_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.cng_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.cng) - 1; + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].ing_port) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].ing_port; + + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p = 3; + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p; + + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p = 3; + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p; + + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format; + + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri = 4; + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].int_pri) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].int_pri; + + ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng; + + ing_pkt_attr_uncmprsd_bits_g[unit].cng = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].cng) - 1; #ifdef BCM_APACHE_SUPPORT /* Added support for 3 Label Mpls Attr Counting */ if (soc_feature(unit,soc_feature_flex_ctr_mpls_3_label_count)) { - next_pos += ing_pkt_attr_uncmprsd_bits_g.cng; - - ing_pkt_attr_uncmprsd_bits_g.phb_1 = 4; - ing_pkt_attr_uncmprsd_bits_g.phb_1_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.phb_1_mask = - (1 << ing_pkt_attr_uncmprsd_bits_g.phb_1) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.phb_1; - - ing_pkt_attr_uncmprsd_bits_g.cng_1 = 2; - ing_pkt_attr_uncmprsd_bits_g.cng_1_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.cng_1_mask = - (1 << ing_pkt_attr_uncmprsd_bits_g.cng_1) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.cng_1; - - ing_pkt_attr_uncmprsd_bits_g.phb_2 = 4; - ing_pkt_attr_uncmprsd_bits_g.phb_2_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.phb_2_mask = - (1 << ing_pkt_attr_uncmprsd_bits_g.phb_2) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.phb_2; - - ing_pkt_attr_uncmprsd_bits_g.cng_2 = 2; - ing_pkt_attr_uncmprsd_bits_g.cng_2_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.cng_2_mask = - (1 << ing_pkt_attr_uncmprsd_bits_g.cng_2) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.cng_2; - - ing_pkt_attr_uncmprsd_bits_g.phb_3 = 4; - ing_pkt_attr_uncmprsd_bits_g.phb_3_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.phb_3_mask = - (1 << ing_pkt_attr_uncmprsd_bits_g.phb_3) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.phb_3; - - ing_pkt_attr_uncmprsd_bits_g.cng_3 = 2; - ing_pkt_attr_uncmprsd_bits_g.cng_3_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.cng_3_mask = - (1 << ing_pkt_attr_uncmprsd_bits_g.cng_3) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].cng; + + ing_pkt_attr_uncmprsd_bits_g[unit].phb_1 = 4; + ing_pkt_attr_uncmprsd_bits_g[unit].phb_1_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].phb_1_mask = + (1 << ing_pkt_attr_uncmprsd_bits_g[unit].phb_1) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].phb_1; + + ing_pkt_attr_uncmprsd_bits_g[unit].cng_1 = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_1_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_1_mask = + (1 << ing_pkt_attr_uncmprsd_bits_g[unit].cng_1) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].cng_1; + + ing_pkt_attr_uncmprsd_bits_g[unit].phb_2 = 4; + ing_pkt_attr_uncmprsd_bits_g[unit].phb_2_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].phb_2_mask = + (1 << ing_pkt_attr_uncmprsd_bits_g[unit].phb_2) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].phb_2; + + ing_pkt_attr_uncmprsd_bits_g[unit].cng_2 = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_2_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_2_mask = + (1 << ing_pkt_attr_uncmprsd_bits_g[unit].cng_2) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].cng_2; + + ing_pkt_attr_uncmprsd_bits_g[unit].phb_3 = 4; + ing_pkt_attr_uncmprsd_bits_g[unit].phb_3_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].phb_3_mask = + (1 << ing_pkt_attr_uncmprsd_bits_g[unit].phb_3) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].phb_3; + + ing_pkt_attr_uncmprsd_bits_g[unit].cng_3 = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_3_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_3_mask = + (1 << ing_pkt_attr_uncmprsd_bits_g[unit].cng_3) - 1; } #endif if (soc_feature(unit, soc_feature_flex_stat_ing_tcp_flags_support)) { - next_pos += ing_pkt_attr_uncmprsd_bits_g.cng; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].cng; - ing_pkt_attr_uncmprsd_bits_g.tcp_flags = 8; - ing_pkt_attr_uncmprsd_bits_g.tcp_flags_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.tcp_flags_mask = - (1 << ing_pkt_attr_uncmprsd_bits_g.tcp_flags) - 1; - next_pos += ing_pkt_attr_uncmprsd_bits_g.tcp_flags; + ing_pkt_attr_uncmprsd_bits_g[unit].tcp_flags = 8; + ing_pkt_attr_uncmprsd_bits_g[unit].tcp_flags_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].tcp_flags_mask = + (1 << ing_pkt_attr_uncmprsd_bits_g[unit].tcp_flags) - 1; + next_pos += ing_pkt_attr_uncmprsd_bits_g[unit].tcp_flags; } if (soc_feature(unit, soc_feature_flex_stat_int_cn_support)) { - ing_pkt_attr_uncmprsd_bits_g.int_cn = 2; - ing_pkt_attr_uncmprsd_bits_g.int_cn_pos = next_pos; - ing_pkt_attr_uncmprsd_bits_g.int_cn_mask = - (1 << ing_pkt_attr_uncmprsd_bits_g.int_cn) - 1; + ing_pkt_attr_uncmprsd_bits_g[unit].int_cn = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].int_cn_pos = next_pos; + ing_pkt_attr_uncmprsd_bits_g[unit].int_cn_mask = + (1 << ing_pkt_attr_uncmprsd_bits_g[unit].int_cn) - 1; } } else { /* Egress bits initialization */ @@ -5199,614 +5203,614 @@ void _bcm_esw_stat_flex_init_pkt_attr_bits(int unit) if (SOC_IS_SABER2(unit)) { offset_adj = 1; } - egr_pkt_attr_uncmprsd_bits_g.cng = 2; - egr_pkt_attr_uncmprsd_bits_g.cng_pos = 37; - egr_pkt_attr_uncmprsd_bits_g.cng_mask = (1 << egr_pkt_attr_uncmprsd_bits_g.cng) - 1; - - egr_pkt_attr_uncmprsd_bits_g.int_pri = 4; - egr_pkt_attr_uncmprsd_bits_g.int_pri_pos = 33; - egr_pkt_attr_uncmprsd_bits_g.int_pri_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.int_pri) - 1; - - egr_pkt_attr_uncmprsd_bits_g.vlan_format = 2; - egr_pkt_attr_uncmprsd_bits_g.vlan_format_pos = 31; - egr_pkt_attr_uncmprsd_bits_g.vlan_format_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.vlan_format) - 1; - - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p = 3; - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos = 28; - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.outer_dot1p) - 1; - - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p = 3; - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos = 25; - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.inner_dot1p) - 1; + egr_pkt_attr_uncmprsd_bits_g[unit].cng = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_pos = 37; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_mask = (1 << egr_pkt_attr_uncmprsd_bits_g[unit].cng) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].int_pri = 4; + egr_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos = 33; + egr_pkt_attr_uncmprsd_bits_g[unit].int_pri_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].int_pri) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos = 31; + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p = 3; + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos = 28; + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p = 3; + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos = 25; + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p) - 1; /* For KT2 : 8 bits */ /* For SB2 : 7 Bits */ - egr_pkt_attr_uncmprsd_bits_g.egr_port = 8 - offset_adj; - egr_pkt_attr_uncmprsd_bits_g.egr_port_pos = 17; - egr_pkt_attr_uncmprsd_bits_g.egr_port_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.egr_port) - 1; - - egr_pkt_attr_uncmprsd_bits_g.tos_dscp = 6; - egr_pkt_attr_uncmprsd_bits_g.tos_dscp_pos = 11; - egr_pkt_attr_uncmprsd_bits_g.tos_dscp_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.tos_dscp) - 1; - - egr_pkt_attr_uncmprsd_bits_g.tos_ecn = 2; - egr_pkt_attr_uncmprsd_bits_g.tos_ecn_pos = 9; - egr_pkt_attr_uncmprsd_bits_g.tos_ecn_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.tos_ecn) - 1; - - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution = 1; - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution_pos = 8; - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.pkt_resolution) - 1; - - egr_pkt_attr_uncmprsd_bits_g.svp_type = 3; - egr_pkt_attr_uncmprsd_bits_g.svp_type_pos = 5; - egr_pkt_attr_uncmprsd_bits_g.svp_type_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.svp_type) - 1; - - egr_pkt_attr_uncmprsd_bits_g.dvp_type = 3; - egr_pkt_attr_uncmprsd_bits_g.dvp_type_pos = 2; - egr_pkt_attr_uncmprsd_bits_g.dvp_type_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.dvp_type) - 1; + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port = 8 - offset_adj; + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port_pos = 17; + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].egr_port) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp = 6; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos = 11; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos = 9; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_pos = 8; + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type = 3; + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos = 5; + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].svp_type) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type = 3; + egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type_pos = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type) - 1; } else { - egr_pkt_attr_uncmprsd_bits_g.cng = 2; - egr_pkt_attr_uncmprsd_bits_g.cng_pos = 31; - egr_pkt_attr_uncmprsd_bits_g.cng_mask = (1 << egr_pkt_attr_uncmprsd_bits_g.cng) - 1; - - egr_pkt_attr_uncmprsd_bits_g.int_pri = 4; - egr_pkt_attr_uncmprsd_bits_g.int_pri_pos = 27; - egr_pkt_attr_uncmprsd_bits_g.int_pri_mask = - (1 << egr_pkt_attr_uncmprsd_bits_g.int_pri) - 1; - - egr_pkt_attr_uncmprsd_bits_g.vlan_format = 2; - egr_pkt_attr_uncmprsd_bits_g.vlan_format_pos = 25; - egr_pkt_attr_uncmprsd_bits_g.vlan_format_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.vlan_format) - 1; - - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p = 3; - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos = 22; - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.outer_dot1p) - 1; - - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p = 3; - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos = 19; - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.inner_dot1p) - 1; - - egr_pkt_attr_uncmprsd_bits_g.egr_port = 6; /* For KT2,TR3 6 bits */ - egr_pkt_attr_uncmprsd_bits_g.egr_port_pos = 13; - egr_pkt_attr_uncmprsd_bits_g.egr_port_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.egr_port) - 1; - - egr_pkt_attr_uncmprsd_bits_g.tos_dscp = 6; - egr_pkt_attr_uncmprsd_bits_g.tos_dscp_pos = 7; - egr_pkt_attr_uncmprsd_bits_g.tos_dscp_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.tos_dscp) - 1; - - egr_pkt_attr_uncmprsd_bits_g.tos_ecn = 2; - egr_pkt_attr_uncmprsd_bits_g.tos_ecn_pos = 5; - egr_pkt_attr_uncmprsd_bits_g.tos_ecn_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.tos_ecn) - 1; - - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution = 1; - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution_pos = 4; - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.pkt_resolution) - 1; + egr_pkt_attr_uncmprsd_bits_g[unit].cng = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_pos = 31; + egr_pkt_attr_uncmprsd_bits_g[unit].cng_mask = (1 << egr_pkt_attr_uncmprsd_bits_g[unit].cng) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].int_pri = 4; + egr_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos = 27; + egr_pkt_attr_uncmprsd_bits_g[unit].int_pri_mask = + (1 << egr_pkt_attr_uncmprsd_bits_g[unit].int_pri) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos = 25; + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p = 3; + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos = 22; + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p = 3; + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos = 19; + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port = 6; /* For KT2,TR3 6 bits */ + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port_pos = 13; + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].egr_port) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp = 6; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos = 7; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos = 5; + egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_pos = 4; + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution) - 1; - egr_pkt_attr_uncmprsd_bits_g.svp_type = 1; - egr_pkt_attr_uncmprsd_bits_g.svp_type_pos = 3; - egr_pkt_attr_uncmprsd_bits_g.svp_type_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.svp_type) - 1; - - egr_pkt_attr_uncmprsd_bits_g.dvp_type = 1; - egr_pkt_attr_uncmprsd_bits_g.dvp_type_pos = 2; - egr_pkt_attr_uncmprsd_bits_g.dvp_type_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.dvp_type) - 1; + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos = 3; + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].svp_type) - 1; + + egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type_pos = 2; + egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type) - 1; } - egr_pkt_attr_uncmprsd_bits_g.drop = 1; - egr_pkt_attr_uncmprsd_bits_g.drop_pos = 1; - egr_pkt_attr_uncmprsd_bits_g.drop_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.drop) - 1; + egr_pkt_attr_uncmprsd_bits_g[unit].drop = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].drop_pos = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].drop_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].drop) - 1; - egr_pkt_attr_uncmprsd_bits_g.ip_pkt = 1; - egr_pkt_attr_uncmprsd_bits_g.ip_pkt_pos = 0; - egr_pkt_attr_uncmprsd_bits_g.ip_pkt_mask = - (1<<egr_pkt_attr_uncmprsd_bits_g.ip_pkt) - 1; + egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt = 1; + egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_pos = 0; + egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_mask = + (1<<egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt) - 1; /* Ingress bits initialization */ if (SOC_IS_KATANA2(unit)) { if (SOC_IS_SABER2(unit)) { offset_adj = 1; } - ing_pkt_attr_uncmprsd_bits_g.cng = 2; - ing_pkt_attr_uncmprsd_bits_g.cng_pos = 41; - ing_pkt_attr_uncmprsd_bits_g.cng_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.cng) - 1; - - ing_pkt_attr_uncmprsd_bits_g.ifp_cng = 2; - ing_pkt_attr_uncmprsd_bits_g.ifp_cng_pos = 39; - ing_pkt_attr_uncmprsd_bits_g.ifp_cng_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.ifp_cng) - 1; - - ing_pkt_attr_uncmprsd_bits_g.int_pri = 4; - ing_pkt_attr_uncmprsd_bits_g.int_pri_pos = 35; - ing_pkt_attr_uncmprsd_bits_g.int_pri_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.int_pri) - 1; - - ing_pkt_attr_uncmprsd_bits_g.vlan_format = 2; - ing_pkt_attr_uncmprsd_bits_g.vlan_format_pos = 33; - ing_pkt_attr_uncmprsd_bits_g.vlan_format_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.vlan_format) - 1; - - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p = 3; - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos = 30; - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.outer_dot1p) - 1; - - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p = 3; - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos = 27; - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.inner_dot1p) - 1; + ing_pkt_attr_uncmprsd_bits_g[unit].cng = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_pos = 41; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].cng) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng_pos = 39; + ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri = 4; + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos = 35; + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].int_pri) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos = 33; + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p = 3; + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos = 30; + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p = 3; + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos = 27; + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p) - 1; /* For KT2,For SB2 : 7 Bits */ - ing_pkt_attr_uncmprsd_bits_g.ing_port = 8 - offset_adj; - ing_pkt_attr_uncmprsd_bits_g.ing_port_pos = 19; - ing_pkt_attr_uncmprsd_bits_g.ing_port_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.ing_port) - 1; - - ing_pkt_attr_uncmprsd_bits_g.tos_dscp = 6; - ing_pkt_attr_uncmprsd_bits_g.tos_dscp_pos = 13; - ing_pkt_attr_uncmprsd_bits_g.tos_dscp_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.tos_dscp) - 1; - - ing_pkt_attr_uncmprsd_bits_g.tos_ecn = 2; - ing_pkt_attr_uncmprsd_bits_g.tos_ecn_pos = 11; - ing_pkt_attr_uncmprsd_bits_g.tos_ecn_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.tos_ecn) - 1; - - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution = 6; - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution_pos = 5; - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.pkt_resolution) - 1; - - ing_pkt_attr_uncmprsd_bits_g.svp_type = 3; - ing_pkt_attr_uncmprsd_bits_g.svp_type_pos = 2; - ing_pkt_attr_uncmprsd_bits_g.svp_type_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.svp_type) - 1; + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port = 8 - offset_adj; + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port_pos = 19; + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].ing_port) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp = 6; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos = 13; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos = 11; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution = 6; + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_pos = 5; + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type = 3; + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].svp_type) - 1; } else { - ing_pkt_attr_uncmprsd_bits_g.cng = 2; - ing_pkt_attr_uncmprsd_bits_g.cng_pos = 37; - ing_pkt_attr_uncmprsd_bits_g.cng_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.cng) - 1; - - ing_pkt_attr_uncmprsd_bits_g.ifp_cng = 2; - ing_pkt_attr_uncmprsd_bits_g.ifp_cng_pos = 35; - ing_pkt_attr_uncmprsd_bits_g.ifp_cng_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.ifp_cng) - 1; - - ing_pkt_attr_uncmprsd_bits_g.int_pri = 4; - ing_pkt_attr_uncmprsd_bits_g.int_pri_pos = 31; - ing_pkt_attr_uncmprsd_bits_g.int_pri_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.int_pri) - 1; - - ing_pkt_attr_uncmprsd_bits_g.vlan_format = 2; - ing_pkt_attr_uncmprsd_bits_g.vlan_format_pos = 29; - ing_pkt_attr_uncmprsd_bits_g.vlan_format_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.vlan_format) - 1; - - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p = 3; - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos = 26; - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.outer_dot1p) - 1; - - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p = 3; - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos = 23; - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.inner_dot1p) - 1; - - ing_pkt_attr_uncmprsd_bits_g.ing_port = 6; /* For KT2,TR3 6 bits */ - ing_pkt_attr_uncmprsd_bits_g.ing_port_pos = 17; - ing_pkt_attr_uncmprsd_bits_g.ing_port_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.ing_port) - 1; - - ing_pkt_attr_uncmprsd_bits_g.tos_dscp = 6; - ing_pkt_attr_uncmprsd_bits_g.tos_dscp_pos = 11; - ing_pkt_attr_uncmprsd_bits_g.tos_dscp_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.tos_dscp) - 1; - ing_pkt_attr_uncmprsd_bits_g.tos_ecn = 2; - ing_pkt_attr_uncmprsd_bits_g.tos_ecn_pos = 9; - ing_pkt_attr_uncmprsd_bits_g.tos_ecn_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.tos_ecn) - 1; - - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution = 6; - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution_pos = 3; - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.pkt_resolution) - 1; - - ing_pkt_attr_uncmprsd_bits_g.svp_type = 1; - ing_pkt_attr_uncmprsd_bits_g.svp_type_pos = 2; - ing_pkt_attr_uncmprsd_bits_g.svp_type_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.svp_type) - 1; + ing_pkt_attr_uncmprsd_bits_g[unit].cng = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_pos = 37; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].cng) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng_pos = 35; + ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri = 4; + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos = 31; + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].int_pri) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos = 29; + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p = 3; + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos = 26; + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p = 3; + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos = 23; + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port = 6; /* For KT2,TR3 6 bits */ + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port_pos = 17; + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].ing_port) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp = 6; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos = 11; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp) - 1; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos = 9; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution = 6; + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_pos = 3; + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type = 1; + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos = 2; + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].svp_type) - 1; } - ing_pkt_attr_uncmprsd_bits_g.drop = 1; - ing_pkt_attr_uncmprsd_bits_g.drop_pos = 1; - ing_pkt_attr_uncmprsd_bits_g.drop_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.drop) - 1; - - ing_pkt_attr_uncmprsd_bits_g.ip_pkt = 1; - ing_pkt_attr_uncmprsd_bits_g.ip_pkt_pos = 0; - ing_pkt_attr_uncmprsd_bits_g.ip_pkt_mask = - (1<<ing_pkt_attr_uncmprsd_bits_g.ip_pkt) - 1; + ing_pkt_attr_uncmprsd_bits_g[unit].drop = 1; + ing_pkt_attr_uncmprsd_bits_g[unit].drop_pos = 1; + ing_pkt_attr_uncmprsd_bits_g[unit].drop_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].drop) - 1; + + ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt = 1; + ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_pos = 0; + ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_mask = + (1<<ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt) - 1; } if (SOC_IS_KATANA2(unit)) { if (SOC_IS_SABER2(unit)) { offset_adj = 1; } - ing_pkt_attr_cmprsd_bits_g.cng = 2; - ing_pkt_attr_cmprsd_bits_g.cng_pos = 39 - offset_adj; - ing_pkt_attr_cmprsd_bits_g.cng_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.cng) - 1; - - ing_pkt_attr_cmprsd_bits_g.ifp_cng = 2; - ing_pkt_attr_cmprsd_bits_g.ifp_cng_pos = 37 - offset_adj; - ing_pkt_attr_cmprsd_bits_g.ifp_cng_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.ifp_cng) - 1; - - ing_pkt_attr_cmprsd_bits_g.int_pri = 4; - ing_pkt_attr_cmprsd_bits_g.int_pri_pos = 33 - offset_adj; - ing_pkt_attr_cmprsd_bits_g.int_pri_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.int_pri) - 1; - - ing_pkt_attr_cmprsd_bits_g.vlan_format = 2; - ing_pkt_attr_cmprsd_bits_g.vlan_format_pos = 31 - offset_adj; - ing_pkt_attr_cmprsd_bits_g.vlan_format_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.vlan_format) - 1; - - ing_pkt_attr_cmprsd_bits_g.outer_dot1p = 3; - ing_pkt_attr_cmprsd_bits_g.outer_dot1p_pos = 28 - offset_adj; - ing_pkt_attr_cmprsd_bits_g.outer_dot1p_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.outer_dot1p) - 1; - - ing_pkt_attr_cmprsd_bits_g.inner_dot1p = 3; - ing_pkt_attr_cmprsd_bits_g.inner_dot1p_pos = 25; - ing_pkt_attr_cmprsd_bits_g.inner_dot1p_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.inner_dot1p) - 1; - - ing_pkt_attr_cmprsd_bits_g.ing_port = 8 - offset_adj; /* For KT2,TR3 6 bits */ - ing_pkt_attr_cmprsd_bits_g.ing_port_pos = 17; - ing_pkt_attr_cmprsd_bits_g.ing_port_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.ing_port) - 1; - - ing_pkt_attr_cmprsd_bits_g.tos_dscp = 6; - ing_pkt_attr_cmprsd_bits_g.tos_dscp_pos = 11; - ing_pkt_attr_cmprsd_bits_g.tos_dscp_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; - - ing_pkt_attr_cmprsd_bits_g.tos_ecn = 2; - ing_pkt_attr_cmprsd_bits_g.tos_ecn_pos = 9; - ing_pkt_attr_cmprsd_bits_g.tos_ecn_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; - - ing_pkt_attr_cmprsd_bits_g.pkt_resolution = 4; - ing_pkt_attr_cmprsd_bits_g.pkt_resolution_pos = 5; - ing_pkt_attr_cmprsd_bits_g.pkt_resolution_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.pkt_resolution) - 1; - - ing_pkt_attr_cmprsd_bits_g.svp_type = 3; - ing_pkt_attr_cmprsd_bits_g.svp_type_pos = 2; - ing_pkt_attr_cmprsd_bits_g.svp_type_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.svp_type) - 1; - ing_pkt_attr_cmprsd_bits_g.drop = 1; - ing_pkt_attr_cmprsd_bits_g.drop_pos = 1; - ing_pkt_attr_cmprsd_bits_g.drop_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.drop) - 1; - - ing_pkt_attr_cmprsd_bits_g.ip_pkt = 1; - ing_pkt_attr_cmprsd_bits_g.ip_pkt_pos = 0; - ing_pkt_attr_cmprsd_bits_g.ip_pkt_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.ip_pkt) - 1; - - egr_pkt_attr_cmprsd_bits_g.cng = 2; - egr_pkt_attr_cmprsd_bits_g.cng_pos = 33; - egr_pkt_attr_cmprsd_bits_g.cng_mask = (1 << egr_pkt_attr_cmprsd_bits_g.cng) - 1; - - egr_pkt_attr_cmprsd_bits_g.int_pri = 4; - egr_pkt_attr_cmprsd_bits_g.int_pri_pos = 29; - egr_pkt_attr_cmprsd_bits_g.int_pri_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.int_pri) - 1; - - egr_pkt_attr_cmprsd_bits_g.vlan_format = 2; - egr_pkt_attr_cmprsd_bits_g.vlan_format_pos = 27; - egr_pkt_attr_cmprsd_bits_g.vlan_format_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.vlan_format) - 1; - - egr_pkt_attr_cmprsd_bits_g.outer_dot1p = 3; - egr_pkt_attr_cmprsd_bits_g.outer_dot1p_pos = 24; - egr_pkt_attr_cmprsd_bits_g.outer_dot1p_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.outer_dot1p) - 1; - - egr_pkt_attr_cmprsd_bits_g.inner_dot1p = 3; - egr_pkt_attr_cmprsd_bits_g.inner_dot1p_pos = 21; - egr_pkt_attr_cmprsd_bits_g.inner_dot1p_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.inner_dot1p) - 1; - - egr_pkt_attr_cmprsd_bits_g.egr_port = 8 - offset_adj; /* For KT2 : 8 bits */ - egr_pkt_attr_cmprsd_bits_g.egr_port_pos = 13; - egr_pkt_attr_cmprsd_bits_g.egr_port_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.egr_port) - 1; - - egr_pkt_attr_cmprsd_bits_g.tos_dscp = 6; - egr_pkt_attr_cmprsd_bits_g.tos_dscp_pos = 7; - egr_pkt_attr_cmprsd_bits_g.tos_dscp_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; - - egr_pkt_attr_cmprsd_bits_g.tos_ecn = 2; - egr_pkt_attr_cmprsd_bits_g.tos_ecn_pos = 5; - egr_pkt_attr_cmprsd_bits_g.tos_ecn_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; - - egr_pkt_attr_cmprsd_bits_g.pkt_resolution = 1; - egr_pkt_attr_cmprsd_bits_g.pkt_resolution_pos = 4; - egr_pkt_attr_cmprsd_bits_g.pkt_resolution_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.pkt_resolution) - 1; - - egr_pkt_attr_cmprsd_bits_g.svp_type = 1; - egr_pkt_attr_cmprsd_bits_g.svp_type_pos = 3; - egr_pkt_attr_cmprsd_bits_g.svp_type_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.svp_type) - 1; - - egr_pkt_attr_cmprsd_bits_g.dvp_type = 1; - egr_pkt_attr_cmprsd_bits_g.dvp_type_pos = 2; - egr_pkt_attr_cmprsd_bits_g.dvp_type_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.dvp_type) - 1; - egr_pkt_attr_cmprsd_bits_g.drop = 1; - egr_pkt_attr_cmprsd_bits_g.drop_pos = 1; - egr_pkt_attr_cmprsd_bits_g.drop_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.drop) - 1; - - egr_pkt_attr_cmprsd_bits_g.ip_pkt = 1; - egr_pkt_attr_cmprsd_bits_g.ip_pkt_pos = 0; - egr_pkt_attr_cmprsd_bits_g.ip_pkt_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.ip_pkt) - 1; + ing_pkt_attr_cmprsd_bits_g[unit].cng = 2; + ing_pkt_attr_cmprsd_bits_g[unit].cng_pos = 39 - offset_adj; + ing_pkt_attr_cmprsd_bits_g[unit].cng_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].cng) - 1; + + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng = 2; + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng_pos = 37 - offset_adj; + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng) - 1; + + ing_pkt_attr_cmprsd_bits_g[unit].int_pri = 4; + ing_pkt_attr_cmprsd_bits_g[unit].int_pri_pos = 33 - offset_adj; + ing_pkt_attr_cmprsd_bits_g[unit].int_pri_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].int_pri) - 1; + + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format = 2; + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format_pos = 31 - offset_adj; + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].vlan_format) - 1; + + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p = 3; + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos = 28 - offset_adj; + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p) - 1; + + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p = 3; + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos = 25; + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p) - 1; + + ing_pkt_attr_cmprsd_bits_g[unit].ing_port = 8 - offset_adj; /* For KT2,TR3 6 bits */ + ing_pkt_attr_cmprsd_bits_g[unit].ing_port_pos = 17; + ing_pkt_attr_cmprsd_bits_g[unit].ing_port_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].ing_port) - 1; + + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp = 6; + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos = 11; + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; + + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn = 2; + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos = 9; + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; + + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution = 4; + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_pos = 5; + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution) - 1; + + ing_pkt_attr_cmprsd_bits_g[unit].svp_type = 3; + ing_pkt_attr_cmprsd_bits_g[unit].svp_type_pos = 2; + ing_pkt_attr_cmprsd_bits_g[unit].svp_type_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].svp_type) - 1; + ing_pkt_attr_cmprsd_bits_g[unit].drop = 1; + ing_pkt_attr_cmprsd_bits_g[unit].drop_pos = 1; + ing_pkt_attr_cmprsd_bits_g[unit].drop_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].drop) - 1; + + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt = 1; + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos = 0; + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].cng = 2; + egr_pkt_attr_cmprsd_bits_g[unit].cng_pos = 33; + egr_pkt_attr_cmprsd_bits_g[unit].cng_mask = (1 << egr_pkt_attr_cmprsd_bits_g[unit].cng) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].int_pri = 4; + egr_pkt_attr_cmprsd_bits_g[unit].int_pri_pos = 29; + egr_pkt_attr_cmprsd_bits_g[unit].int_pri_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].int_pri) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format = 2; + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format_pos = 27; + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].vlan_format) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p = 3; + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos = 24; + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p = 3; + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos = 21; + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].egr_port = 8 - offset_adj; /* For KT2 : 8 bits */ + egr_pkt_attr_cmprsd_bits_g[unit].egr_port_pos = 13; + egr_pkt_attr_cmprsd_bits_g[unit].egr_port_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].egr_port) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp = 6; + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos = 7; + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn = 2; + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos = 5; + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution = 1; + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_pos = 4; + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].svp_type = 1; + egr_pkt_attr_cmprsd_bits_g[unit].svp_type_pos = 3; + egr_pkt_attr_cmprsd_bits_g[unit].svp_type_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].svp_type) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type = 1; + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type_pos = 2; + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].dvp_type) - 1; + egr_pkt_attr_cmprsd_bits_g[unit].drop = 1; + egr_pkt_attr_cmprsd_bits_g[unit].drop_pos = 1; + egr_pkt_attr_cmprsd_bits_g[unit].drop_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].drop) - 1; + + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt = 1; + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos = 0; + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt) - 1; #ifdef BCM_APACHE_SUPPORT } else if (SOC_IS_APACHE(unit)) { int next_pos = 0; /* Egress bits initialization */ - egr_pkt_attr_cmprsd_bits_g.ip_pkt = 1; - egr_pkt_attr_cmprsd_bits_g.ip_pkt_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.ip_pkt_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.ip_pkt) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.ip_pkt; - - egr_pkt_attr_cmprsd_bits_g.drop = 1; - egr_pkt_attr_cmprsd_bits_g.drop_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.drop_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.drop) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.drop; - - egr_pkt_attr_cmprsd_bits_g.dvp_type = 1; - egr_pkt_attr_cmprsd_bits_g.dvp_type_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.dvp_type_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.dvp_type) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.dvp_type; - - egr_pkt_attr_cmprsd_bits_g.svp_type = 1; - egr_pkt_attr_cmprsd_bits_g.svp_type_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.svp_type_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.svp_type) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.svp_type; - - egr_pkt_attr_cmprsd_bits_g.pkt_resolution = 1; - egr_pkt_attr_cmprsd_bits_g.pkt_resolution_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.pkt_resolution_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.pkt_resolution) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.pkt_resolution; - - egr_pkt_attr_cmprsd_bits_g.tos_ecn = 2; - egr_pkt_attr_cmprsd_bits_g.tos_ecn_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.tos_ecn_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.tos_ecn; - - egr_pkt_attr_cmprsd_bits_g.tos_dscp = 6; - egr_pkt_attr_cmprsd_bits_g.tos_dscp_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.tos_dscp_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.tos_dscp; - - egr_pkt_attr_cmprsd_bits_g.egr_port = 7; /* For KT2,TR3 6 bits */ - egr_pkt_attr_cmprsd_bits_g.egr_port_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.egr_port_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.egr_port) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.egr_port; - - egr_pkt_attr_cmprsd_bits_g.inner_dot1p = 3; - egr_pkt_attr_cmprsd_bits_g.inner_dot1p_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.inner_dot1p_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.inner_dot1p) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.inner_dot1p; - - egr_pkt_attr_cmprsd_bits_g.outer_dot1p = 3; - egr_pkt_attr_cmprsd_bits_g.outer_dot1p_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.outer_dot1p_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.outer_dot1p) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.outer_dot1p; - - egr_pkt_attr_cmprsd_bits_g.vlan_format = 2; - egr_pkt_attr_cmprsd_bits_g.vlan_format_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.vlan_format_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.vlan_format) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.vlan_format; - - egr_pkt_attr_cmprsd_bits_g.int_pri = 4; - egr_pkt_attr_cmprsd_bits_g.int_pri_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.int_pri_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.int_pri) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.int_pri; - - egr_pkt_attr_cmprsd_bits_g.cng = 2; - egr_pkt_attr_cmprsd_bits_g.cng_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.cng_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.cng) - 1; - - next_pos += egr_pkt_attr_cmprsd_bits_g.cng; - - egr_pkt_attr_cmprsd_bits_g.phb_1 = 4; - egr_pkt_attr_cmprsd_bits_g.phb_1_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.phb_1_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.phb_1) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.phb_1; - - egr_pkt_attr_cmprsd_bits_g.cng_1 = 2; - egr_pkt_attr_cmprsd_bits_g.cng_1_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.cng_1_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.cng_1) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.cng_1; - - egr_pkt_attr_cmprsd_bits_g.phb_2 = 4; - egr_pkt_attr_cmprsd_bits_g.phb_2_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.phb_2_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.phb_2) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.phb_2; - - egr_pkt_attr_cmprsd_bits_g.cng_2 = 2; - egr_pkt_attr_cmprsd_bits_g.cng_2_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.cng_2_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.cng_2) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.cng_2; - - egr_pkt_attr_cmprsd_bits_g.phb_3 = 4; - egr_pkt_attr_cmprsd_bits_g.phb_3_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.phb_3_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.phb_3) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.phb_3; - - egr_pkt_attr_cmprsd_bits_g.cng_3 = 2; - egr_pkt_attr_cmprsd_bits_g.cng_3_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.cng_3_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.cng_3) - 1; + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt = 1; + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt; + + egr_pkt_attr_cmprsd_bits_g[unit].drop = 1; + egr_pkt_attr_cmprsd_bits_g[unit].drop_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].drop_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].drop) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].drop; + + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type = 1; + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].dvp_type) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].dvp_type; + + egr_pkt_attr_cmprsd_bits_g[unit].svp_type = 1; + egr_pkt_attr_cmprsd_bits_g[unit].svp_type_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].svp_type_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].svp_type) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].svp_type; + + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution = 1; + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution; + + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn = 2; + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn; + + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp = 6; + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp; + + egr_pkt_attr_cmprsd_bits_g[unit].egr_port = 7; /* For KT2,TR3 6 bits */ + egr_pkt_attr_cmprsd_bits_g[unit].egr_port_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].egr_port_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].egr_port) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].egr_port; + + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p = 3; + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p; + + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p = 3; + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p; + + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format = 2; + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].vlan_format) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].vlan_format; + + egr_pkt_attr_cmprsd_bits_g[unit].int_pri = 4; + egr_pkt_attr_cmprsd_bits_g[unit].int_pri_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].int_pri_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].int_pri) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].int_pri; + + egr_pkt_attr_cmprsd_bits_g[unit].cng = 2; + egr_pkt_attr_cmprsd_bits_g[unit].cng_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].cng_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].cng) - 1; + + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].cng; + + egr_pkt_attr_cmprsd_bits_g[unit].phb_1 = 4; + egr_pkt_attr_cmprsd_bits_g[unit].phb_1_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].phb_1_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].phb_1) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].phb_1; + + egr_pkt_attr_cmprsd_bits_g[unit].cng_1 = 2; + egr_pkt_attr_cmprsd_bits_g[unit].cng_1_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].cng_1_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].cng_1) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].cng_1; + + egr_pkt_attr_cmprsd_bits_g[unit].phb_2 = 4; + egr_pkt_attr_cmprsd_bits_g[unit].phb_2_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].phb_2_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].phb_2) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].phb_2; + + egr_pkt_attr_cmprsd_bits_g[unit].cng_2 = 2; + egr_pkt_attr_cmprsd_bits_g[unit].cng_2_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].cng_2_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].cng_2) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].cng_2; + + egr_pkt_attr_cmprsd_bits_g[unit].phb_3 = 4; + egr_pkt_attr_cmprsd_bits_g[unit].phb_3_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].phb_3_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].phb_3) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].phb_3; + + egr_pkt_attr_cmprsd_bits_g[unit].cng_3 = 2; + egr_pkt_attr_cmprsd_bits_g[unit].cng_3_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].cng_3_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].cng_3) - 1; /* Ingress bits initialization */ next_pos = 0; - ing_pkt_attr_cmprsd_bits_g.ip_pkt = 1; - ing_pkt_attr_cmprsd_bits_g.ip_pkt_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.ip_pkt_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.ip_pkt) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.ip_pkt; - - ing_pkt_attr_cmprsd_bits_g.drop = 1; - ing_pkt_attr_cmprsd_bits_g.drop_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.drop_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.drop) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.drop; - - ing_pkt_attr_cmprsd_bits_g.svp_type = 3; - ing_pkt_attr_cmprsd_bits_g.svp_type_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.svp_type_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.svp_type) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.svp_type; - - ing_pkt_attr_cmprsd_bits_g.pkt_resolution = 4; - ing_pkt_attr_cmprsd_bits_g.pkt_resolution_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.pkt_resolution_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.pkt_resolution) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.pkt_resolution; - - ing_pkt_attr_cmprsd_bits_g.tos_ecn = 2; - ing_pkt_attr_cmprsd_bits_g.tos_ecn_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.tos_ecn_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.tos_ecn; - - ing_pkt_attr_cmprsd_bits_g.tos_dscp = 6; - ing_pkt_attr_cmprsd_bits_g.tos_dscp_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.tos_dscp_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.tos_dscp; - - ing_pkt_attr_cmprsd_bits_g.ing_port = 7; /* FOR TD2, 7 bits */ - ing_pkt_attr_cmprsd_bits_g.ing_port_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.ing_port_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.ing_port) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.ing_port; - - ing_pkt_attr_cmprsd_bits_g.inner_dot1p = 3; - ing_pkt_attr_cmprsd_bits_g.inner_dot1p_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.inner_dot1p_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.inner_dot1p) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.inner_dot1p; - - ing_pkt_attr_cmprsd_bits_g.outer_dot1p = 3; - ing_pkt_attr_cmprsd_bits_g.outer_dot1p_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.outer_dot1p_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.outer_dot1p) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.outer_dot1p; - - ing_pkt_attr_cmprsd_bits_g.vlan_format = 2; - ing_pkt_attr_cmprsd_bits_g.vlan_format_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.vlan_format_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.vlan_format) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.vlan_format; - - ing_pkt_attr_cmprsd_bits_g.int_pri = 4; - ing_pkt_attr_cmprsd_bits_g.int_pri_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.int_pri_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.int_pri) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.int_pri; - - ing_pkt_attr_cmprsd_bits_g.ifp_cng = 2; - ing_pkt_attr_cmprsd_bits_g.ifp_cng_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.ifp_cng_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.ifp_cng) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.ifp_cng; - - ing_pkt_attr_cmprsd_bits_g.cng = 2; - ing_pkt_attr_cmprsd_bits_g.cng_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.cng_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.cng) - 1; - - next_pos += ing_pkt_attr_cmprsd_bits_g.cng; - - ing_pkt_attr_cmprsd_bits_g.phb_1 = 4; - ing_pkt_attr_cmprsd_bits_g.phb_1_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.phb_1_mask = - (1 << ing_pkt_attr_cmprsd_bits_g.phb_1) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.phb_1; - - ing_pkt_attr_cmprsd_bits_g.cng_1 = 2; - ing_pkt_attr_cmprsd_bits_g.cng_1_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.cng_1_mask = - (1 << ing_pkt_attr_cmprsd_bits_g.cng_1) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.cng_1; - - ing_pkt_attr_cmprsd_bits_g.phb_2 = 4; - ing_pkt_attr_cmprsd_bits_g.phb_2_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.phb_2_mask = - (1 << ing_pkt_attr_cmprsd_bits_g.phb_2) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.phb_2; - - ing_pkt_attr_cmprsd_bits_g.cng_2 = 2; - ing_pkt_attr_cmprsd_bits_g.cng_2_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.cng_2_mask = - (1 << ing_pkt_attr_cmprsd_bits_g.cng_2) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.cng_2; - - ing_pkt_attr_cmprsd_bits_g.phb_3 = 4; - ing_pkt_attr_cmprsd_bits_g.phb_3_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.phb_3_mask = - (1 << ing_pkt_attr_cmprsd_bits_g.phb_3) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.phb_3; - - ing_pkt_attr_cmprsd_bits_g.cng_3 = 2; - ing_pkt_attr_cmprsd_bits_g.cng_3_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.cng_3_mask = - (1 << ing_pkt_attr_cmprsd_bits_g.cng_3) - 1; + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt = 1; + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt; + + ing_pkt_attr_cmprsd_bits_g[unit].drop = 1; + ing_pkt_attr_cmprsd_bits_g[unit].drop_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].drop_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].drop) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].drop; + + ing_pkt_attr_cmprsd_bits_g[unit].svp_type = 3; + ing_pkt_attr_cmprsd_bits_g[unit].svp_type_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].svp_type_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].svp_type) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].svp_type; + + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution = 4; + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution; + + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn = 2; + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn; + + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp = 6; + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp; + + ing_pkt_attr_cmprsd_bits_g[unit].ing_port = 7; /* FOR TD2, 7 bits */ + ing_pkt_attr_cmprsd_bits_g[unit].ing_port_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].ing_port_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].ing_port) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].ing_port; + + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p = 3; + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p; + + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p = 3; + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p; + + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format = 2; + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].vlan_format) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].vlan_format; + + ing_pkt_attr_cmprsd_bits_g[unit].int_pri = 4; + ing_pkt_attr_cmprsd_bits_g[unit].int_pri_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].int_pri_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].int_pri) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].int_pri; + + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng = 2; + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng; + + ing_pkt_attr_cmprsd_bits_g[unit].cng = 2; + ing_pkt_attr_cmprsd_bits_g[unit].cng_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].cng_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].cng) - 1; + + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].cng; + + ing_pkt_attr_cmprsd_bits_g[unit].phb_1 = 4; + ing_pkt_attr_cmprsd_bits_g[unit].phb_1_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].phb_1_mask = + (1 << ing_pkt_attr_cmprsd_bits_g[unit].phb_1) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].phb_1; + + ing_pkt_attr_cmprsd_bits_g[unit].cng_1 = 2; + ing_pkt_attr_cmprsd_bits_g[unit].cng_1_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].cng_1_mask = + (1 << ing_pkt_attr_cmprsd_bits_g[unit].cng_1) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].cng_1; + + ing_pkt_attr_cmprsd_bits_g[unit].phb_2 = 4; + ing_pkt_attr_cmprsd_bits_g[unit].phb_2_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].phb_2_mask = + (1 << ing_pkt_attr_cmprsd_bits_g[unit].phb_2) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].phb_2; + + ing_pkt_attr_cmprsd_bits_g[unit].cng_2 = 2; + ing_pkt_attr_cmprsd_bits_g[unit].cng_2_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].cng_2_mask = + (1 << ing_pkt_attr_cmprsd_bits_g[unit].cng_2) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].cng_2; + + ing_pkt_attr_cmprsd_bits_g[unit].phb_3 = 4; + ing_pkt_attr_cmprsd_bits_g[unit].phb_3_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].phb_3_mask = + (1 << ing_pkt_attr_cmprsd_bits_g[unit].phb_3) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].phb_3; + + ing_pkt_attr_cmprsd_bits_g[unit].cng_3 = 2; + ing_pkt_attr_cmprsd_bits_g[unit].cng_3_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].cng_3_mask = + (1 << ing_pkt_attr_cmprsd_bits_g[unit].cng_3) - 1; #endif } #ifdef BCM_TRIDENT3_SUPPORT @@ -5814,197 +5818,197 @@ void _bcm_esw_stat_flex_init_pkt_attr_bits(int unit) int next_pos = 0; /* Egress bits initialization */ - egr_pkt_attr_cmprsd_bits_g.ip_pkt = 1; - egr_pkt_attr_cmprsd_bits_g.ip_pkt_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.ip_pkt_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.ip_pkt) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.ip_pkt; - - egr_pkt_attr_cmprsd_bits_g.drop = 1; - egr_pkt_attr_cmprsd_bits_g.drop_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.drop_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.drop) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.drop; - - egr_pkt_attr_cmprsd_bits_g.dvp_type = 1; - egr_pkt_attr_cmprsd_bits_g.dvp_type_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.dvp_type_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.dvp_type) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.dvp_type; - - egr_pkt_attr_cmprsd_bits_g.svp_type = 1; - egr_pkt_attr_cmprsd_bits_g.svp_type_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.svp_type_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.svp_type) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.svp_type; - - egr_pkt_attr_cmprsd_bits_g.pkt_resolution = 1; - egr_pkt_attr_cmprsd_bits_g.pkt_resolution_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.pkt_resolution_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.pkt_resolution) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.pkt_resolution; - - egr_pkt_attr_cmprsd_bits_g.tos_ecn = 2; - egr_pkt_attr_cmprsd_bits_g.tos_ecn_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.tos_ecn_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.tos_ecn; - - egr_pkt_attr_cmprsd_bits_g.tos_dscp = 6; - egr_pkt_attr_cmprsd_bits_g.tos_dscp_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.tos_dscp_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.tos_dscp; - - egr_pkt_attr_cmprsd_bits_g.egr_port = 8; - egr_pkt_attr_cmprsd_bits_g.egr_port_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.egr_port_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.egr_port) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.egr_port; - - egr_pkt_attr_cmprsd_bits_g.inner_dot1p = 3; - egr_pkt_attr_cmprsd_bits_g.inner_dot1p_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.inner_dot1p_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.inner_dot1p) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.inner_dot1p; - - egr_pkt_attr_cmprsd_bits_g.outer_dot1p = 3; - egr_pkt_attr_cmprsd_bits_g.outer_dot1p_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.outer_dot1p_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.outer_dot1p) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.outer_dot1p; - - egr_pkt_attr_cmprsd_bits_g.vlan_format = 2; - egr_pkt_attr_cmprsd_bits_g.vlan_format_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.vlan_format_mask = - (1<<egr_pkt_attr_cmprsd_bits_g.vlan_format) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.vlan_format; - - egr_pkt_attr_cmprsd_bits_g.int_pri = 4; - egr_pkt_attr_cmprsd_bits_g.int_pri_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.int_pri_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.int_pri) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.int_pri; - - egr_pkt_attr_cmprsd_bits_g.cng = 2; - egr_pkt_attr_cmprsd_bits_g.cng_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.cng_mask = (1 << egr_pkt_attr_cmprsd_bits_g.cng) - 1; + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt = 1; + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt; + + egr_pkt_attr_cmprsd_bits_g[unit].drop = 1; + egr_pkt_attr_cmprsd_bits_g[unit].drop_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].drop_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].drop) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].drop; + + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type = 1; + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].dvp_type) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].dvp_type; + + egr_pkt_attr_cmprsd_bits_g[unit].svp_type = 1; + egr_pkt_attr_cmprsd_bits_g[unit].svp_type_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].svp_type_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].svp_type) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].svp_type; + + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution = 1; + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution; + + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn = 2; + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn; + + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp = 6; + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp; + + egr_pkt_attr_cmprsd_bits_g[unit].egr_port = 8; + egr_pkt_attr_cmprsd_bits_g[unit].egr_port_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].egr_port_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].egr_port) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].egr_port; + + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p = 3; + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p; + + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p = 3; + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p; + + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format = 2; + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format_mask = + (1<<egr_pkt_attr_cmprsd_bits_g[unit].vlan_format) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].vlan_format; + + egr_pkt_attr_cmprsd_bits_g[unit].int_pri = 4; + egr_pkt_attr_cmprsd_bits_g[unit].int_pri_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].int_pri_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].int_pri) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].int_pri; + + egr_pkt_attr_cmprsd_bits_g[unit].cng = 2; + egr_pkt_attr_cmprsd_bits_g[unit].cng_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].cng_mask = (1 << egr_pkt_attr_cmprsd_bits_g[unit].cng) - 1; if (soc_feature(unit, soc_feature_flex_stat_egr_queue_congestion_marked)) { - next_pos += egr_pkt_attr_cmprsd_bits_g.cng; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].cng; - egr_pkt_attr_cmprsd_bits_g.congestion_marked = 1; - egr_pkt_attr_cmprsd_bits_g.congestion_marked_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.congestion_marked_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.congestion_marked) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.congestion_marked; + egr_pkt_attr_cmprsd_bits_g[unit].congestion_marked = 1; + egr_pkt_attr_cmprsd_bits_g[unit].congestion_marked_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].congestion_marked_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].congestion_marked) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].congestion_marked; - egr_pkt_attr_cmprsd_bits_g.uc_queueing = 1; - egr_pkt_attr_cmprsd_bits_g.uc_queueing_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.uc_queueing_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.uc_queueing) - 1; - next_pos += egr_pkt_attr_cmprsd_bits_g.uc_queueing; + egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing = 1; + egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing) - 1; + next_pos += egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing; if (SOC_IS_HELIX5(unit)) { - egr_pkt_attr_uncmprsd_bits_g.mmu_cos = 5; + egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos = 5; } else { - egr_pkt_attr_uncmprsd_bits_g.mmu_cos = 4; + egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos = 4; } - egr_pkt_attr_cmprsd_bits_g.mmu_cos_pos = next_pos; - egr_pkt_attr_cmprsd_bits_g.mmu_cos_mask = - (1 << egr_pkt_attr_cmprsd_bits_g.mmu_cos) - 1; + egr_pkt_attr_cmprsd_bits_g[unit].mmu_cos_pos = next_pos; + egr_pkt_attr_cmprsd_bits_g[unit].mmu_cos_mask = + (1 << egr_pkt_attr_cmprsd_bits_g[unit].mmu_cos) - 1; } /* Ingress bits initialization */ next_pos = 0; - ing_pkt_attr_cmprsd_bits_g.ip_pkt = 1; - ing_pkt_attr_cmprsd_bits_g.ip_pkt_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.ip_pkt_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.ip_pkt) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.ip_pkt; - - ing_pkt_attr_cmprsd_bits_g.drop = 1; - ing_pkt_attr_cmprsd_bits_g.drop_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.drop_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.drop) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.drop; - - ing_pkt_attr_cmprsd_bits_g.svp_type = + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt = 1; + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt; + + ing_pkt_attr_cmprsd_bits_g[unit].drop = 1; + ing_pkt_attr_cmprsd_bits_g[unit].drop_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].drop_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].drop) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].drop; + + ing_pkt_attr_cmprsd_bits_g[unit].svp_type = (soc_feature(unit, soc_feature_multiple_split_horizon_group)) ? 3 : 1; - ing_pkt_attr_cmprsd_bits_g.svp_type_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.svp_type_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.svp_type) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.svp_type; + ing_pkt_attr_cmprsd_bits_g[unit].svp_type_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].svp_type_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].svp_type) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].svp_type; - ing_pkt_attr_cmprsd_bits_g.pkt_resolution = 6; - ing_pkt_attr_cmprsd_bits_g.pkt_resolution_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.pkt_resolution_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.pkt_resolution) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.pkt_resolution; + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution = 6; + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution; /* PACKET_RESOLUTION (10:5) + SVP_NETWORK_GROUP(4:2) + DROP (1:1) is * 10 bits but compresed to 8 bits PKT_RES_FN (8:1). Position of * following attributes asjust by -2. */ next_pos -= 2; - ing_pkt_attr_cmprsd_bits_g.tos_ecn = 2; - ing_pkt_attr_cmprsd_bits_g.tos_ecn_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.tos_ecn_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.tos_ecn; - - ing_pkt_attr_cmprsd_bits_g.tos_dscp = 6; - ing_pkt_attr_cmprsd_bits_g.tos_dscp_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.tos_dscp_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.tos_dscp; - - ing_pkt_attr_cmprsd_bits_g.ing_port = 8; - ing_pkt_attr_cmprsd_bits_g.ing_port_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.ing_port_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.ing_port) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.ing_port; - - ing_pkt_attr_cmprsd_bits_g.inner_dot1p = 3; - ing_pkt_attr_cmprsd_bits_g.inner_dot1p_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.inner_dot1p_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.inner_dot1p) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.inner_dot1p; - - ing_pkt_attr_cmprsd_bits_g.outer_dot1p = 3; - ing_pkt_attr_cmprsd_bits_g.outer_dot1p_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.outer_dot1p_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.outer_dot1p) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.outer_dot1p; - - ing_pkt_attr_cmprsd_bits_g.vlan_format = 2; - ing_pkt_attr_cmprsd_bits_g.vlan_format_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.vlan_format_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.vlan_format) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.vlan_format; - - ing_pkt_attr_cmprsd_bits_g.int_pri = 4; - ing_pkt_attr_cmprsd_bits_g.int_pri_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.int_pri_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.int_pri) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.int_pri; - - ing_pkt_attr_cmprsd_bits_g.ifp_cng = 2; - ing_pkt_attr_cmprsd_bits_g.ifp_cng_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.ifp_cng_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.ifp_cng) - 1; - next_pos += ing_pkt_attr_cmprsd_bits_g.ifp_cng; - - ing_pkt_attr_cmprsd_bits_g.cng = 2; - ing_pkt_attr_cmprsd_bits_g.cng_pos = next_pos; - ing_pkt_attr_cmprsd_bits_g.cng_mask = - (1<<ing_pkt_attr_cmprsd_bits_g.cng) - 1; + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn = 2; + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn; + + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp = 6; + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp; + + ing_pkt_attr_cmprsd_bits_g[unit].ing_port = 8; + ing_pkt_attr_cmprsd_bits_g[unit].ing_port_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].ing_port_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].ing_port) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].ing_port; + + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p = 3; + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p; + + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p = 3; + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p; + + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format = 2; + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].vlan_format) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].vlan_format; + + ing_pkt_attr_cmprsd_bits_g[unit].int_pri = 4; + ing_pkt_attr_cmprsd_bits_g[unit].int_pri_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].int_pri_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].int_pri) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].int_pri; + + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng = 2; + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng) - 1; + next_pos += ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng; + + ing_pkt_attr_cmprsd_bits_g[unit].cng = 2; + ing_pkt_attr_cmprsd_bits_g[unit].cng_pos = next_pos; + ing_pkt_attr_cmprsd_bits_g[unit].cng_mask = + (1<<ing_pkt_attr_cmprsd_bits_g[unit].cng) - 1; } #endif else { - egr_pkt_attr_cmprsd_bits_g = egr_pkt_attr_uncmprsd_bits_g; - ing_pkt_attr_cmprsd_bits_g = ing_pkt_attr_uncmprsd_bits_g; + egr_pkt_attr_cmprsd_bits_g[unit] = egr_pkt_attr_uncmprsd_bits_g[unit]; + ing_pkt_attr_cmprsd_bits_g[unit] = ing_pkt_attr_uncmprsd_bits_g[unit]; } } /* @@ -6255,8 +6259,8 @@ int _bcm_esw_stat_flex_compressed_attr_map_update( /* save port attributes */ if (pkt_attr_selectors->port != 0) { - /* egr_pkt_attr_cmprsd_bits_g.egr_port - * egr_pkt_attr_cmprsd_bits_g.ing_port */ + /* egr_pkt_attr_cmprsd_bits_g[unit].egr_port + * egr_pkt_attr_cmprsd_bits_g[unit].ing_port */ for (i = 0; i < BCM_STAT_FLEX_BIT_ARRAY_SIZE; i++) { cmprsd_attr_map->combine_value_array[bcmStatFlexAttrPort][i] = pkt_attr_selectors->combine_value_array[bcmStatFlexAttrPort][i]; @@ -7016,39 +7020,39 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( if (flex_attribute->cng_3 != 0) { total_bits += cng_3_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.cng_3: egr_pkt_attr_uncmprsd_bits_g.cng_3; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_3: egr_pkt_attr_uncmprsd_bits_g[unit].cng_3; } if (flex_attribute->phb_3 != 0) { total_bits += phb_3_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.phb_3: egr_pkt_attr_uncmprsd_bits_g.phb_3; + ing_pkt_attr_uncmprsd_bits_g[unit].phb_3: egr_pkt_attr_uncmprsd_bits_g[unit].phb_3; } if (flex_attribute->cng_2 != 0) { total_bits += cng_2_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.cng_2: egr_pkt_attr_uncmprsd_bits_g.cng_2; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_2: egr_pkt_attr_uncmprsd_bits_g[unit].cng_2; } if (flex_attribute->phb_2 != 0) { total_bits += phb_2_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.phb_2: egr_pkt_attr_uncmprsd_bits_g.phb_2; + ing_pkt_attr_uncmprsd_bits_g[unit].phb_2: egr_pkt_attr_uncmprsd_bits_g[unit].phb_2; } if (flex_attribute->cng_1 != 0) { total_bits += cng_1_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.cng_1: egr_pkt_attr_uncmprsd_bits_g.cng_1; + ing_pkt_attr_uncmprsd_bits_g[unit].cng_1: egr_pkt_attr_uncmprsd_bits_g[unit].cng_1; } if (flex_attribute->phb_1 != 0) { total_bits += phb_1_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.phb_1: egr_pkt_attr_uncmprsd_bits_g.phb_1; + ing_pkt_attr_uncmprsd_bits_g[unit].phb_1: egr_pkt_attr_uncmprsd_bits_g[unit].phb_1; } } #endif if (flex_attribute->pre_ifp_color != 0) { total_bits += cng_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.cng: egr_pkt_attr_uncmprsd_bits_g.cng; + ing_pkt_attr_uncmprsd_bits_g[unit].cng: egr_pkt_attr_uncmprsd_bits_g[unit].cng; } if (flex_attribute->ifp_color != 0) { if (direction == bcmStatFlexDirectionEgress) { @@ -7057,79 +7061,79 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } ing_attr->uncmprsd_attr_selectors.uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_IFP_CNG_ATTR_BITS; - total_bits += ifp_cng_bits = ing_pkt_attr_uncmprsd_bits_g.ifp_cng; + total_bits += ifp_cng_bits = ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng; } if (flex_attribute->int_pri != 0) { total_bits += int_pri_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.int_pri:egr_pkt_attr_uncmprsd_bits_g.int_pri; + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri:egr_pkt_attr_uncmprsd_bits_g[unit].int_pri; } if (flex_attribute->vlan_format != 0) { total_bits += vlan_format_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.vlan_format: - egr_pkt_attr_uncmprsd_bits_g.vlan_format; + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format: + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format; } if (flex_attribute->outer_dot1p != 0) { total_bits += outer_dot1p_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p: - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p; + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p: + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p; } if (flex_attribute->inner_dot1p != 0) { total_bits += inner_dot1p_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p: - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p; + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p: + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p; } if (flex_attribute->port != 0) { total_bits += port_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.ing_port: - egr_pkt_attr_uncmprsd_bits_g.egr_port; + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port: + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port; } if (flex_attribute->tos_dscp != 0) { total_bits += tos_dscp_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.tos_dscp: - egr_pkt_attr_uncmprsd_bits_g.tos_dscp; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp: + egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp; } if (flex_attribute->tos_ecn != 0) { total_bits += tos_ecn_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.tos_ecn: - egr_pkt_attr_uncmprsd_bits_g.tos_ecn; + ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn: + egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn; } if (flex_attribute->pkt_resolution != 0) { total_bits += pkt_resolution_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution: - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution; + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution: + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution; } if (flex_attribute->svp != 0) { total_bits += svp_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.svp_type: - egr_pkt_attr_uncmprsd_bits_g.svp_type; + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type: + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type; } if (flex_attribute->dvp != 0) { if (direction == bcmStatFlexDirectionIngress) { sal_free(attr); return BCM_E_PARAM; } - total_bits += dvp_bits = egr_pkt_attr_uncmprsd_bits_g.dvp_type; + total_bits += dvp_bits = egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type; } if (flex_attribute->drop != 0) { total_bits += drop_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.drop: - egr_pkt_attr_uncmprsd_bits_g.drop; + ing_pkt_attr_uncmprsd_bits_g[unit].drop: + egr_pkt_attr_uncmprsd_bits_g[unit].drop; } if (flex_attribute->ip_pkt != 0) { total_bits += ip_pkt_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.ip_pkt: - egr_pkt_attr_uncmprsd_bits_g.ip_pkt; + ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt: + egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt; } if (flex_attribute->udf != 0) { total_bits += flex_attribute->drop ? 7 : 8; @@ -7142,7 +7146,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( return BCM_E_PARAM; } total_bits += mmu_cos_bits = - egr_pkt_attr_uncmprsd_bits_g.mmu_cos; + egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos; } if (flex_attribute->uc_queueing != 0) { if (direction == bcmStatFlexDirectionIngress) { @@ -7150,7 +7154,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( return BCM_E_PARAM; } total_bits += uc_queueing_bits = - egr_pkt_attr_uncmprsd_bits_g.uc_queueing; + egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing; } if (flex_attribute->congestion_marked != 0) { if (direction == bcmStatFlexDirectionIngress) { @@ -7158,7 +7162,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( return BCM_E_PARAM; } total_bits += congestion_marked_bits = - egr_pkt_attr_uncmprsd_bits_g.congestion_marked; + egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked; } } #endif @@ -7169,15 +7173,15 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( return BCM_E_PARAM; } total_bits += tcp_flags_bits = - ing_pkt_attr_uncmprsd_bits_g.tcp_flags; + ing_pkt_attr_uncmprsd_bits_g[unit].tcp_flags; } } if (soc_feature(unit, soc_feature_flex_stat_int_cn_support)) { if (flex_attribute->int_cn != 0) { total_bits += int_cn_bits = (direction == bcmStatFlexDirectionIngress) ? - ing_pkt_attr_uncmprsd_bits_g.int_cn: - egr_pkt_attr_uncmprsd_bits_g.int_cn; + ing_pkt_attr_uncmprsd_bits_g[unit].int_cn: + egr_pkt_attr_uncmprsd_bits_g[unit].int_cn; } } @@ -8548,9 +8552,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( drop_bits + ip_pkt_bits ; if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_uncmprsd_bits_g.ing_port) - 1; + max_count= (1 << ing_pkt_attr_uncmprsd_bits_g[unit].ing_port) - 1; } else { - max_count= (1 << egr_pkt_attr_uncmprsd_bits_g.egr_port) - 1; + max_count= (1 << egr_pkt_attr_uncmprsd_bits_g[unit].egr_port) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -8574,9 +8578,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( drop_bits + ip_pkt_bits ; if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_uncmprsd_bits_g.tos_dscp) - 1; + max_count= (1 << ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp) - 1; } else { - max_count= (1 << egr_pkt_attr_uncmprsd_bits_g.tos_dscp) - 1; + max_count= (1 << egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -8598,9 +8602,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( drop_bits + ip_pkt_bits ; if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_uncmprsd_bits_g.tos_ecn) - 1; + max_count= (1 << ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn) - 1; } else { - max_count= (1 << egr_pkt_attr_uncmprsd_bits_g.tos_ecn) - 1; + max_count= (1 << egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -8881,9 +8885,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( drop_bits + ip_pkt_bits ; if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_uncmprsd_bits_g.svp_type)-1; + max_count= (1 << ing_pkt_attr_uncmprsd_bits_g[unit].svp_type)-1; } else { - max_count= (1 << egr_pkt_attr_uncmprsd_bits_g.svp_type)-1; + max_count= (1 << egr_pkt_attr_uncmprsd_bits_g[unit].svp_type)-1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -8901,7 +8905,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( (loop <= (BCM_STAT_FLEX_COUNTER_MAX_TOTAL_BITS - 2))) { shift_by_bits = drop_bits + ip_pkt_bits ; - max_count= (1 << egr_pkt_attr_uncmprsd_bits_g.dvp_type)-1; + max_count= (1 << egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type)-1; for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( flex_attribute->combine_attr_counter[counter]. @@ -9136,7 +9140,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } /* Egress Not Possbile */ /* - shift_by_bits = ing_pkt_attr_cmprsd_bits_g.int_pri; + shift_by_bits = ing_pkt_attr_cmprsd_bits_g[unit].int_pri; */ if (flex_attribute->combine_ifp_color_flags & BCM_STAT_FLEX_COLOR_GREEN) { @@ -9601,9 +9605,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( map_array[bcmStatGroupModeAttrPort][256]=0; } if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.ing_port) - 1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].ing_port) - 1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.egr_port) - 1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].egr_port) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -9637,9 +9641,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( map_array[bcmStatGroupModeAttrTosDscp][256]=0; } if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -9671,9 +9675,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( map_array[bcmStatGroupModeAttrTosEcn][256]=0; } if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -10362,9 +10366,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( map_array[bcmStatGroupModeAttrIngNetworkGroup][256]=0; } if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.svp_type)-1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].svp_type)-1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.svp_type)-1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].svp_type)-1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -10397,7 +10401,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( 0xFF,256); map_array[bcmStatGroupModeAttrEgrNetworkGroup][256]=0; } - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.dvp_type)-1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].dvp_type)-1; for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( flex_attribute->combine_value_array[bcmStatFlexAttrDvp], @@ -11218,7 +11222,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } /* Egress Not Possbile */ /* - shift_by_bits = ing_pkt_attr_cmprsd_bits_g.int_pri; + shift_by_bits = ing_pkt_attr_cmprsd_bits_g[unit].int_pri; */ if (flex_attribute->combine_attr_counter[counter]. ifp_color_flags & BCM_STAT_FLEX_COLOR_GREEN) { @@ -11678,9 +11682,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( map_array[bcmStatGroupModeAttrPort][256]=0; } if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.ing_port) - 1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].ing_port) - 1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.egr_port) - 1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].egr_port) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -11715,9 +11719,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( map_array[bcmStatGroupModeAttrTosDscp][256]=0; } if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -11750,9 +11754,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( map_array[bcmStatGroupModeAttrTosEcn][256]=0; } if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -12506,9 +12510,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( map_array[bcmStatGroupModeAttrIngNetworkGroup][256]=0; } if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.svp_type)-1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].svp_type)-1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.svp_type)-1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].svp_type)-1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -12542,7 +12546,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( 0xFF,256); map_array[bcmStatGroupModeAttrEgrNetworkGroup][256]=0; } - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.dvp_type)-1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].dvp_type)-1; for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( flex_attribute->combine_attr_counter[counter]. @@ -13018,7 +13022,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = pre_ifp_cng_mpls_3_cmprsd_max_bits; ing_cmprsd_pkt_attr_bits->cng_3 = max_bits; ing_cmprsd_pkt_attr_bits->cng_3_mask = (1 << max_bits) - 1; - ing_cmprsd_pkt_attr_bits->cng_3_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->cng_3_pos = ing_pkt_attr_cmprsd_bits_g[unit]. cng_3_pos; } if ((flex_attribute->phb_3 != 0) && @@ -13026,7 +13030,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = int_pri_mpls_3_cmprsd_max_bits; ing_cmprsd_pkt_attr_bits->phb_3 = max_bits; ing_cmprsd_pkt_attr_bits->phb_3_mask = (1 << max_bits) - 1; - ing_cmprsd_pkt_attr_bits->phb_3_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->phb_3_pos = ing_pkt_attr_cmprsd_bits_g[unit]. phb_3_pos; } @@ -13035,7 +13039,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = pre_ifp_cng_mpls_2_cmprsd_max_bits; ing_cmprsd_pkt_attr_bits->cng_2 = max_bits; ing_cmprsd_pkt_attr_bits->cng_2_mask = (1 << max_bits) - 1; - ing_cmprsd_pkt_attr_bits->cng_2_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->cng_2_pos = ing_pkt_attr_cmprsd_bits_g[unit]. cng_2_pos; } if ((flex_attribute->phb_2 != 0) && @@ -13043,7 +13047,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = int_pri_mpls_2_cmprsd_max_bits; ing_cmprsd_pkt_attr_bits->phb_2 = max_bits; ing_cmprsd_pkt_attr_bits->phb_2_mask = (1 << max_bits) - 1; - ing_cmprsd_pkt_attr_bits->phb_2_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->phb_2_pos = ing_pkt_attr_cmprsd_bits_g[unit]. phb_2_pos; } @@ -13052,7 +13056,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = pre_ifp_cng_mpls_1_cmprsd_max_bits; ing_cmprsd_pkt_attr_bits->cng_1 = max_bits; ing_cmprsd_pkt_attr_bits->cng_1_mask = (1 << max_bits) - 1; - ing_cmprsd_pkt_attr_bits->cng_1_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->cng_1_pos = ing_pkt_attr_cmprsd_bits_g[unit]. cng_1_pos; } if ((flex_attribute->phb_1 != 0) && @@ -13060,7 +13064,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = int_pri_mpls_1_cmprsd_max_bits; ing_cmprsd_pkt_attr_bits->phb_1 = max_bits; ing_cmprsd_pkt_attr_bits->phb_1_mask = (1 << max_bits) - 1; - ing_cmprsd_pkt_attr_bits->phb_1_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->phb_1_pos = ing_pkt_attr_cmprsd_bits_g[unit]. phb_1_pos; } @@ -13080,7 +13084,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = pre_ifp_cng_cmprsd_max_bits; ing_cmprsd_pkt_attr_bits->cng = max_bits; ing_cmprsd_pkt_attr_bits->cng_mask = (1 << max_bits) - 1; - ing_cmprsd_pkt_attr_bits->cng_pos = ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->cng_pos = ing_pkt_attr_cmprsd_bits_g[unit]. cng_pos; } if (map_array[bcmStatGroupModeAttrFieldIngressColor] != NULL) { @@ -13088,20 +13092,20 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( ing_cmprsd_pkt_attr_bits->ifp_cng = max_bits; ing_cmprsd_pkt_attr_bits->ifp_cng_mask = (1 << max_bits)-1; ing_cmprsd_pkt_attr_bits->ifp_cng_pos = - ing_pkt_attr_cmprsd_bits_g.ifp_cng_pos; + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng_pos; } if (map_array[bcmStatGroupModeAttrIntPri] != NULL) { max_bits = int_pri_cmprsd_max_bits; ing_cmprsd_pkt_attr_bits->int_pri = max_bits; ing_cmprsd_pkt_attr_bits->int_pri_mask = (1 << max_bits)-1; - ing_cmprsd_pkt_attr_bits->int_pri_pos= ing_pkt_attr_cmprsd_bits_g. + ing_cmprsd_pkt_attr_bits->int_pri_pos= ing_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; } - invalid_map_value = (1 << (ing_pkt_attr_cmprsd_bits_g.cng + - ing_pkt_attr_cmprsd_bits_g.ifp_cng + - ing_pkt_attr_cmprsd_bits_g.int_pri)) - 1; + invalid_map_value = (1 << (ing_pkt_attr_cmprsd_bits_g[unit].cng + + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng + + ing_pkt_attr_cmprsd_bits_g[unit].int_pri)) - 1; for (index0 =0; - index0 < (1 << ing_pkt_attr_cmprsd_bits_g.cng); + index0 < (1 << ing_pkt_attr_cmprsd_bits_g[unit].cng); index0++ ) { invalid_index0 = FALSE; if (map_array[bcmStatGroupModeAttrColor] != NULL) { @@ -13114,7 +13118,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } for (index1 =0; - index1 < (1 << ing_pkt_attr_cmprsd_bits_g.ifp_cng); + index1 < (1 << ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng); index1++ ) { invalid_index1 = FALSE; if (map_array[bcmStatGroupModeAttrFieldIngressColor] @@ -13130,7 +13134,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } for (index2 =0; - index2 < (1 << ing_pkt_attr_cmprsd_bits_g.int_pri); + index2 < (1 << ing_pkt_attr_cmprsd_bits_g[unit].int_pri); index2++ ) { invalid_index2 = FALSE; if (map_array[bcmStatGroupModeAttrIntPri] @@ -13147,10 +13151,10 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } final_index = (index0 << - (ing_pkt_attr_cmprsd_bits_g.ifp_cng + - ing_pkt_attr_cmprsd_bits_g.int_pri)) + + (ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng + + ing_pkt_attr_cmprsd_bits_g[unit].int_pri)) + (index1 << - (ing_pkt_attr_cmprsd_bits_g.int_pri)) + + (ing_pkt_attr_cmprsd_bits_g[unit].int_pri)) + (index2) ; if (invalid_index0 || invalid_index1 || invalid_index2) { @@ -13158,10 +13162,10 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } else { final_mapped_value = (mapped_value0 << - (ing_pkt_attr_cmprsd_bits_g.ifp_cng + - ing_pkt_attr_cmprsd_bits_g.int_pri)) + + (ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng + + ing_pkt_attr_cmprsd_bits_g[unit].int_pri)) + (mapped_value1 << - (ing_pkt_attr_cmprsd_bits_g.int_pri)) + + (ing_pkt_attr_cmprsd_bits_g[unit].int_pri)) + (mapped_value2) ; } ing_cmprsd_attr_selectors->pri_cnf_attr_map @@ -13186,7 +13190,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( ing_cmprsd_pkt_attr_bits->vlan_format_mask = (1 << max_bits) - 1; ing_cmprsd_pkt_attr_bits->vlan_format_pos = - ing_pkt_attr_cmprsd_bits_g. + ing_pkt_attr_cmprsd_bits_g[unit]. vlan_format_pos; } if (map_array[bcmStatGroupModeAttrOuterPri] != NULL) { @@ -13194,21 +13198,21 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( ing_cmprsd_pkt_attr_bits->outer_dot1p = max_bits; ing_cmprsd_pkt_attr_bits->outer_dot1p_mask=(1<<max_bits)-1; ing_cmprsd_pkt_attr_bits->outer_dot1p_pos = - ing_pkt_attr_cmprsd_bits_g.outer_dot1p_pos; + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos; } if (map_array[bcmStatGroupModeAttrInnerPri] != NULL) { max_bits = inner_dot1p_cmprsd_max_bits; ing_cmprsd_pkt_attr_bits->inner_dot1p = max_bits; ing_cmprsd_pkt_attr_bits->inner_dot1p_mask=(1<<max_bits)-1; ing_cmprsd_pkt_attr_bits->inner_dot1p_pos= - ing_pkt_attr_cmprsd_bits_g.inner_dot1p_pos; + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos; } invalid_map_value = (1 << - (ing_pkt_attr_cmprsd_bits_g.vlan_format + - ing_pkt_attr_cmprsd_bits_g.outer_dot1p + - ing_pkt_attr_cmprsd_bits_g.inner_dot1p)) - 1; + (ing_pkt_attr_cmprsd_bits_g[unit].vlan_format + + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p + + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p)) - 1; for (index0 =0; - index0 < (1 << ing_pkt_attr_cmprsd_bits_g.vlan_format); + index0 < (1 << ing_pkt_attr_cmprsd_bits_g[unit].vlan_format); index0++ ) { invalid_index0 = FALSE; if (map_array[bcmStatGroupModeAttrVlan] != NULL) { @@ -13223,7 +13227,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } for (index1 =0; - index1 < (1 << ing_pkt_attr_cmprsd_bits_g.outer_dot1p); + index1 < (1 << ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p); index1++ ) { invalid_index1 = FALSE; if (map_array[bcmStatGroupModeAttrOuterPri] @@ -13239,7 +13243,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } for (index2 =0; - index2 < (1 << ing_pkt_attr_cmprsd_bits_g.inner_dot1p); + index2 < (1 << ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p); index2++ ) { invalid_index2 = FALSE; if (map_array[bcmStatGroupModeAttrInnerPri] @@ -13256,10 +13260,10 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } final_index = (index0 << - (ing_pkt_attr_cmprsd_bits_g.outer_dot1p + - ing_pkt_attr_cmprsd_bits_g.inner_dot1p)) + + (ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p + + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p)) + (index1 << - (ing_pkt_attr_cmprsd_bits_g.inner_dot1p)) + + (ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p)) + (index2) ; if (invalid_index0 || invalid_index1 || invalid_index2) { @@ -13267,10 +13271,10 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } else { final_mapped_value = (mapped_value0 << - (ing_pkt_attr_cmprsd_bits_g.outer_dot1p + - ing_pkt_attr_cmprsd_bits_g.inner_dot1p)) + + (ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p + + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p)) + (mapped_value1 << - (ing_pkt_attr_cmprsd_bits_g.inner_dot1p)) + + (ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p)) + (mapped_value2) ; } ing_cmprsd_attr_selectors->pkt_pri_attr_map @@ -13291,10 +13295,10 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( ing_cmprsd_pkt_attr_bits->ing_port_mask = (1 << max_bits) - 1; ing_cmprsd_pkt_attr_bits->ing_port_pos = - ing_pkt_attr_cmprsd_bits_g.ing_port_pos; + ing_pkt_attr_cmprsd_bits_g[unit].ing_port_pos; } for (index0 =0; - index0 < (1 << ing_pkt_attr_cmprsd_bits_g.ing_port); + index0 < (1 << ing_pkt_attr_cmprsd_bits_g[unit].ing_port); index0++ ) { invalid_index0 = FALSE; if (map_array[bcmStatGroupModeAttrPort] != NULL) { @@ -13331,7 +13335,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( ing_cmprsd_pkt_attr_bits->tos_dscp_mask = (1 << max_bits) - 1; ing_cmprsd_pkt_attr_bits->tos_dscp_pos = - ing_pkt_attr_cmprsd_bits_g.tos_dscp_pos; + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos; } if (map_array[bcmStatGroupModeAttrTosEcn] != NULL) { max_bits = tos_ecn_cmprsd_max_bits; @@ -13339,13 +13343,13 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( ing_cmprsd_pkt_attr_bits->tos_ecn_mask = (1 << max_bits) - 1; ing_cmprsd_pkt_attr_bits->tos_ecn_pos = - ing_pkt_attr_cmprsd_bits_g.tos_ecn_pos; + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos; } invalid_map_value = (1 << - (ing_pkt_attr_cmprsd_bits_g.tos_dscp + - ing_pkt_attr_cmprsd_bits_g.tos_ecn)) - 1; + (ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp + + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn)) - 1; for (index0 =0; - index0 < (1 << ing_pkt_attr_cmprsd_bits_g.tos_dscp); + index0 < (1 << ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp); index0++ ) { invalid_index0 = FALSE; if (map_array[bcmStatGroupModeAttrTosDscp] != NULL) { @@ -13358,7 +13362,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } for (index1 =0; - index1 < (1 << ing_pkt_attr_cmprsd_bits_g.tos_ecn); + index1 < (1 << ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn); index1++ ) { invalid_index1 = FALSE; if (map_array[bcmStatGroupModeAttrTosEcn] != NULL) { @@ -13371,13 +13375,13 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } final_index = (index0 << - ing_pkt_attr_cmprsd_bits_g.tos_ecn) + + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn) + index1; if (invalid_index0 || invalid_index1) { final_mapped_value = invalid_map_value; } else { final_mapped_value = (mapped_value0 << - ing_pkt_attr_cmprsd_bits_g.tos_ecn) + + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn) + mapped_value1; } ing_cmprsd_attr_selectors->tos_attr_map[final_index] = @@ -13403,7 +13407,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( ing_cmprsd_pkt_attr_bits->pkt_resolution_mask = (1 << max_bits) - 1; ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = - ing_pkt_attr_cmprsd_bits_g. + ing_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; } } else @@ -13415,7 +13419,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( ing_cmprsd_pkt_attr_bits->pkt_resolution_mask = (1 << max_bits) - 1; ing_cmprsd_pkt_attr_bits->pkt_resolution_pos = - ing_pkt_attr_cmprsd_bits_g. + ing_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; } } @@ -13424,19 +13428,19 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( ing_cmprsd_pkt_attr_bits->svp_type = max_bits; ing_cmprsd_pkt_attr_bits->svp_type_mask=(1<<max_bits)-1; ing_cmprsd_pkt_attr_bits->svp_type_pos = - ing_pkt_attr_cmprsd_bits_g.svp_type_pos; + ing_pkt_attr_cmprsd_bits_g[unit].svp_type_pos; } if (map_array[bcmStatGroupModeAttrDrop] != NULL) { max_bits = drop_cmprsd_max_bits; ing_cmprsd_pkt_attr_bits->drop = max_bits; ing_cmprsd_pkt_attr_bits->drop_mask=(1<<max_bits)-1; ing_cmprsd_pkt_attr_bits->drop_pos= - ing_pkt_attr_cmprsd_bits_g.drop_pos; + ing_pkt_attr_cmprsd_bits_g[unit].drop_pos; } invalid_map_value = (1 << - (ing_pkt_attr_cmprsd_bits_g.pkt_resolution + - ing_pkt_attr_cmprsd_bits_g.svp_type + - ing_pkt_attr_cmprsd_bits_g.drop)) - 1; + (ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution + + ing_pkt_attr_cmprsd_bits_g[unit].svp_type + + ing_pkt_attr_cmprsd_bits_g[unit].drop)) - 1; /* * map_array of pkt_resolution is filled based on bit position @@ -13445,7 +13449,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( * bits in uncompressed mode to cover all position bit position. */ for (index0 =0; - index0 < (1 << ing_pkt_attr_uncmprsd_bits_g.pkt_resolution); + index0 < (1 << ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution); index0++ ) { invalid_index0 = FALSE; #ifdef BCM_KATANA2_SUPPORT @@ -13473,7 +13477,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } for (index1 =0; - index1 < (1 << ing_pkt_attr_cmprsd_bits_g.svp_type); + index1 < (1 << ing_pkt_attr_cmprsd_bits_g[unit].svp_type); index1++ ) { invalid_index1 = FALSE; if (map_array[bcmStatGroupModeAttrIngNetworkGroup] @@ -13489,7 +13493,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } for (index2 =0; - index2 < (1 << ing_pkt_attr_cmprsd_bits_g.drop); + index2 < (1 << ing_pkt_attr_cmprsd_bits_g[unit].drop); index2++ ) { invalid_index2 = FALSE; if (map_array[bcmStatGroupModeAttrDrop] @@ -13506,20 +13510,20 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } final_index = (index0 << - (ing_pkt_attr_cmprsd_bits_g.svp_type + - ing_pkt_attr_cmprsd_bits_g.drop)) + + (ing_pkt_attr_cmprsd_bits_g[unit].svp_type + + ing_pkt_attr_cmprsd_bits_g[unit].drop)) + (index1 << - (ing_pkt_attr_cmprsd_bits_g.drop)) + + (ing_pkt_attr_cmprsd_bits_g[unit].drop)) + (index2) ; if (invalid_index0 || invalid_index1 || invalid_index2) { final_mapped_value = invalid_map_value; } else { final_mapped_value = (mapped_value0 << - (ing_pkt_attr_cmprsd_bits_g.svp_type + - ing_pkt_attr_cmprsd_bits_g.drop)) + + (ing_pkt_attr_cmprsd_bits_g[unit].svp_type + + ing_pkt_attr_cmprsd_bits_g[unit].drop)) + (mapped_value1 << - (ing_pkt_attr_cmprsd_bits_g.drop)) + + (ing_pkt_attr_cmprsd_bits_g[unit].drop)) + (mapped_value2) ; } ing_cmprsd_attr_selectors->pkt_res_attr_map @@ -13539,7 +13543,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( ing_cmprsd_pkt_attr_bits->ip_pkt_mask = (1 << max_bits) - 1; ing_cmprsd_pkt_attr_bits->ip_pkt_pos = - ing_pkt_attr_cmprsd_bits_g.ip_pkt_pos; + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos; } } break; @@ -13556,7 +13560,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = pre_ifp_cng_mpls_3_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->cng_3 = max_bits; egr_cmprsd_pkt_attr_bits->cng_3_mask = (1 << max_bits) - 1; - egr_cmprsd_pkt_attr_bits->cng_3_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->cng_3_pos = egr_pkt_attr_cmprsd_bits_g[unit]. cng_3_pos; } if ((flex_attribute->phb_3 != 0) && @@ -13564,7 +13568,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = int_pri_mpls_3_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->phb_3 = max_bits; egr_cmprsd_pkt_attr_bits->phb_3_mask = (1 << max_bits) - 1; - egr_cmprsd_pkt_attr_bits->phb_3_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->phb_3_pos = egr_pkt_attr_cmprsd_bits_g[unit]. phb_3_pos; } @@ -13573,7 +13577,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = pre_ifp_cng_mpls_2_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->cng_2 = max_bits; egr_cmprsd_pkt_attr_bits->cng_2_mask = (1 << max_bits) - 1; - egr_cmprsd_pkt_attr_bits->cng_2_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->cng_2_pos = egr_pkt_attr_cmprsd_bits_g[unit]. cng_2_pos; } if ((flex_attribute->phb_2 != 0) && @@ -13581,7 +13585,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = int_pri_mpls_2_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->phb_2 = max_bits; egr_cmprsd_pkt_attr_bits->phb_2_mask = (1 << max_bits) - 1; - egr_cmprsd_pkt_attr_bits->phb_2_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->phb_2_pos = egr_pkt_attr_cmprsd_bits_g[unit]. phb_2_pos; } @@ -13590,7 +13594,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = pre_ifp_cng_mpls_1_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->cng_1 = max_bits; egr_cmprsd_pkt_attr_bits->cng_1_mask = (1 << max_bits) - 1; - egr_cmprsd_pkt_attr_bits->cng_1_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->cng_1_pos = egr_pkt_attr_cmprsd_bits_g[unit]. cng_1_pos; } if ((flex_attribute->phb_1 != 0) && @@ -13598,7 +13602,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = int_pri_mpls_1_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->phb_1 = max_bits; egr_cmprsd_pkt_attr_bits->phb_1_mask = (1 << max_bits) - 1; - egr_cmprsd_pkt_attr_bits->phb_1_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->phb_1_pos = egr_pkt_attr_cmprsd_bits_g[unit]. phb_1_pos; } @@ -13616,22 +13620,22 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = mmu_cos_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->mmu_cos = max_bits; egr_cmprsd_pkt_attr_bits->mmu_cos_mask = (1 << max_bits) - 1; - egr_cmprsd_pkt_attr_bits->mmu_cos_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->mmu_cos_pos = egr_pkt_attr_cmprsd_bits_g[unit]. mmu_cos_pos; } if (map_array[bcmStatGroupModeAttrQueueType] != NULL) { max_bits = uc_queueing_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->uc_queueing = max_bits; egr_cmprsd_pkt_attr_bits->uc_queueing_mask = (1 << max_bits) - 1; - egr_cmprsd_pkt_attr_bits->uc_queueing_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->uc_queueing_pos = egr_pkt_attr_cmprsd_bits_g[unit]. uc_queueing_pos; } - invalid_map_value = (1 << (egr_pkt_attr_cmprsd_bits_g.mmu_cos + - egr_pkt_attr_cmprsd_bits_g.uc_queueing)) - 1; + invalid_map_value = (1 << (egr_pkt_attr_cmprsd_bits_g[unit].mmu_cos + + egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing)) - 1; for (index0 = 0; - index0 < (1 << egr_pkt_attr_cmprsd_bits_g.mmu_cos); + index0 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].mmu_cos); index0++ ) { invalid_index0 = FALSE; if (map_array[bcmStatGroupModeAttrCos] != NULL) { @@ -13645,7 +13649,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } for (index1 = 0; - index1 < (1 << egr_pkt_attr_cmprsd_bits_g.uc_queueing); + index1 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing); index1++ ) { invalid_index1 = FALSE; if (map_array[bcmStatGroupModeAttrQueueType] != NULL) { @@ -13660,14 +13664,14 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } final_index = (index0 << - (egr_pkt_attr_cmprsd_bits_g.uc_queueing)) + + (egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing)) + (index1) ; if (invalid_index0 || invalid_index1) { final_mapped_value = invalid_map_value; } else { final_mapped_value = (mapped_value0 << - (egr_pkt_attr_cmprsd_bits_g.uc_queueing)) + + (egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing)) + (mapped_value1) ; } egr_cmprsd_attr_selectors->cos_uc_attr_map @@ -13686,7 +13690,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( egr_cmprsd_pkt_attr_bits->congestion_marked_mask = (1 << max_bits) - 1; egr_cmprsd_pkt_attr_bits->congestion_marked_pos = - egr_pkt_attr_cmprsd_bits_g.congestion_marked_pos; + egr_pkt_attr_cmprsd_bits_g[unit].congestion_marked_pos; } } } @@ -13701,20 +13705,20 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( max_bits = pre_ifp_cng_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->cng = max_bits; egr_cmprsd_pkt_attr_bits->cng_mask = (1 << max_bits) - 1; - egr_cmprsd_pkt_attr_bits->cng_pos = egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->cng_pos = egr_pkt_attr_cmprsd_bits_g[unit]. cng_pos; } if (map_array[bcmStatGroupModeAttrIntPri] != NULL) { max_bits = int_pri_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->int_pri = max_bits; egr_cmprsd_pkt_attr_bits->int_pri_mask=(1 << max_bits) - 1; - egr_cmprsd_pkt_attr_bits->int_pri_pos= egr_pkt_attr_cmprsd_bits_g. + egr_cmprsd_pkt_attr_bits->int_pri_pos= egr_pkt_attr_cmprsd_bits_g[unit]. int_pri_pos; } - invalid_map_value = (1 << (egr_pkt_attr_cmprsd_bits_g.cng + - egr_pkt_attr_cmprsd_bits_g.int_pri)) - 1; + invalid_map_value = (1 << (egr_pkt_attr_cmprsd_bits_g[unit].cng + + egr_pkt_attr_cmprsd_bits_g[unit].int_pri)) - 1; for (index0 =0; - index0 < (1 << egr_pkt_attr_cmprsd_bits_g.cng); + index0 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].cng); index0++ ) { invalid_index0 = FALSE; if (map_array[bcmStatGroupModeAttrColor] != NULL) { @@ -13728,7 +13732,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } for (index1 =0; - index1 < (1 << egr_pkt_attr_cmprsd_bits_g.int_pri); + index1 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].int_pri); index1++ ) { invalid_index1 = FALSE; if (map_array[bcmStatGroupModeAttrIntPri] != NULL) { @@ -13743,14 +13747,14 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } final_index = (index0 << - (egr_pkt_attr_cmprsd_bits_g.int_pri)) + + (egr_pkt_attr_cmprsd_bits_g[unit].int_pri)) + (index1) ; if (invalid_index0 || invalid_index1) { final_mapped_value = invalid_map_value; } else { final_mapped_value = (mapped_value0 << - (egr_pkt_attr_cmprsd_bits_g.int_pri)) + + (egr_pkt_attr_cmprsd_bits_g[unit].int_pri)) + (mapped_value1) ; } egr_cmprsd_attr_selectors->pri_cnf_attr_map @@ -13774,7 +13778,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( egr_cmprsd_pkt_attr_bits->vlan_format_mask = (1 << max_bits) - 1; egr_cmprsd_pkt_attr_bits->vlan_format_pos = - egr_pkt_attr_cmprsd_bits_g. + egr_pkt_attr_cmprsd_bits_g[unit]. vlan_format_pos; } if (map_array[bcmStatGroupModeAttrOuterPri] != NULL) { @@ -13782,21 +13786,21 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( egr_cmprsd_pkt_attr_bits->outer_dot1p = max_bits; egr_cmprsd_pkt_attr_bits->outer_dot1p_mask=(1<<max_bits)-1; egr_cmprsd_pkt_attr_bits->outer_dot1p_pos = - egr_pkt_attr_cmprsd_bits_g.outer_dot1p_pos; + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos; } if (map_array[bcmStatGroupModeAttrInnerPri] != NULL) { max_bits = inner_dot1p_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->inner_dot1p = max_bits; egr_cmprsd_pkt_attr_bits->inner_dot1p_mask=(1<<max_bits)-1; egr_cmprsd_pkt_attr_bits->inner_dot1p_pos= - egr_pkt_attr_cmprsd_bits_g.inner_dot1p_pos; + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos; } invalid_map_value = (1 << - (egr_pkt_attr_cmprsd_bits_g.vlan_format + - egr_pkt_attr_cmprsd_bits_g.outer_dot1p + - egr_pkt_attr_cmprsd_bits_g.inner_dot1p)) - 1; + (egr_pkt_attr_cmprsd_bits_g[unit].vlan_format + + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p + + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p)) - 1; for (index0 =0; - index0 < (1 << egr_pkt_attr_cmprsd_bits_g.vlan_format); + index0 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].vlan_format); index0++ ) { invalid_index0 = FALSE; if (map_array[bcmStatGroupModeAttrVlan] != NULL) { @@ -13809,7 +13813,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } for (index1 =0; - index1 < (1 << egr_pkt_attr_cmprsd_bits_g.outer_dot1p); + index1 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p); index1++ ) { invalid_index1 = FALSE; if (map_array[bcmStatGroupModeAttrOuterPri] @@ -13825,7 +13829,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } for (index2 =0; - index2 < (1 << egr_pkt_attr_cmprsd_bits_g.inner_dot1p); + index2 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p); index2++ ) { invalid_index2 = FALSE; if (map_array[bcmStatGroupModeAttrInnerPri] @@ -13845,10 +13849,10 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } final_index = (index0 << - (egr_pkt_attr_cmprsd_bits_g.outer_dot1p + - egr_pkt_attr_cmprsd_bits_g.inner_dot1p)) + + (egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p + + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p)) + (index1 << - (egr_pkt_attr_cmprsd_bits_g.inner_dot1p)) + + (egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p)) + (index2) ; if (invalid_index0 || invalid_index1 || invalid_index2) { @@ -13856,10 +13860,10 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } else { final_mapped_value = (mapped_value0 << - (egr_pkt_attr_cmprsd_bits_g.outer_dot1p + - egr_pkt_attr_cmprsd_bits_g.inner_dot1p)) + + (egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p + + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p)) + (mapped_value1 << - (egr_pkt_attr_cmprsd_bits_g.inner_dot1p)) + + (egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p)) + (mapped_value2) ; } egr_cmprsd_attr_selectors->pkt_pri_attr_map @@ -13880,10 +13884,10 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( egr_cmprsd_pkt_attr_bits->egr_port_mask = (1 << max_bits) - 1; egr_cmprsd_pkt_attr_bits->egr_port_pos = - egr_pkt_attr_cmprsd_bits_g.egr_port_pos; + egr_pkt_attr_cmprsd_bits_g[unit].egr_port_pos; } for (index0 =0; - index0 < (1 << egr_pkt_attr_cmprsd_bits_g.egr_port); + index0 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].egr_port); index0++ ) { invalid_index0 = FALSE; if (map_array[bcmStatGroupModeAttrPort] != NULL) { @@ -13919,7 +13923,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( egr_cmprsd_pkt_attr_bits->tos_dscp_mask = (1 << max_bits) - 1; egr_cmprsd_pkt_attr_bits->tos_dscp_pos = - egr_pkt_attr_cmprsd_bits_g.tos_dscp_pos; + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos; } if (map_array[bcmStatGroupModeAttrTosEcn] != NULL) { max_bits = tos_ecn_cmprsd_max_bits; @@ -13927,13 +13931,13 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( egr_cmprsd_pkt_attr_bits->tos_ecn_mask = (1 << max_bits) - 1; egr_cmprsd_pkt_attr_bits->tos_ecn_pos = - egr_pkt_attr_cmprsd_bits_g.tos_ecn_pos; + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos; } invalid_map_value = (1 << - (egr_pkt_attr_cmprsd_bits_g.tos_dscp + - egr_pkt_attr_cmprsd_bits_g.tos_ecn)) - 1; + (egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp + + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn)) - 1; for (index0 =0; - index0 < (1 << egr_pkt_attr_cmprsd_bits_g.tos_dscp); + index0 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp); index0++ ) { invalid_index0 = FALSE; if (map_array[bcmStatGroupModeAttrTosDscp] != NULL) { @@ -13945,7 +13949,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( [bcmStatGroupModeAttrTosDscp][index0]; } for (index1 =0; - index1 < (1 << egr_pkt_attr_cmprsd_bits_g.tos_ecn); + index1 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn); index1++ ) { invalid_index1 = FALSE; if (map_array[bcmStatGroupModeAttrTosEcn] != NULL) { @@ -13958,13 +13962,13 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } final_index = (index0 << - egr_pkt_attr_cmprsd_bits_g.tos_ecn) + + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn) + index1; if (invalid_index0 || invalid_index1) { final_mapped_value = invalid_map_value; } else { final_mapped_value = (mapped_value0 << - egr_pkt_attr_cmprsd_bits_g.tos_ecn) + + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn) + mapped_value1; } egr_cmprsd_attr_selectors->tos_attr_map[final_index] = @@ -13977,8 +13981,8 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( (flex_attribute->svp != 0) || (flex_attribute->dvp != 0) || (flex_attribute->drop != 0)) { - uint8 tmp_svp_type = egr_pkt_attr_cmprsd_bits_g.svp_type; - uint8 tmp_dvp_type = egr_pkt_attr_cmprsd_bits_g.dvp_type; + uint8 tmp_svp_type = egr_pkt_attr_cmprsd_bits_g[unit].svp_type; + uint8 tmp_dvp_type = egr_pkt_attr_cmprsd_bits_g[unit].dvp_type; mapped_value0 = 0; mapped_value1 = 0; mapped_value2 = 0; @@ -13995,7 +13999,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( egr_cmprsd_pkt_attr_bits->pkt_resolution_mask = (1 << max_bits) - 1; egr_cmprsd_pkt_attr_bits->pkt_resolution_pos = - egr_pkt_attr_cmprsd_bits_g. + egr_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; } } else @@ -14007,7 +14011,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( egr_cmprsd_pkt_attr_bits->pkt_resolution_mask = (1 << max_bits) - 1; egr_cmprsd_pkt_attr_bits->pkt_resolution_pos = - egr_pkt_attr_cmprsd_bits_g. + egr_pkt_attr_cmprsd_bits_g[unit]. pkt_resolution_pos; } } @@ -14016,27 +14020,27 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( egr_cmprsd_pkt_attr_bits->svp_type = max_bits; egr_cmprsd_pkt_attr_bits->svp_type_mask=(1<<max_bits)-1; egr_cmprsd_pkt_attr_bits->svp_type_pos = - egr_pkt_attr_cmprsd_bits_g.svp_type_pos; + egr_pkt_attr_cmprsd_bits_g[unit].svp_type_pos; } if (map_array[bcmStatGroupModeAttrEgrNetworkGroup] != NULL) { max_bits = dvp_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->dvp_type = max_bits; egr_cmprsd_pkt_attr_bits->dvp_type_mask=(1<<max_bits)-1; egr_cmprsd_pkt_attr_bits->dvp_type_pos = - egr_pkt_attr_cmprsd_bits_g.dvp_type_pos; + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type_pos; } if (map_array[bcmStatGroupModeAttrDrop] != NULL) { max_bits = drop_cmprsd_max_bits; egr_cmprsd_pkt_attr_bits->drop = max_bits; egr_cmprsd_pkt_attr_bits->drop_mask=(1<<max_bits)-1; egr_cmprsd_pkt_attr_bits->drop_pos= - egr_pkt_attr_cmprsd_bits_g.drop_pos; + egr_pkt_attr_cmprsd_bits_g[unit].drop_pos; } invalid_map_value = (1 << - (egr_pkt_attr_cmprsd_bits_g.pkt_resolution + - egr_pkt_attr_cmprsd_bits_g.svp_type + - egr_pkt_attr_cmprsd_bits_g.dvp_type + - egr_pkt_attr_cmprsd_bits_g.drop)) - 1; + (egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution + + egr_pkt_attr_cmprsd_bits_g[unit].svp_type + + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type + + egr_pkt_attr_cmprsd_bits_g[unit].drop)) - 1; #if defined(BCM_TRIDENT3_SUPPORT) if (SOC_IS_TRIDENT3X(unit) && @@ -14046,7 +14050,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } #endif for (index0 =0; - index0 < (1 << egr_pkt_attr_cmprsd_bits_g.pkt_resolution); + index0 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution); index0++ ) { invalid_index0 = FALSE; if (map_array[bcmStatGroupModeAttrPktType] != NULL) { @@ -14092,7 +14096,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( } } for (index3 =0; - index3 < (1 << egr_pkt_attr_cmprsd_bits_g.drop); + index3 < (1 << egr_pkt_attr_cmprsd_bits_g[unit].drop); index3++ ) { invalid_index3 = FALSE; if (map_array[bcmStatGroupModeAttrDrop] @@ -14111,12 +14115,12 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( (index0 << (tmp_svp_type + tmp_dvp_type + - egr_pkt_attr_cmprsd_bits_g.drop)) + + egr_pkt_attr_cmprsd_bits_g[unit].drop)) + (index1 << (tmp_dvp_type + - egr_pkt_attr_cmprsd_bits_g.drop)) + + egr_pkt_attr_cmprsd_bits_g[unit].drop)) + (index2 << - egr_pkt_attr_cmprsd_bits_g.drop) + + egr_pkt_attr_cmprsd_bits_g[unit].drop) + (index3) ; if (invalid_index0 || invalid_index1 || invalid_index2 || invalid_index3) { @@ -14126,12 +14130,12 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( (mapped_value0 << (tmp_svp_type + tmp_dvp_type + - egr_pkt_attr_cmprsd_bits_g.drop)) + + egr_pkt_attr_cmprsd_bits_g[unit].drop)) + (mapped_value1 << (tmp_dvp_type + - egr_pkt_attr_cmprsd_bits_g.drop)) + + egr_pkt_attr_cmprsd_bits_g[unit].drop)) + (mapped_value2 << - egr_pkt_attr_cmprsd_bits_g.drop) + + egr_pkt_attr_cmprsd_bits_g[unit].drop) + (mapped_value3) ; } egr_cmprsd_attr_selectors->pkt_res_attr_map @@ -14152,7 +14156,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( egr_cmprsd_pkt_attr_bits->ip_pkt_mask = (1 << max_bits) - 1; egr_cmprsd_pkt_attr_bits->ip_pkt_pos = - egr_pkt_attr_cmprsd_bits_g.ip_pkt_pos; + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos; } } break; @@ -15377,9 +15381,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( goto cleanup; } if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.ing_port) - 1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].ing_port) - 1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.egr_port) - 1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].egr_port) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -15404,9 +15408,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( drop_cmprsd_max_bits + ip_pkt_bits ; if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.tos_dscp) - 1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -15429,9 +15433,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( drop_cmprsd_max_bits + ip_pkt_bits ; if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.tos_ecn) - 1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn) - 1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -15999,9 +16003,9 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( drop_cmprsd_max_bits + ip_pkt_bits ; if (direction == bcmStatFlexDirectionIngress) { - max_count= (1 << ing_pkt_attr_cmprsd_bits_g.svp_type)-1; + max_count= (1 << ing_pkt_attr_cmprsd_bits_g[unit].svp_type)-1; } else { - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.svp_type)-1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].svp_type)-1; } for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( @@ -16020,7 +16024,7 @@ bcm_error_t _bcm_esw_stat_group_mode_associate_id( (loop <= (BCM_STAT_FLEX_COUNTER_MAX_TOTAL_BITS - 2))) { shift_by_bits = drop_cmprsd_max_bits + ip_pkt_bits ; - max_count= (1 << egr_pkt_attr_cmprsd_bits_g.dvp_type)-1; + max_count= (1 << egr_pkt_attr_cmprsd_bits_g[unit].dvp_type)-1; for (loop_index=0; loop_index <= max_count ; loop_index++) { if (BCM_STAT_FLEX_VALUE_GET( flex_attribute->combine_attr_counter[counter]. @@ -16677,9 +16681,9 @@ bcm_error_t _bcm_esw_stat_group_mode_fillup_values( case bcmStatGroupModeAttrPort: flex_attribute->port = 1; if (flags & BCM_STAT_GROUP_MODE_INGRESS) { - max_value = (1 << ing_pkt_attr_uncmprsd_bits_g.ing_port) - 1; + max_value = (1 << ing_pkt_attr_uncmprsd_bits_g[unit].ing_port) - 1; } else { - max_value = (1 << egr_pkt_attr_uncmprsd_bits_g.egr_port) - 1; + max_value = (1 << egr_pkt_attr_uncmprsd_bits_g[unit].egr_port) - 1; } switch(attr_value) { case BCM_STAT_GROUP_MODE_ATTR_ALL_VALUES: @@ -16707,9 +16711,9 @@ bcm_error_t _bcm_esw_stat_group_mode_fillup_values( case bcmStatGroupModeAttrTosDscp: flex_attribute->tos_dscp = 1; if (flags & BCM_STAT_GROUP_MODE_INGRESS) { - max_value = (1 << ing_pkt_attr_uncmprsd_bits_g.tos_dscp) - 1; + max_value = (1 << ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp) - 1; } else { - max_value = (1 << egr_pkt_attr_uncmprsd_bits_g.tos_dscp) - 1; + max_value = (1 << egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp) - 1; } switch(attr_value) { case BCM_STAT_GROUP_MODE_ATTR_ALL_VALUES: @@ -16737,9 +16741,9 @@ bcm_error_t _bcm_esw_stat_group_mode_fillup_values( case bcmStatGroupModeAttrTosEcn: flex_attribute->tos_ecn = 1; if (flags & BCM_STAT_GROUP_MODE_INGRESS) { - max_value = (1 << ing_pkt_attr_uncmprsd_bits_g.tos_ecn) - 1; + max_value = (1 << ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn) - 1; } else { - max_value = (1 << egr_pkt_attr_uncmprsd_bits_g.tos_ecn) - 1; + max_value = (1 << egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn) - 1; } switch(attr_value) { case BCM_STAT_GROUP_MODE_ATTR_ALL_VALUES: @@ -17192,9 +17196,9 @@ bcm_error_t _bcm_esw_stat_group_mode_fillup_values( case bcmStatGroupModeAttrIngNetworkGroup: flex_attribute->svp = 1; if (flags & BCM_STAT_GROUP_MODE_INGRESS) { - max_value = (1 << ing_pkt_attr_uncmprsd_bits_g.svp_type) - 1; + max_value = (1 << ing_pkt_attr_uncmprsd_bits_g[unit].svp_type) - 1; } else { - max_value = (1 << egr_pkt_attr_uncmprsd_bits_g.svp_type) - 1; + max_value = (1 << egr_pkt_attr_uncmprsd_bits_g[unit].svp_type) - 1; } switch(attr_value) { case BCM_STAT_GROUP_MODE_ATTR_ALL_VALUES: @@ -17227,7 +17231,7 @@ bcm_error_t _bcm_esw_stat_group_mode_fillup_values( "BAD PARAM(DVP) for Ingress Direction\n"))); return BCM_E_PARAM; } else { - max_value = (1 << egr_pkt_attr_uncmprsd_bits_g.dvp_type) - 1; + max_value = (1 << egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type) - 1; } switch(attr_value) { case BCM_STAT_GROUP_MODE_ATTR_ALL_VALUES: @@ -21613,7 +21617,7 @@ _bcm_stat_flex_counter_id_move (int unit, * counter_info_old parameter to ensure no loss of counter values. */ if (counter_info_new != NULL) { - if(compaction_info.in_progress == FALSE) { + if(compaction_info[unit].in_progress == FALSE) { new_pool_id = counter_info_new->ctr_tbl_pool_id; new_base_idx = counter_info_new->ctr_tbl_pool_base_idx; new_mode_id = counter_info_new->ctr_tbl_mode_id; @@ -21638,9 +21642,9 @@ _bcm_stat_flex_counter_id_move (int unit, stat_counter_id,new_base_idx)); if (rv == BCM_E_NONE) { counter_info_new->stat_counter_id = stat_counter_id; - compaction_info.base_idx = counter_info_old.ctr_tbl_pool_base_idx; - compaction_info.pool_number = counter_info_old.ctr_tbl_pool_id; - compaction_info.in_progress = TRUE; + compaction_info[unit].base_idx = counter_info_old.ctr_tbl_pool_base_idx; + compaction_info[unit].pool_number = counter_info_old.ctr_tbl_pool_id; + compaction_info[unit].in_progress = TRUE; } } else { rv = BCM_E_CONFIG; @@ -21657,7 +21661,7 @@ _bcm_stat_flex_counter_id_move (int unit, if (counter_info_new == NULL) { return BCM_E_PARAM; } - if (compaction_info.in_progress == FALSE) { + if (compaction_info[unit].in_progress == FALSE) { LOG_DEBUG(BSL_LS_BCM_FLEXCTR, (BSL_META_U(unit, "StatBaseIdxMove:Counter Move is not initiated\n"))); @@ -21678,9 +21682,9 @@ _bcm_stat_flex_counter_id_move (int unit, } rv = _bcm_stat_flex_counter_base_idx_move(unit, counter_info_old, counter_info_new); - compaction_info.base_idx = 0; - compaction_info.pool_number = 0; - compaction_info.in_progress = FALSE; + compaction_info[unit].base_idx = 0; + compaction_info[unit].pool_number = 0; + compaction_info[unit].in_progress = FALSE; break; default: rv = BCM_E_PARAM; diff --git a/sdk-6.5.16/src/bcm/esw/flexctr/flex_ctr_common.c b/sdk-6.5.16/src/bcm/esw/flexctr/flex_ctr_common.c @@ -5771,118 +5771,118 @@ _bcm_esw_stat_flex_init_uncmprsd_mode( for (uncmprsd_attr_bits_selector=0,index=0;index<8;index++) { if(selector_x_en_field_value[index] != 0) { if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.ip_pkt_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.ip_pkt_pos+ - ing_pkt_attr_uncmprsd_bits_g.ip_pkt-1))) { /* 0..0 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_pos+ + ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt-1))) { /* 0..0 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_IP_PKT_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.drop_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].drop_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.drop_pos+ - ing_pkt_attr_uncmprsd_bits_g.drop-1))) { /* 1..1 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].drop_pos+ + ing_pkt_attr_uncmprsd_bits_g[unit].drop-1))) { /* 1..1 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_DROP_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.svp_type_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.svp_type_pos+ - ing_pkt_attr_uncmprsd_bits_g.svp_type-1))) { /* 3..8 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos+ + ing_pkt_attr_uncmprsd_bits_g[unit].svp_type-1))) { /* 3..8 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_SVP_TYPE_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.pkt_resolution_pos+ - ing_pkt_attr_uncmprsd_bits_g.pkt_resolution-1))) { /* 3..8 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_pos+ + ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution-1))) { /* 3..8 */ uncmprsd_attr_bits_selector|= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_PKT_RESOLUTION_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.tos_dscp_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.tos_dscp_pos+ing_pkt_attr_uncmprsd_bits_g.tos_dscp-1))) { + (ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos+ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp-1))) { /* 9..16 */ uncmprsd_attr_bits_selector|= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_TOS_DSCP_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.tos_ecn_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.tos_ecn_pos+ing_pkt_attr_uncmprsd_bits_g.tos_ecn-1))) { + (ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos+ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn-1))) { /* 9..16 */ uncmprsd_attr_bits_selector|= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_TOS_ECN_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.ing_port_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.ing_port_pos+ - ing_pkt_attr_uncmprsd_bits_g.ing_port-1))) { /* 17 .. 22 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].ing_port_pos+ + ing_pkt_attr_uncmprsd_bits_g[unit].ing_port-1))) { /* 17 .. 22 */ uncmprsd_attr_bits_selector|= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_INGRESS_PORT_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos + - ing_pkt_attr_uncmprsd_bits_g.inner_dot1p - 1))) { /* 23..25 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p - 1))) { /* 23..25 */ uncmprsd_attr_bits_selector|= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_INNER_DOT1P_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos + - ing_pkt_attr_uncmprsd_bits_g.outer_dot1p - 1))) { /* 26..28 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p - 1))) { /* 26..28 */ uncmprsd_attr_bits_selector|= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_OUTER_DOT1P_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.vlan_format_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.vlan_format_pos + - ing_pkt_attr_uncmprsd_bits_g.vlan_format - 1))) { /* 29..30 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format - 1))) { /* 29..30 */ uncmprsd_attr_bits_selector|= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_VLAN_FORMAT_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.int_pri_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.int_pri_pos + - ing_pkt_attr_uncmprsd_bits_g.int_pri -1))) { /* 31 .. 34 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].int_pri -1))) { /* 31 .. 34 */ uncmprsd_attr_bits_selector|= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_INT_PRI_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.ifp_cng_pos ) && + ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng_pos ) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.ifp_cng_pos + - ing_pkt_attr_uncmprsd_bits_g.ifp_cng - 1))) { /* 35..36 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng - 1))) { /* 35..36 */ uncmprsd_attr_bits_selector|= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_IFP_CNG_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.cng_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].cng_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.cng_pos + - ing_pkt_attr_uncmprsd_bits_g.cng - 1))) { /* 37 .. 38 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].cng_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].cng - 1))) { /* 37 .. 38 */ uncmprsd_attr_bits_selector|= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_CNG_ATTR_BITS; continue; @@ -5890,55 +5890,55 @@ _bcm_esw_stat_flex_init_uncmprsd_mode( #ifdef BCM_APACHE_SUPPORT if (soc_feature(unit,soc_feature_flex_ctr_mpls_3_label_count)) { if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.phb_1_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].phb_1_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.phb_1_pos + - ing_pkt_attr_uncmprsd_bits_g.phb_1 - 1))) { /* 42 .. 45 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].phb_1_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].phb_1 - 1))) { /* 42 .. 45 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_PHB_1_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.cng_1_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].cng_1_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.cng_1_pos + - ing_pkt_attr_uncmprsd_bits_g.cng_1 - 1))) { /* 46 .. 47 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].cng_1_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].cng_1 - 1))) { /* 46 .. 47 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_CNG_1_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.phb_2_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].phb_2_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.phb_2_pos + - ing_pkt_attr_uncmprsd_bits_g.phb_2 - 1))) { /* 48 .. 51 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].phb_2_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].phb_2 - 1))) { /* 48 .. 51 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_PHB_2_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.cng_2_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].cng_2_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.cng_2_pos + - ing_pkt_attr_uncmprsd_bits_g.cng_2 - 1))) { /* 52 .. 53 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].cng_2_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].cng_2 - 1))) { /* 52 .. 53 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_CNG_2_ATTR_BITS; continue ; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.phb_3_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].phb_3_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.phb_3_pos + - ing_pkt_attr_uncmprsd_bits_g.phb_3 - 1))) { /* 54 .. 57 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].phb_3_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].phb_3 - 1))) { /* 54 .. 57 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_PHB_3_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_uncmprsd_bits_g.cng_3_pos) && + ing_pkt_attr_uncmprsd_bits_g[unit].cng_3_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_uncmprsd_bits_g.cng_3_pos + - ing_pkt_attr_uncmprsd_bits_g.cng_3 - 1))) { /* 58 .. 59 */ + (ing_pkt_attr_uncmprsd_bits_g[unit].cng_3_pos + + ing_pkt_attr_uncmprsd_bits_g[unit].cng_3 - 1))) { /* 58 .. 59 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_CNG_3_ATTR_BITS; continue; @@ -5964,118 +5964,118 @@ _bcm_esw_stat_flex_init_uncmprsd_mode( for (uncmprsd_attr_bits_selector=0,index=0;index<8;index++) { if(selector_x_en_field_value[index] != 0) { if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.ip_pkt_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.ip_pkt_pos+ - egr_pkt_attr_uncmprsd_bits_g.ip_pkt-1))) { /* 0..0 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_pos+ + egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt-1))) { /* 0..0 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_IP_PKT_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.drop_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].drop_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.drop_pos+ - egr_pkt_attr_uncmprsd_bits_g.drop-1))) { /* 1..1 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].drop_pos+ + egr_pkt_attr_uncmprsd_bits_g[unit].drop-1))) { /* 1..1 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_DROP_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.dvp_type_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.dvp_type_pos+ - egr_pkt_attr_uncmprsd_bits_g.dvp_type-1))) { /* 3..8 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type_pos+ + egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type-1))) { /* 3..8 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_DVP_TYPE_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.svp_type_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.svp_type_pos+ - egr_pkt_attr_uncmprsd_bits_g.svp_type-1))) { /* 3..8 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos+ + egr_pkt_attr_uncmprsd_bits_g[unit].svp_type-1))) { /* 3..8 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_SVP_TYPE_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.pkt_resolution_pos+ - egr_pkt_attr_uncmprsd_bits_g.pkt_resolution-1))) { /* 4..4 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution_pos+ + egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution-1))) { /* 4..4 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_PKT_RESOLUTION_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.tos_dscp_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.tos_dscp_pos+egr_pkt_attr_uncmprsd_bits_g.tos_dscp-1))) { + (egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos+egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp-1))) { /* 5..12 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_TOS_DSCP_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.tos_ecn_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.tos_ecn_pos+egr_pkt_attr_uncmprsd_bits_g.tos_ecn-1))) { + (egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos+egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn-1))) { /* 5..12 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_TOS_ECN_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.egr_port_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.egr_port_pos+ - egr_pkt_attr_uncmprsd_bits_g.egr_port-1))) { /* 13..18 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].egr_port_pos+ + egr_pkt_attr_uncmprsd_bits_g[unit].egr_port-1))) { /* 13..18 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_EGRESS_PORT_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos+ - egr_pkt_attr_uncmprsd_bits_g.inner_dot1p-1))) { /* 19..21*/ + (egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos+ + egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p-1))) { /* 19..21*/ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_INNER_DOT1P_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos+ - egr_pkt_attr_uncmprsd_bits_g.outer_dot1p-1))) { /* 22..24*/ + (egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos+ + egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p-1))) { /* 22..24*/ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_OUTER_DOT1P_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.vlan_format_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.vlan_format_pos+ - egr_pkt_attr_uncmprsd_bits_g.vlan_format-1))) { /* 25..26 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos+ + egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format-1))) { /* 25..26 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_VLAN_FORMAT_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.int_pri_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.int_pri_pos + - egr_pkt_attr_uncmprsd_bits_g.int_pri - 1))) { /* 27..30 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos + + egr_pkt_attr_uncmprsd_bits_g[unit].int_pri - 1))) { /* 27..30 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_INT_PRI_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.cng_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].cng_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.cng_pos + - egr_pkt_attr_uncmprsd_bits_g.cng - 1))) { /* 31..32 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].cng_pos + + egr_pkt_attr_uncmprsd_bits_g[unit].cng - 1))) { /* 31..32 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_CNG_ATTR_BITS; continue; @@ -6083,55 +6083,55 @@ _bcm_esw_stat_flex_init_uncmprsd_mode( #ifdef BCM_APACHE_SUPPORT if (soc_feature(unit,soc_feature_flex_ctr_mpls_3_label_count)) { if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.phb_1_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].phb_1_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.phb_1_pos + - egr_pkt_attr_uncmprsd_bits_g.phb_1 - 1))) { /* 42 .. 45 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].phb_1_pos + + egr_pkt_attr_uncmprsd_bits_g[unit].phb_1 - 1))) { /* 42 .. 45 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_PHB_1_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.cng_1_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].cng_1_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.cng_1_pos + - egr_pkt_attr_uncmprsd_bits_g.cng_1 - 1))) { /* 46 .. 47 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].cng_1_pos + + egr_pkt_attr_uncmprsd_bits_g[unit].cng_1 - 1))) { /* 46 .. 47 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_CNG_1_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.phb_2_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].phb_2_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.phb_2_pos + - egr_pkt_attr_uncmprsd_bits_g.phb_2 - 1))) { /* 48 .. 51 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].phb_2_pos + + egr_pkt_attr_uncmprsd_bits_g[unit].phb_2 - 1))) { /* 48 .. 51 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_PHB_2_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.cng_2_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].cng_2_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.cng_2_pos + - egr_pkt_attr_uncmprsd_bits_g.cng_2 - 1))) { /* 52 .. 53 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].cng_2_pos + + egr_pkt_attr_uncmprsd_bits_g[unit].cng_2 - 1))) { /* 52 .. 53 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_CNG_2_ATTR_BITS; continue ; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.phb_3_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].phb_3_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.phb_3_pos + - egr_pkt_attr_uncmprsd_bits_g.phb_3 - 1))) { /* 54 .. 57 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].phb_3_pos + + egr_pkt_attr_uncmprsd_bits_g[unit].phb_3 - 1))) { /* 54 .. 57 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_PHB_3_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.cng_3_pos) && + egr_pkt_attr_uncmprsd_bits_g[unit].cng_3_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.cng_3_pos + - egr_pkt_attr_uncmprsd_bits_g.cng_3 - 1))) { /* 58 .. 59 */ + (egr_pkt_attr_uncmprsd_bits_g[unit].cng_3_pos + + egr_pkt_attr_uncmprsd_bits_g[unit].cng_3 - 1))) { /* 58 .. 59 */ uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_CNG_3_ATTR_BITS; continue; @@ -6141,28 +6141,28 @@ _bcm_esw_stat_flex_init_uncmprsd_mode( #if defined(BCM_TOMAHAWK_SUPPORT) || defined(BCM_TRIDENT3_SUPPORT) if (soc_feature(unit, soc_feature_flex_stat_egr_queue_congestion_marked)) { if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.congestion_marked) && + egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.congestion_marked_pos + - egr_pkt_attr_uncmprsd_bits_g.congestion_marked - 1))) { + (egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked_pos + + egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked - 1))) { uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_CONGESTION_MARKED_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.uc_queueing) && + egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.uc_queueing_pos + - egr_pkt_attr_uncmprsd_bits_g.uc_queueing - 1))) { + (egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing_pos + + egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing - 1))) { uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_UC_QUEUEING_ATTR_BITS; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_uncmprsd_bits_g.mmu_cos) && + egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_uncmprsd_bits_g.mmu_cos_pos + - egr_pkt_attr_uncmprsd_bits_g.mmu_cos - 1))) { + (egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos_pos + + egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos - 1))) { uncmprsd_attr_bits_selector |= BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_MMU_COS_ATTR_BITS; continue; @@ -6239,118 +6239,118 @@ _bcm_esw_stat_flex_init_cmprsd_mode( for (index=0;index<8;index++) { if(selector_x_en_field_value[index] != 0) { if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.ip_pkt_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.ip_pkt_pos+ - ing_pkt_attr_cmprsd_bits_g.ip_pkt-1))) { /* 0..0 */ + (ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt-1))) { /* 0..0 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.ip_pkt = 1; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.drop_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].drop_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.drop_pos+ - ing_pkt_attr_cmprsd_bits_g.drop-1))) { /* 1..1 */ + (ing_pkt_attr_cmprsd_bits_g[unit].drop_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].drop-1))) { /* 1..1 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.drop = 1; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.svp_type_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].svp_type_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.svp_type_pos+ - ing_pkt_attr_cmprsd_bits_g.svp_type-1))) { /* 1..1 */ + (ing_pkt_attr_cmprsd_bits_g[unit].svp_type_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].svp_type-1))) { /* 1..1 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.svp_type = 1; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.pkt_resolution_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.pkt_resolution_pos+ - ing_pkt_attr_cmprsd_bits_g.pkt_resolution-1))) { /* 3..8 */ + (ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution-1))) { /* 3..8 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.pkt_resolution++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.tos_dscp_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.tos_dscp_pos+ - ing_pkt_attr_cmprsd_bits_g.tos_dscp-1))) { /* 9..16 */ + (ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp-1))) { /* 9..16 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.tos_dscp++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.tos_ecn_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.tos_ecn_pos+ - ing_pkt_attr_cmprsd_bits_g.tos_ecn-1))) { /* 9..16 */ + (ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn-1))) { /* 9..16 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.tos_ecn++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.ing_port_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].ing_port_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.ing_port_pos+ - ing_pkt_attr_cmprsd_bits_g.ing_port-1))) { /* 17..22 */ + (ing_pkt_attr_cmprsd_bits_g[unit].ing_port_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].ing_port-1))) { /* 17..22 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.ing_port++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.inner_dot1p_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.inner_dot1p_pos+ - ing_pkt_attr_cmprsd_bits_g.inner_dot1p-1))) { /* 23..25 */ + (ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p-1))) { /* 23..25 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.inner_dot1p++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.outer_dot1p_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.outer_dot1p_pos+ - ing_pkt_attr_cmprsd_bits_g.outer_dot1p-1))) { /* 26..28 */ + (ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p-1))) { /* 26..28 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.outer_dot1p++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.vlan_format_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.vlan_format_pos+ - ing_pkt_attr_cmprsd_bits_g.vlan_format-1))) { /* 29..30 */ + (ing_pkt_attr_cmprsd_bits_g[unit].vlan_format_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format-1))) { /* 29..30 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.vlan_format++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.int_pri_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].int_pri_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.int_pri_pos+ - ing_pkt_attr_cmprsd_bits_g.int_pri-1))) { /* 31..34 */ + (ing_pkt_attr_cmprsd_bits_g[unit].int_pri_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].int_pri-1))) { /* 31..34 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.int_pri++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.ifp_cng_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.ifp_cng_pos+ - ing_pkt_attr_cmprsd_bits_g.ifp_cng-1))) { /* 35..36 */ + (ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng-1))) { /* 35..36 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.ifp_cng++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.cng_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].cng_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.cng_pos+ - ing_pkt_attr_cmprsd_bits_g.cng-1))) { /* 37..38 */ + (ing_pkt_attr_cmprsd_bits_g[unit].cng_pos+ + ing_pkt_attr_cmprsd_bits_g[unit].cng-1))) { /* 37..38 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.cng++; continue; @@ -6358,55 +6358,55 @@ _bcm_esw_stat_flex_init_cmprsd_mode( #ifdef BCM_APACHE_SUPPORT if (soc_feature(unit,soc_feature_flex_ctr_mpls_3_label_count)) { if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.phb_1_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].phb_1_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.phb_1_pos + - ing_pkt_attr_cmprsd_bits_g.phb_1 - 1))) { /* 42 .. 45 */ + (ing_pkt_attr_cmprsd_bits_g[unit].phb_1_pos + + ing_pkt_attr_cmprsd_bits_g[unit].phb_1 - 1))) { /* 42 .. 45 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.phb_1++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.cng_1_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].cng_1_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.cng_1_pos + - ing_pkt_attr_cmprsd_bits_g.cng_1 - 1))) { /* 46 .. 47 */ + (ing_pkt_attr_cmprsd_bits_g[unit].cng_1_pos + + ing_pkt_attr_cmprsd_bits_g[unit].cng_1 - 1))) { /* 46 .. 47 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.cng_1++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.phb_2_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].phb_2_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.phb_2_pos + - ing_pkt_attr_cmprsd_bits_g.phb_2 - 1))) { /* 48 .. 51 */ + (ing_pkt_attr_cmprsd_bits_g[unit].phb_2_pos + + ing_pkt_attr_cmprsd_bits_g[unit].phb_2 - 1))) { /* 48 .. 51 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.phb_2++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.cng_2_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].cng_2_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.cng_2_pos + - ing_pkt_attr_cmprsd_bits_g.cng_2 - 1))) { /* 52 .. 53 */ + (ing_pkt_attr_cmprsd_bits_g[unit].cng_2_pos + + ing_pkt_attr_cmprsd_bits_g[unit].cng_2 - 1))) { /* 52 .. 53 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.cng_2++; continue ; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.phb_3_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].phb_3_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.phb_3_pos + - ing_pkt_attr_cmprsd_bits_g.phb_3 - 1))) { /* 54 .. 57 */ + (ing_pkt_attr_cmprsd_bits_g[unit].phb_3_pos + + ing_pkt_attr_cmprsd_bits_g[unit].phb_3 - 1))) { /* 54 .. 57 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.phb_3++; continue; } if ((selector_for_bit_x_field_value[index] >= - ing_pkt_attr_cmprsd_bits_g.cng_3_pos) && + ing_pkt_attr_cmprsd_bits_g[unit].cng_3_pos) && (selector_for_bit_x_field_value[index] <= - (ing_pkt_attr_cmprsd_bits_g.cng_3_pos + - ing_pkt_attr_cmprsd_bits_g.cng_3 - 1))) { /* 58 .. 59 */ + (ing_pkt_attr_cmprsd_bits_g[unit].cng_3_pos + + ing_pkt_attr_cmprsd_bits_g[unit].cng_3 - 1))) { /* 58 .. 59 */ flex_ingress_modes[unit][mode].ing_attr. cmprsd_attr_selectors.pkt_attr_bits.cng_3++; continue; @@ -6420,32 +6420,32 @@ _bcm_esw_stat_flex_init_cmprsd_mode( if (flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. pkt_attr_bits.cng_3 ) { flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. - cng_3 = ing_pkt_attr_cmprsd_bits_g.cng_3; + cng_3 = ing_pkt_attr_cmprsd_bits_g[unit].cng_3; } if (flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. pkt_attr_bits.phb_3 ) { flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. - phb_3 = ing_pkt_attr_cmprsd_bits_g.phb_3; + phb_3 = ing_pkt_attr_cmprsd_bits_g[unit].phb_3; } if (flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. pkt_attr_bits.cng_2 ) { flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. - cng_2 = ing_pkt_attr_cmprsd_bits_g.cng_2; + cng_2 = ing_pkt_attr_cmprsd_bits_g[unit].cng_2; } if (flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. pkt_attr_bits.phb_2 ) { flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. - phb_2 = ing_pkt_attr_cmprsd_bits_g.phb_2; + phb_2 = ing_pkt_attr_cmprsd_bits_g[unit].phb_2; } if (flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. pkt_attr_bits.cng_1 ) { flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. - cng_1 = ing_pkt_attr_cmprsd_bits_g.cng_1; + cng_1 = ing_pkt_attr_cmprsd_bits_g[unit].cng_1; } if (flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. pkt_attr_bits.phb_1 ) { flex_ingress_modes[unit][mode].ing_attr.cmprsd_attr_selectors. - phb_1 = ing_pkt_attr_cmprsd_bits_g.phb_1; + phb_1 = ing_pkt_attr_cmprsd_bits_g[unit].phb_1; } } #endif @@ -6755,119 +6755,119 @@ _bcm_esw_stat_flex_init_cmprsd_mode( for (index=0;index<8;index++) { if(selector_x_en_field_value[index] != 0) { if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.ip_pkt_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.ip_pkt_pos+ - egr_pkt_attr_cmprsd_bits_g.ip_pkt-1))) { /* 0..0 */ + (egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt-1))) { /* 0..0 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.ip_pkt = 1; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.drop_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].drop_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.drop_pos+ - egr_pkt_attr_cmprsd_bits_g.drop-1))) { /* 1..1 */ + (egr_pkt_attr_cmprsd_bits_g[unit].drop_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].drop-1))) { /* 1..1 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.drop = 1; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.dvp_type_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.dvp_type_pos+ - egr_pkt_attr_cmprsd_bits_g.dvp_type-1))) { /* 2..2 */ + (egr_pkt_attr_cmprsd_bits_g[unit].dvp_type_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type-1))) { /* 2..2 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.dvp_type = 1; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.svp_type_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].svp_type_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.svp_type_pos+ - egr_pkt_attr_cmprsd_bits_g.svp_type-1))) { /* 3..3 */ + (egr_pkt_attr_cmprsd_bits_g[unit].svp_type_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].svp_type-1))) { /* 3..3 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.svp_type = 1; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.pkt_resolution_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.pkt_resolution_pos+ - egr_pkt_attr_cmprsd_bits_g.pkt_resolution-1))) { /* 4..4 */ + (egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution-1))) { /* 4..4 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors. pkt_attr_bits.pkt_resolution = 1; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.tos_dscp_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.tos_dscp_pos+ - egr_pkt_attr_cmprsd_bits_g.tos_dscp-1))) { /* 5..12 */ + (egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp-1))) { /* 5..12 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.tos_dscp++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.tos_ecn_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.tos_ecn_pos+ - egr_pkt_attr_cmprsd_bits_g.tos_ecn-1))) { /* 5..12 */ + (egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn-1))) { /* 5..12 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.tos_ecn++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.egr_port_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].egr_port_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.egr_port_pos+ - egr_pkt_attr_cmprsd_bits_g.egr_port-1))) { /* 13..18 */ + (egr_pkt_attr_cmprsd_bits_g[unit].egr_port_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].egr_port-1))) { /* 13..18 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.egr_port++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.inner_dot1p_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.inner_dot1p_pos+ - egr_pkt_attr_cmprsd_bits_g.inner_dot1p-1))) { /* 19..21 */ + (egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p-1))) { /* 19..21 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.inner_dot1p++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.outer_dot1p_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.outer_dot1p_pos+ - egr_pkt_attr_cmprsd_bits_g.outer_dot1p-1))) { /* 22..24 */ + (egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p-1))) { /* 22..24 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.outer_dot1p++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.vlan_format_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.vlan_format_pos+ - egr_pkt_attr_cmprsd_bits_g.vlan_format-1))) { /* 25..26 */ + (egr_pkt_attr_cmprsd_bits_g[unit].vlan_format_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format-1))) { /* 25..26 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.vlan_format++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.int_pri_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].int_pri_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.int_pri_pos+ - egr_pkt_attr_cmprsd_bits_g.int_pri-1))) { /* 27..30 */ + (egr_pkt_attr_cmprsd_bits_g[unit].int_pri_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].int_pri-1))) { /* 27..30 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.int_pri++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.cng_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].cng_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.cng_pos+ - egr_pkt_attr_cmprsd_bits_g.cng-1))) { /* 31..32 */ + (egr_pkt_attr_cmprsd_bits_g[unit].cng_pos+ + egr_pkt_attr_cmprsd_bits_g[unit].cng-1))) { /* 31..32 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.cng++; continue; @@ -6875,55 +6875,55 @@ _bcm_esw_stat_flex_init_cmprsd_mode( #ifdef BCM_APACHE_SUPPORT if (soc_feature(unit,soc_feature_flex_ctr_mpls_3_label_count)) { if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.phb_1_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].phb_1_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.phb_1_pos + - egr_pkt_attr_cmprsd_bits_g.phb_1 - 1))) { /* 42 .. 45 */ + (egr_pkt_attr_cmprsd_bits_g[unit].phb_1_pos + + egr_pkt_attr_cmprsd_bits_g[unit].phb_1 - 1))) { /* 42 .. 45 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.phb_1++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.cng_1_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].cng_1_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.cng_1_pos + - egr_pkt_attr_cmprsd_bits_g.cng_1 - 1))) { /* 46 .. 47 */ + (egr_pkt_attr_cmprsd_bits_g[unit].cng_1_pos + + egr_pkt_attr_cmprsd_bits_g[unit].cng_1 - 1))) { /* 46 .. 47 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.cng_1++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.phb_2_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].phb_2_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.phb_2_pos + - egr_pkt_attr_cmprsd_bits_g.phb_2 - 1))) { /* 48 .. 51 */ + (egr_pkt_attr_cmprsd_bits_g[unit].phb_2_pos + + egr_pkt_attr_cmprsd_bits_g[unit].phb_2 - 1))) { /* 48 .. 51 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.phb_2++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.cng_2_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].cng_2_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.cng_2_pos + - egr_pkt_attr_cmprsd_bits_g.cng_2 - 1))) { /* 52 .. 53 */ + (egr_pkt_attr_cmprsd_bits_g[unit].cng_2_pos + + egr_pkt_attr_cmprsd_bits_g[unit].cng_2 - 1))) { /* 52 .. 53 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.cng_2++; continue ; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.phb_3_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].phb_3_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.phb_3_pos + - egr_pkt_attr_cmprsd_bits_g.phb_3 - 1))) { /* 54 .. 57 */ + (egr_pkt_attr_cmprsd_bits_g[unit].phb_3_pos + + egr_pkt_attr_cmprsd_bits_g[unit].phb_3 - 1))) { /* 54 .. 57 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.phb_3++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.cng_3_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].cng_3_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.cng_3_pos + - egr_pkt_attr_cmprsd_bits_g.cng_3 - 1))) { /* 58 .. 59 */ + (egr_pkt_attr_cmprsd_bits_g[unit].cng_3_pos + + egr_pkt_attr_cmprsd_bits_g[unit].cng_3 - 1))) { /* 58 .. 59 */ flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.cng_3++; continue; @@ -6933,28 +6933,28 @@ _bcm_esw_stat_flex_init_cmprsd_mode( #if defined(BCM_TOMAHAWK_SUPPORT) || defined(BCM_TRIDENT3_SUPPORT) if (soc_feature(unit, soc_feature_flex_stat_egr_queue_congestion_marked)) { if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.congestion_marked_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].congestion_marked_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.congestion_marked_pos + - egr_pkt_attr_cmprsd_bits_g.congestion_marked - 1))) { + (egr_pkt_attr_cmprsd_bits_g[unit].congestion_marked_pos + + egr_pkt_attr_cmprsd_bits_g[unit].congestion_marked - 1))) { flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.congestion_marked++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.uc_queueing_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.uc_queueing_pos + - egr_pkt_attr_cmprsd_bits_g.uc_queueing - 1))) { + (egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing_pos + + egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing - 1))) { flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.uc_queueing++; continue; } if ((selector_for_bit_x_field_value[index] >= - egr_pkt_attr_cmprsd_bits_g.mmu_cos_pos) && + egr_pkt_attr_cmprsd_bits_g[unit].mmu_cos_pos) && (selector_for_bit_x_field_value[index] <= - (egr_pkt_attr_cmprsd_bits_g.mmu_cos_pos + - egr_pkt_attr_cmprsd_bits_g.mmu_cos - 1))) { + (egr_pkt_attr_cmprsd_bits_g[unit].mmu_cos_pos + + egr_pkt_attr_cmprsd_bits_g[unit].mmu_cos - 1))) { flex_egress_modes[unit][mode].egr_attr. cmprsd_attr_selectors.pkt_attr_bits.mmu_cos++; continue; @@ -6969,32 +6969,32 @@ _bcm_esw_stat_flex_init_cmprsd_mode( if (flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. pkt_attr_bits.cng_3 ) { flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. - cng_3 = egr_pkt_attr_cmprsd_bits_g.cng_3; + cng_3 = egr_pkt_attr_cmprsd_bits_g[unit].cng_3; } if (flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. pkt_attr_bits.phb_3 ) { flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. - phb_3 = egr_pkt_attr_cmprsd_bits_g.phb_3; + phb_3 = egr_pkt_attr_cmprsd_bits_g[unit].phb_3; } if (flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. pkt_attr_bits.cng_2 ) { flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. - cng_2 = egr_pkt_attr_cmprsd_bits_g.cng_2; + cng_2 = egr_pkt_attr_cmprsd_bits_g[unit].cng_2; } if (flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. pkt_attr_bits.phb_2 ) { flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. - phb_2 = egr_pkt_attr_cmprsd_bits_g.phb_2; + phb_2 = egr_pkt_attr_cmprsd_bits_g[unit].phb_2; } if (flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. pkt_attr_bits.cng_1 ) { flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. - cng_1 = egr_pkt_attr_cmprsd_bits_g.cng_1; + cng_1 = egr_pkt_attr_cmprsd_bits_g[unit].cng_1; } if (flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. pkt_attr_bits.phb_1 ) { flex_egress_modes[unit][mode].egr_attr.cmprsd_attr_selectors. - phb_1 = egr_pkt_attr_cmprsd_bits_g.phb_1; + phb_1 = egr_pkt_attr_cmprsd_bits_g[unit].phb_1; } } #endif diff --git a/sdk-6.5.16/src/bcm/esw/flexctr/flex_ctr_egress.c b/sdk-6.5.16/src/bcm/esw/flexctr/flex_ctr_egress.c @@ -518,44 +518,44 @@ _bcm_esw_stat_flex_create_egress_uncompress_mode( if (soc_feature(unit,soc_feature_flex_ctr_mpls_3_label_count)) { if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_CNG_3_ATTR_BITS) { - pkt_attr_bits.cng_3 = egr_pkt_attr_uncmprsd_bits_g.cng_3; - pkt_attr_bits.cng_3_mask = egr_pkt_attr_uncmprsd_bits_g.cng_3_mask; - pkt_attr_bits.cng_3_pos = egr_pkt_attr_uncmprsd_bits_g.cng_3_pos; + pkt_attr_bits.cng_3 = egr_pkt_attr_uncmprsd_bits_g[unit].cng_3; + pkt_attr_bits.cng_3_mask = egr_pkt_attr_uncmprsd_bits_g[unit].cng_3_mask; + pkt_attr_bits.cng_3_pos = egr_pkt_attr_uncmprsd_bits_g[unit].cng_3_pos; total_egress_bits += pkt_attr_bits.cng_3; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_PHB_3_ATTR_BITS) { - pkt_attr_bits.phb_3 = egr_pkt_attr_uncmprsd_bits_g.cng_3; - pkt_attr_bits.phb_3_mask = egr_pkt_attr_uncmprsd_bits_g.phb_3_mask; - pkt_attr_bits.phb_3_pos = egr_pkt_attr_uncmprsd_bits_g.phb_3_pos; + pkt_attr_bits.phb_3 = egr_pkt_attr_uncmprsd_bits_g[unit].cng_3; + pkt_attr_bits.phb_3_mask = egr_pkt_attr_uncmprsd_bits_g[unit].phb_3_mask; + pkt_attr_bits.phb_3_pos = egr_pkt_attr_uncmprsd_bits_g[unit].phb_3_pos; total_egress_bits += pkt_attr_bits.phb_3; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_CNG_2_ATTR_BITS) { - pkt_attr_bits.cng_2 = egr_pkt_attr_uncmprsd_bits_g.cng_2; - pkt_attr_bits.cng_2_mask = egr_pkt_attr_uncmprsd_bits_g.cng_2_mask; - pkt_attr_bits.cng_2_pos = egr_pkt_attr_uncmprsd_bits_g.cng_2_pos; + pkt_attr_bits.cng_2 = egr_pkt_attr_uncmprsd_bits_g[unit].cng_2; + pkt_attr_bits.cng_2_mask = egr_pkt_attr_uncmprsd_bits_g[unit].cng_2_mask; + pkt_attr_bits.cng_2_pos = egr_pkt_attr_uncmprsd_bits_g[unit].cng_2_pos; total_egress_bits += pkt_attr_bits.cng_2; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_PHB_2_ATTR_BITS) { - pkt_attr_bits.phb_2 = egr_pkt_attr_uncmprsd_bits_g.cng_2; - pkt_attr_bits.phb_2_mask = egr_pkt_attr_uncmprsd_bits_g.phb_2_mask; - pkt_attr_bits.phb_2_pos = egr_pkt_attr_uncmprsd_bits_g.phb_2_pos; + pkt_attr_bits.phb_2 = egr_pkt_attr_uncmprsd_bits_g[unit].cng_2; + pkt_attr_bits.phb_2_mask = egr_pkt_attr_uncmprsd_bits_g[unit].phb_2_mask; + pkt_attr_bits.phb_2_pos = egr_pkt_attr_uncmprsd_bits_g[unit].phb_2_pos; total_egress_bits += pkt_attr_bits.phb_2; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_CNG_1_ATTR_BITS) { - pkt_attr_bits.cng_1 = egr_pkt_attr_uncmprsd_bits_g.cng_1; - pkt_attr_bits.cng_1_mask = egr_pkt_attr_uncmprsd_bits_g.cng_1_mask; - pkt_attr_bits.cng_1_pos = egr_pkt_attr_uncmprsd_bits_g.cng_1_pos; + pkt_attr_bits.cng_1 = egr_pkt_attr_uncmprsd_bits_g[unit].cng_1; + pkt_attr_bits.cng_1_mask = egr_pkt_attr_uncmprsd_bits_g[unit].cng_1_mask; + pkt_attr_bits.cng_1_pos = egr_pkt_attr_uncmprsd_bits_g[unit].cng_1_pos; total_egress_bits += pkt_attr_bits.cng_1; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_PHB_1_ATTR_BITS) { - pkt_attr_bits.phb_1 = egr_pkt_attr_uncmprsd_bits_g.cng_1; - pkt_attr_bits.phb_1_mask = egr_pkt_attr_uncmprsd_bits_g.phb_1_mask; - pkt_attr_bits.phb_1_pos = egr_pkt_attr_uncmprsd_bits_g.phb_1_pos; + pkt_attr_bits.phb_1 = egr_pkt_attr_uncmprsd_bits_g[unit].cng_1; + pkt_attr_bits.phb_1_mask = egr_pkt_attr_uncmprsd_bits_g[unit].phb_1_mask; + pkt_attr_bits.phb_1_pos = egr_pkt_attr_uncmprsd_bits_g[unit].phb_1_pos; total_egress_bits += pkt_attr_bits.phb_1; } } @@ -564,23 +564,23 @@ _bcm_esw_stat_flex_create_egress_uncompress_mode( if (soc_feature(unit, soc_feature_flex_stat_egr_queue_congestion_marked)) { if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_MMU_COS_ATTR_BITS) { - pkt_attr_bits.mmu_cos = egr_pkt_attr_uncmprsd_bits_g.mmu_cos; - pkt_attr_bits.mmu_cos_mask = egr_pkt_attr_uncmprsd_bits_g.mmu_cos_mask; - pkt_attr_bits.mmu_cos_pos = egr_pkt_attr_uncmprsd_bits_g.mmu_cos_pos; + pkt_attr_bits.mmu_cos = egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos; + pkt_attr_bits.mmu_cos_mask = egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos_mask; + pkt_attr_bits.mmu_cos_pos = egr_pkt_attr_uncmprsd_bits_g[unit].mmu_cos_pos; total_egress_bits += pkt_attr_bits.mmu_cos; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_UC_QUEUEING_ATTR_BITS) { - pkt_attr_bits.uc_queueing = egr_pkt_attr_uncmprsd_bits_g.uc_queueing; - pkt_attr_bits.uc_queueing_mask = egr_pkt_attr_uncmprsd_bits_g.uc_queueing_mask; - pkt_attr_bits.uc_queueing_pos = egr_pkt_attr_uncmprsd_bits_g.uc_queueing_pos; + pkt_attr_bits.uc_queueing = egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing; + pkt_attr_bits.uc_queueing_mask = egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing_mask; + pkt_attr_bits.uc_queueing_pos = egr_pkt_attr_uncmprsd_bits_g[unit].uc_queueing_pos; total_egress_bits += pkt_attr_bits.uc_queueing; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_CONGESTION_MARKED_ATTR_BITS) { - pkt_attr_bits.congestion_marked = egr_pkt_attr_uncmprsd_bits_g.congestion_marked; - pkt_attr_bits.congestion_marked_mask = egr_pkt_attr_uncmprsd_bits_g.congestion_marked_mask; - pkt_attr_bits.congestion_marked_pos = egr_pkt_attr_uncmprsd_bits_g.congestion_marked_pos; + pkt_attr_bits.congestion_marked = egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked; + pkt_attr_bits.congestion_marked_mask = egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked_mask; + pkt_attr_bits.congestion_marked_pos = egr_pkt_attr_uncmprsd_bits_g[unit].congestion_marked_pos; total_egress_bits += pkt_attr_bits.congestion_marked; } } @@ -588,104 +588,104 @@ _bcm_esw_stat_flex_create_egress_uncompress_mode( if (soc_feature(unit, soc_feature_flex_stat_int_cn_support)) { if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_INT_CN_ATTR_BITS) { - pkt_attr_bits.int_cn = egr_pkt_attr_uncmprsd_bits_g.int_cn; - pkt_attr_bits.int_cn_mask = egr_pkt_attr_uncmprsd_bits_g.int_cn_mask; - pkt_attr_bits.int_cn_pos = egr_pkt_attr_uncmprsd_bits_g.int_cn_pos; + pkt_attr_bits.int_cn = egr_pkt_attr_uncmprsd_bits_g[unit].int_cn; + pkt_attr_bits.int_cn_mask = egr_pkt_attr_uncmprsd_bits_g[unit].int_cn_mask; + pkt_attr_bits.int_cn_pos = egr_pkt_attr_uncmprsd_bits_g[unit].int_cn_pos; total_egress_bits += pkt_attr_bits.int_cn; } } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_CNG_ATTR_BITS) { - pkt_attr_bits.cng = egr_pkt_attr_uncmprsd_bits_g.cng; - pkt_attr_bits.cng_mask = egr_pkt_attr_uncmprsd_bits_g.cng_mask; - pkt_attr_bits.cng_pos = egr_pkt_attr_uncmprsd_bits_g.cng_pos; + pkt_attr_bits.cng = egr_pkt_attr_uncmprsd_bits_g[unit].cng; + pkt_attr_bits.cng_mask = egr_pkt_attr_uncmprsd_bits_g[unit].cng_mask; + pkt_attr_bits.cng_pos = egr_pkt_attr_uncmprsd_bits_g[unit].cng_pos; total_egress_bits +=pkt_attr_bits.cng; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_INT_PRI_ATTR_BITS) { - pkt_attr_bits.int_pri = egr_pkt_attr_uncmprsd_bits_g.int_pri ; - pkt_attr_bits.int_pri_mask = egr_pkt_attr_uncmprsd_bits_g.int_pri_mask; - pkt_attr_bits.int_pri_pos = egr_pkt_attr_uncmprsd_bits_g.int_pri_pos; + pkt_attr_bits.int_pri = egr_pkt_attr_uncmprsd_bits_g[unit].int_pri ; + pkt_attr_bits.int_pri_mask = egr_pkt_attr_uncmprsd_bits_g[unit].int_pri_mask; + pkt_attr_bits.int_pri_pos = egr_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos; total_egress_bits +=pkt_attr_bits.int_pri; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_VLAN_FORMAT_ATTR_BITS) { - pkt_attr_bits.vlan_format = egr_pkt_attr_uncmprsd_bits_g.vlan_format ; - pkt_attr_bits.vlan_format_mask= egr_pkt_attr_uncmprsd_bits_g.vlan_format_mask; - pkt_attr_bits.vlan_format_pos= egr_pkt_attr_uncmprsd_bits_g.vlan_format_pos; + pkt_attr_bits.vlan_format = egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format ; + pkt_attr_bits.vlan_format_mask= egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format_mask; + pkt_attr_bits.vlan_format_pos= egr_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos; total_egress_bits +=pkt_attr_bits.vlan_format; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_OUTER_DOT1P_ATTR_BITS) { - pkt_attr_bits.outer_dot1p = egr_pkt_attr_uncmprsd_bits_g.outer_dot1p; - pkt_attr_bits.outer_dot1p_mask= egr_pkt_attr_uncmprsd_bits_g.outer_dot1p_mask; - pkt_attr_bits.outer_dot1p_pos= egr_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos; + pkt_attr_bits.outer_dot1p = egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p; + pkt_attr_bits.outer_dot1p_mask= egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_mask; + pkt_attr_bits.outer_dot1p_pos= egr_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos; total_egress_bits +=pkt_attr_bits.outer_dot1p; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_INNER_DOT1P_ATTR_BITS) { - pkt_attr_bits.inner_dot1p = egr_pkt_attr_uncmprsd_bits_g.inner_dot1p ; - pkt_attr_bits.inner_dot1p_mask = egr_pkt_attr_uncmprsd_bits_g.inner_dot1p_mask; - pkt_attr_bits.inner_dot1p_pos = egr_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos; + pkt_attr_bits.inner_dot1p = egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p ; + pkt_attr_bits.inner_dot1p_mask = egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_mask; + pkt_attr_bits.inner_dot1p_pos = egr_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos; total_egress_bits +=pkt_attr_bits.inner_dot1p; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_EGRESS_PORT_ATTR_BITS) { - pkt_attr_bits.egr_port = egr_pkt_attr_uncmprsd_bits_g.egr_port ; - pkt_attr_bits.egr_port_mask = egr_pkt_attr_uncmprsd_bits_g.egr_port_mask; - pkt_attr_bits.egr_port_pos = egr_pkt_attr_uncmprsd_bits_g.egr_port_pos; + pkt_attr_bits.egr_port = egr_pkt_attr_uncmprsd_bits_g[unit].egr_port ; + pkt_attr_bits.egr_port_mask = egr_pkt_attr_uncmprsd_bits_g[unit].egr_port_mask; + pkt_attr_bits.egr_port_pos = egr_pkt_attr_uncmprsd_bits_g[unit].egr_port_pos; total_egress_bits +=pkt_attr_bits.egr_port; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_TOS_DSCP_ATTR_BITS) { - pkt_attr_bits.tos_dscp = egr_pkt_attr_uncmprsd_bits_g.tos_dscp; - pkt_attr_bits.tos_dscp_mask = egr_pkt_attr_uncmprsd_bits_g.tos_dscp_mask; - pkt_attr_bits.tos_dscp_pos = egr_pkt_attr_uncmprsd_bits_g.tos_dscp_pos; + pkt_attr_bits.tos_dscp = egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp; + pkt_attr_bits.tos_dscp_mask = egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_mask; + pkt_attr_bits.tos_dscp_pos = egr_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos; total_egress_bits +=pkt_attr_bits.tos_dscp; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_TOS_ECN_ATTR_BITS) { - pkt_attr_bits.tos_ecn = egr_pkt_attr_uncmprsd_bits_g.tos_ecn; - pkt_attr_bits.tos_ecn_mask = egr_pkt_attr_uncmprsd_bits_g.tos_ecn_mask; - pkt_attr_bits.tos_ecn_pos = egr_pkt_attr_uncmprsd_bits_g.tos_ecn_pos; + pkt_attr_bits.tos_ecn = egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn; + pkt_attr_bits.tos_ecn_mask = egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_mask; + pkt_attr_bits.tos_ecn_pos = egr_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos; total_egress_bits +=pkt_attr_bits.tos_ecn; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_PKT_RESOLUTION_ATTR_BITS) { - pkt_attr_bits.pkt_resolution = egr_pkt_attr_uncmprsd_bits_g.pkt_resolution ; - pkt_attr_bits.pkt_resolution_mask= egr_pkt_attr_uncmprsd_bits_g. + pkt_attr_bits.pkt_resolution = egr_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution ; + pkt_attr_bits.pkt_resolution_mask= egr_pkt_attr_uncmprsd_bits_g[unit]. pkt_resolution_mask; - pkt_attr_bits.pkt_resolution_pos= egr_pkt_attr_uncmprsd_bits_g. + pkt_attr_bits.pkt_resolution_pos= egr_pkt_attr_uncmprsd_bits_g[unit]. pkt_resolution_pos; total_egress_bits +=pkt_attr_bits.pkt_resolution; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_SVP_TYPE_ATTR_BITS) { - pkt_attr_bits.svp_type = egr_pkt_attr_uncmprsd_bits_g.svp_type ; - pkt_attr_bits.svp_type_mask = egr_pkt_attr_uncmprsd_bits_g.svp_type_mask ; - pkt_attr_bits.svp_type_pos = egr_pkt_attr_uncmprsd_bits_g.svp_type_pos ; + pkt_attr_bits.svp_type = egr_pkt_attr_uncmprsd_bits_g[unit].svp_type ; + pkt_attr_bits.svp_type_mask = egr_pkt_attr_uncmprsd_bits_g[unit].svp_type_mask ; + pkt_attr_bits.svp_type_pos = egr_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos ; total_egress_bits +=pkt_attr_bits.svp_type; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_DVP_TYPE_ATTR_BITS) { - pkt_attr_bits.dvp_type = egr_pkt_attr_uncmprsd_bits_g.dvp_type ; - pkt_attr_bits.dvp_type_mask = egr_pkt_attr_uncmprsd_bits_g.dvp_type_mask; - pkt_attr_bits.dvp_type_pos = egr_pkt_attr_uncmprsd_bits_g.dvp_type_pos; + pkt_attr_bits.dvp_type = egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type ; + pkt_attr_bits.dvp_type_mask = egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type_mask; + pkt_attr_bits.dvp_type_pos = egr_pkt_attr_uncmprsd_bits_g[unit].dvp_type_pos; total_egress_bits += pkt_attr_bits.dvp_type; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_DROP_ATTR_BITS) { - pkt_attr_bits.drop = egr_pkt_attr_uncmprsd_bits_g.drop; - pkt_attr_bits.drop_mask = egr_pkt_attr_uncmprsd_bits_g.drop_mask; - pkt_attr_bits.drop_pos = egr_pkt_attr_uncmprsd_bits_g.drop_pos; + pkt_attr_bits.drop = egr_pkt_attr_uncmprsd_bits_g[unit].drop; + pkt_attr_bits.drop_mask = egr_pkt_attr_uncmprsd_bits_g[unit].drop_mask; + pkt_attr_bits.drop_pos = egr_pkt_attr_uncmprsd_bits_g[unit].drop_pos; total_egress_bits +=pkt_attr_bits.drop; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_EGR_UNCOMPRESSED_USE_IP_PKT_ATTR_BITS) { - pkt_attr_bits.ip_pkt = egr_pkt_attr_uncmprsd_bits_g.ip_pkt ; - pkt_attr_bits.ip_pkt_mask = egr_pkt_attr_uncmprsd_bits_g.ip_pkt_mask ; - pkt_attr_bits.ip_pkt_pos = egr_pkt_attr_uncmprsd_bits_g.ip_pkt_pos ; + pkt_attr_bits.ip_pkt = egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt ; + pkt_attr_bits.ip_pkt_mask = egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_mask ; + pkt_attr_bits.ip_pkt_pos = egr_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_pos ; total_egress_bits +=pkt_attr_bits.ip_pkt; } if (total_egress_bits > 8) { @@ -963,7 +963,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( if (soc_feature(unit,soc_feature_flex_ctr_mpls_3_label_count)) { if (cmprsd_attr_selectors->pkt_attr_bits.cng_3 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.cng_3 > - egr_pkt_attr_cmprsd_bits_g.cng_3) { + egr_pkt_attr_cmprsd_bits_g[unit].cng_3) { return BCM_E_PARAM; } if (cng_3_map_used == 1) { @@ -973,7 +973,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.phb_3 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.phb_3 > - egr_pkt_attr_cmprsd_bits_g.phb_3) { + egr_pkt_attr_cmprsd_bits_g[unit].phb_3) { return BCM_E_PARAM; } if (phb_3_map_used == 1) { @@ -983,7 +983,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.cng_2 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.cng_2 > - egr_pkt_attr_cmprsd_bits_g.cng_2) { + egr_pkt_attr_cmprsd_bits_g[unit].cng_2) { return BCM_E_PARAM; } if (cng_2_map_used == 1) { @@ -993,7 +993,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.phb_2 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.phb_2 > - egr_pkt_attr_cmprsd_bits_g.phb_2) { + egr_pkt_attr_cmprsd_bits_g[unit].phb_2) { return BCM_E_PARAM; } if (phb_2_map_used == 1) { @@ -1003,7 +1003,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.cng_1 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.cng_1 > - egr_pkt_attr_cmprsd_bits_g.cng_1) { + egr_pkt_attr_cmprsd_bits_g[unit].cng_1) { return BCM_E_PARAM; } if (cng_1_map_used == 1) { @@ -1013,7 +1013,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.phb_1 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.phb_1 > - egr_pkt_attr_cmprsd_bits_g.phb_1) { + egr_pkt_attr_cmprsd_bits_g[unit].phb_1) { return BCM_E_PARAM; } if (phb_1_map_used == 1) { @@ -1027,7 +1027,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( if (soc_feature(unit, soc_feature_flex_stat_egr_queue_congestion_marked)) { if (cmprsd_attr_selectors->pkt_attr_bits.mmu_cos != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.mmu_cos > - egr_pkt_attr_cmprsd_bits_g.mmu_cos) { + egr_pkt_attr_cmprsd_bits_g[unit].mmu_cos) { return BCM_E_PARAM; } if (cos_uc_map_used == 1) { @@ -1037,7 +1037,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.uc_queueing != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.uc_queueing > - egr_pkt_attr_cmprsd_bits_g.uc_queueing) { + egr_pkt_attr_cmprsd_bits_g[unit].uc_queueing) { return BCM_E_PARAM; } if (cos_uc_map_used == 1) { @@ -1047,7 +1047,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.congestion_marked != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.congestion_marked> - egr_pkt_attr_cmprsd_bits_g.congestion_marked) { + egr_pkt_attr_cmprsd_bits_g[unit].congestion_marked) { return BCM_E_PARAM; } total_egress_bits += cmprsd_attr_selectors->pkt_attr_bits.congestion_marked; @@ -1057,7 +1057,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( if (cmprsd_attr_selectors->pkt_attr_bits.cng !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.cng > - egr_pkt_attr_cmprsd_bits_g.cng) { + egr_pkt_attr_cmprsd_bits_g[unit].cng) { return BCM_E_PARAM; } if (pri_cnf_map_used==1) { @@ -1067,7 +1067,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.int_pri !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.int_pri > - egr_pkt_attr_cmprsd_bits_g.int_pri) { + egr_pkt_attr_cmprsd_bits_g[unit].int_pri) { return BCM_E_PARAM; } if (pri_cnf_map_used==1) { @@ -1077,7 +1077,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.vlan_format !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.vlan_format > - egr_pkt_attr_cmprsd_bits_g.vlan_format) { + egr_pkt_attr_cmprsd_bits_g[unit].vlan_format) { return BCM_E_PARAM; } if (pkt_pri_map_used==1) { @@ -1087,7 +1087,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.outer_dot1p !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.outer_dot1p > - egr_pkt_attr_cmprsd_bits_g.outer_dot1p) { + egr_pkt_attr_cmprsd_bits_g[unit].outer_dot1p) { return BCM_E_PARAM; } if (pkt_pri_map_used==1) { @@ -1097,7 +1097,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.inner_dot1p !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.inner_dot1p > - egr_pkt_attr_cmprsd_bits_g.inner_dot1p) { + egr_pkt_attr_cmprsd_bits_g[unit].inner_dot1p) { return BCM_E_PARAM; } if (pkt_pri_map_used==1) { @@ -1107,7 +1107,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.egr_port !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.egr_port > - egr_pkt_attr_cmprsd_bits_g.egr_port) { + egr_pkt_attr_cmprsd_bits_g[unit].egr_port) { return BCM_E_PARAM; } if (port_map_used==1) { @@ -1117,7 +1117,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.tos_dscp !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.tos_dscp > - egr_pkt_attr_cmprsd_bits_g.tos_dscp) { + egr_pkt_attr_cmprsd_bits_g[unit].tos_dscp) { return BCM_E_PARAM; } if (tos_map_used==1) { @@ -1127,7 +1127,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.tos_ecn !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.tos_ecn > - egr_pkt_attr_cmprsd_bits_g.tos_ecn) { + egr_pkt_attr_cmprsd_bits_g[unit].tos_ecn) { return BCM_E_PARAM; } if (tos_map_used==1) { @@ -1137,7 +1137,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.pkt_resolution !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.pkt_resolution > - egr_pkt_attr_cmprsd_bits_g.pkt_resolution) { + egr_pkt_attr_cmprsd_bits_g[unit].pkt_resolution) { return BCM_E_PARAM; } if (pkt_res_map_used==1) { @@ -1148,7 +1148,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.svp_type !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.svp_type > - egr_pkt_attr_cmprsd_bits_g.svp_type) { + egr_pkt_attr_cmprsd_bits_g[unit].svp_type) { return BCM_E_PARAM; } if (pkt_res_map_used==1) { @@ -1158,7 +1158,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.dvp_type !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.dvp_type > - egr_pkt_attr_cmprsd_bits_g.dvp_type) { + egr_pkt_attr_cmprsd_bits_g[unit].dvp_type) { return BCM_E_PARAM; } if (pkt_res_map_used==1) { @@ -1168,7 +1168,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.drop !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.drop > - egr_pkt_attr_cmprsd_bits_g.drop) { + egr_pkt_attr_cmprsd_bits_g[unit].drop) { return BCM_E_PARAM; } if (pkt_res_map_used==1) { @@ -1178,7 +1178,7 @@ _bcm_esw_stat_flex_create_egress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.ip_pkt !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.ip_pkt > - egr_pkt_attr_cmprsd_bits_g.ip_pkt) { + egr_pkt_attr_cmprsd_bits_g[unit].ip_pkt) { return BCM_E_PARAM; } total_egress_bits +=cmprsd_attr_selectors->pkt_attr_bits.ip_pkt ; diff --git a/sdk-6.5.16/src/bcm/esw/flexctr/flex_ctr_ingress.c b/sdk-6.5.16/src/bcm/esw/flexctr/flex_ctr_ingress.c @@ -529,44 +529,44 @@ _bcm_esw_stat_flex_create_ingress_uncompress_mode( if (soc_feature(unit,soc_feature_flex_ctr_mpls_3_label_count)) { if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_CNG_3_ATTR_BITS) { - pkt_attr_bits.cng_3 = ing_pkt_attr_uncmprsd_bits_g.cng_3; - pkt_attr_bits.cng_3_mask = ing_pkt_attr_uncmprsd_bits_g.cng_3_mask; - pkt_attr_bits.cng_3_pos = ing_pkt_attr_uncmprsd_bits_g.cng_3_pos; + pkt_attr_bits.cng_3 = ing_pkt_attr_uncmprsd_bits_g[unit].cng_3; + pkt_attr_bits.cng_3_mask = ing_pkt_attr_uncmprsd_bits_g[unit].cng_3_mask; + pkt_attr_bits.cng_3_pos = ing_pkt_attr_uncmprsd_bits_g[unit].cng_3_pos; total_ingress_bits += pkt_attr_bits.cng_3; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_PHB_3_ATTR_BITS) { - pkt_attr_bits.phb_3 = ing_pkt_attr_uncmprsd_bits_g.phb_3; - pkt_attr_bits.phb_3_mask = ing_pkt_attr_uncmprsd_bits_g.phb_3_mask; - pkt_attr_bits.phb_3_pos = ing_pkt_attr_uncmprsd_bits_g.phb_3_pos; + pkt_attr_bits.phb_3 = ing_pkt_attr_uncmprsd_bits_g[unit].phb_3; + pkt_attr_bits.phb_3_mask = ing_pkt_attr_uncmprsd_bits_g[unit].phb_3_mask; + pkt_attr_bits.phb_3_pos = ing_pkt_attr_uncmprsd_bits_g[unit].phb_3_pos; total_ingress_bits += pkt_attr_bits.phb_3; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_CNG_2_ATTR_BITS) { - pkt_attr_bits.cng_2 = ing_pkt_attr_uncmprsd_bits_g.cng_2; - pkt_attr_bits.cng_2_mask = ing_pkt_attr_uncmprsd_bits_g.cng_2_mask; - pkt_attr_bits.cng_2_pos = ing_pkt_attr_uncmprsd_bits_g.cng_2_pos; + pkt_attr_bits.cng_2 = ing_pkt_attr_uncmprsd_bits_g[unit].cng_2; + pkt_attr_bits.cng_2_mask = ing_pkt_attr_uncmprsd_bits_g[unit].cng_2_mask; + pkt_attr_bits.cng_2_pos = ing_pkt_attr_uncmprsd_bits_g[unit].cng_2_pos; total_ingress_bits += pkt_attr_bits.cng_2; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_PHB_2_ATTR_BITS) { - pkt_attr_bits.phb_2 = ing_pkt_attr_uncmprsd_bits_g.phb_2; - pkt_attr_bits.phb_2_mask = ing_pkt_attr_uncmprsd_bits_g.phb_2_mask; - pkt_attr_bits.phb_2_pos = ing_pkt_attr_uncmprsd_bits_g.phb_2_pos; + pkt_attr_bits.phb_2 = ing_pkt_attr_uncmprsd_bits_g[unit].phb_2; + pkt_attr_bits.phb_2_mask = ing_pkt_attr_uncmprsd_bits_g[unit].phb_2_mask; + pkt_attr_bits.phb_2_pos = ing_pkt_attr_uncmprsd_bits_g[unit].phb_2_pos; total_ingress_bits += pkt_attr_bits.phb_2; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_CNG_1_ATTR_BITS) { - pkt_attr_bits.cng_1 = ing_pkt_attr_uncmprsd_bits_g.cng_1; - pkt_attr_bits.cng_1_mask = ing_pkt_attr_uncmprsd_bits_g.cng_1_mask; - pkt_attr_bits.cng_1_pos = ing_pkt_attr_uncmprsd_bits_g.cng_1_pos; + pkt_attr_bits.cng_1 = ing_pkt_attr_uncmprsd_bits_g[unit].cng_1; + pkt_attr_bits.cng_1_mask = ing_pkt_attr_uncmprsd_bits_g[unit].cng_1_mask; + pkt_attr_bits.cng_1_pos = ing_pkt_attr_uncmprsd_bits_g[unit].cng_1_pos; total_ingress_bits += pkt_attr_bits.cng_1; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_PHB_1_ATTR_BITS) { - pkt_attr_bits.phb_1 = ing_pkt_attr_uncmprsd_bits_g.phb_1; - pkt_attr_bits.phb_1_mask = ing_pkt_attr_uncmprsd_bits_g.phb_1_mask; - pkt_attr_bits.phb_1_pos = ing_pkt_attr_uncmprsd_bits_g.phb_1_pos; + pkt_attr_bits.phb_1 = ing_pkt_attr_uncmprsd_bits_g[unit].phb_1; + pkt_attr_bits.phb_1_mask = ing_pkt_attr_uncmprsd_bits_g[unit].phb_1_mask; + pkt_attr_bits.phb_1_pos = ing_pkt_attr_uncmprsd_bits_g[unit].phb_1_pos; total_ingress_bits += pkt_attr_bits.phb_1; } } @@ -574,113 +574,113 @@ _bcm_esw_stat_flex_create_ingress_uncompress_mode( if (soc_feature(unit, soc_feature_flex_stat_ing_tcp_flags_support)) { if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_TCP_FLAG_ATTR_BITS) { - pkt_attr_bits.tcp_flags = ing_pkt_attr_uncmprsd_bits_g.tcp_flags; - pkt_attr_bits.tcp_flags_mask = ing_pkt_attr_uncmprsd_bits_g.tcp_flags_mask; - pkt_attr_bits.tcp_flags_pos = ing_pkt_attr_uncmprsd_bits_g.tcp_flags_pos; + pkt_attr_bits.tcp_flags = ing_pkt_attr_uncmprsd_bits_g[unit].tcp_flags; + pkt_attr_bits.tcp_flags_mask = ing_pkt_attr_uncmprsd_bits_g[unit].tcp_flags_mask; + pkt_attr_bits.tcp_flags_pos = ing_pkt_attr_uncmprsd_bits_g[unit].tcp_flags_pos; total_ingress_bits += pkt_attr_bits.tcp_flags; } } if (soc_feature(unit, soc_feature_flex_stat_int_cn_support)) { if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_INT_CN_ATTR_BITS) { - pkt_attr_bits.int_cn = ing_pkt_attr_uncmprsd_bits_g.int_cn; - pkt_attr_bits.int_cn_mask = ing_pkt_attr_uncmprsd_bits_g.int_cn_mask; - pkt_attr_bits.int_cn_pos = ing_pkt_attr_uncmprsd_bits_g.int_cn_pos; + pkt_attr_bits.int_cn = ing_pkt_attr_uncmprsd_bits_g[unit].int_cn; + pkt_attr_bits.int_cn_mask = ing_pkt_attr_uncmprsd_bits_g[unit].int_cn_mask; + pkt_attr_bits.int_cn_pos = ing_pkt_attr_uncmprsd_bits_g[unit].int_cn_pos; total_ingress_bits += pkt_attr_bits.int_cn; } } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_CNG_ATTR_BITS) { - pkt_attr_bits.cng = ing_pkt_attr_uncmprsd_bits_g.cng; - pkt_attr_bits.cng_mask = ing_pkt_attr_uncmprsd_bits_g.cng_mask; - pkt_attr_bits.cng_pos = ing_pkt_attr_uncmprsd_bits_g.cng_pos; + pkt_attr_bits.cng = ing_pkt_attr_uncmprsd_bits_g[unit].cng; + pkt_attr_bits.cng_mask = ing_pkt_attr_uncmprsd_bits_g[unit].cng_mask; + pkt_attr_bits.cng_pos = ing_pkt_attr_uncmprsd_bits_g[unit].cng_pos; total_ingress_bits +=pkt_attr_bits.cng; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_IFP_CNG_ATTR_BITS) { - pkt_attr_bits.ifp_cng = ing_pkt_attr_uncmprsd_bits_g.ifp_cng ; - pkt_attr_bits.ifp_cng_mask = ing_pkt_attr_uncmprsd_bits_g.ifp_cng_mask; - pkt_attr_bits.ifp_cng_pos = ing_pkt_attr_uncmprsd_bits_g.ifp_cng_pos; + pkt_attr_bits.ifp_cng = ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng ; + pkt_attr_bits.ifp_cng_mask = ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng_mask; + pkt_attr_bits.ifp_cng_pos = ing_pkt_attr_uncmprsd_bits_g[unit].ifp_cng_pos; total_ingress_bits +=pkt_attr_bits.ifp_cng; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_INT_PRI_ATTR_BITS) { - pkt_attr_bits.int_pri = ing_pkt_attr_uncmprsd_bits_g.int_pri ; - pkt_attr_bits.int_pri_mask = ing_pkt_attr_uncmprsd_bits_g.int_pri_mask ; - pkt_attr_bits.int_pri_pos = ing_pkt_attr_uncmprsd_bits_g.int_pri_pos ; + pkt_attr_bits.int_pri = ing_pkt_attr_uncmprsd_bits_g[unit].int_pri ; + pkt_attr_bits.int_pri_mask = ing_pkt_attr_uncmprsd_bits_g[unit].int_pri_mask ; + pkt_attr_bits.int_pri_pos = ing_pkt_attr_uncmprsd_bits_g[unit].int_pri_pos ; total_ingress_bits +=pkt_attr_bits.int_pri; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_VLAN_FORMAT_ATTR_BITS) { - pkt_attr_bits.vlan_format = ing_pkt_attr_uncmprsd_bits_g.vlan_format ; - pkt_attr_bits.vlan_format_mask = ing_pkt_attr_uncmprsd_bits_g.vlan_format_mask ; - pkt_attr_bits.vlan_format_pos = ing_pkt_attr_uncmprsd_bits_g.vlan_format_pos ; + pkt_attr_bits.vlan_format = ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format ; + pkt_attr_bits.vlan_format_mask = ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format_mask ; + pkt_attr_bits.vlan_format_pos = ing_pkt_attr_uncmprsd_bits_g[unit].vlan_format_pos ; total_ingress_bits +=pkt_attr_bits.vlan_format; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_OUTER_DOT1P_ATTR_BITS) { - pkt_attr_bits.outer_dot1p = ing_pkt_attr_uncmprsd_bits_g.outer_dot1p; - pkt_attr_bits.outer_dot1p_mask = ing_pkt_attr_uncmprsd_bits_g.outer_dot1p_mask; - pkt_attr_bits.outer_dot1p_pos = ing_pkt_attr_uncmprsd_bits_g.outer_dot1p_pos; + pkt_attr_bits.outer_dot1p = ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p; + pkt_attr_bits.outer_dot1p_mask = ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_mask; + pkt_attr_bits.outer_dot1p_pos = ing_pkt_attr_uncmprsd_bits_g[unit].outer_dot1p_pos; total_ingress_bits +=pkt_attr_bits.outer_dot1p; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_INNER_DOT1P_ATTR_BITS) { - pkt_attr_bits.inner_dot1p = ing_pkt_attr_uncmprsd_bits_g.inner_dot1p ; - pkt_attr_bits.inner_dot1p_mask = ing_pkt_attr_uncmprsd_bits_g.inner_dot1p_mask ; - pkt_attr_bits.inner_dot1p_pos = ing_pkt_attr_uncmprsd_bits_g.inner_dot1p_pos ; + pkt_attr_bits.inner_dot1p = ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p ; + pkt_attr_bits.inner_dot1p_mask = ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_mask ; + pkt_attr_bits.inner_dot1p_pos = ing_pkt_attr_uncmprsd_bits_g[unit].inner_dot1p_pos ; total_ingress_bits += pkt_attr_bits.inner_dot1p; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_INGRESS_PORT_ATTR_BITS) { - pkt_attr_bits.ing_port = ing_pkt_attr_uncmprsd_bits_g.ing_port; - pkt_attr_bits.ing_port_mask = ing_pkt_attr_uncmprsd_bits_g.ing_port_mask ; - pkt_attr_bits.ing_port_pos = ing_pkt_attr_uncmprsd_bits_g.ing_port_pos ; + pkt_attr_bits.ing_port = ing_pkt_attr_uncmprsd_bits_g[unit].ing_port; + pkt_attr_bits.ing_port_mask = ing_pkt_attr_uncmprsd_bits_g[unit].ing_port_mask ; + pkt_attr_bits.ing_port_pos = ing_pkt_attr_uncmprsd_bits_g[unit].ing_port_pos ; total_ingress_bits += pkt_attr_bits.ing_port; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_TOS_DSCP_ATTR_BITS) { - pkt_attr_bits.tos_dscp = ing_pkt_attr_uncmprsd_bits_g.tos_dscp ; - pkt_attr_bits.tos_dscp_mask = ing_pkt_attr_uncmprsd_bits_g.tos_dscp_mask ; - pkt_attr_bits.tos_dscp_pos = ing_pkt_attr_uncmprsd_bits_g.tos_dscp_pos ; + pkt_attr_bits.tos_dscp = ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp ; + pkt_attr_bits.tos_dscp_mask = ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_mask ; + pkt_attr_bits.tos_dscp_pos = ing_pkt_attr_uncmprsd_bits_g[unit].tos_dscp_pos ; total_ingress_bits += pkt_attr_bits.tos_dscp; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_TOS_ECN_ATTR_BITS) { - pkt_attr_bits.tos_ecn = ing_pkt_attr_uncmprsd_bits_g.tos_ecn ; - pkt_attr_bits.tos_ecn_mask = ing_pkt_attr_uncmprsd_bits_g.tos_ecn_mask ; - pkt_attr_bits.tos_ecn_pos = ing_pkt_attr_uncmprsd_bits_g.tos_ecn_pos ; + pkt_attr_bits.tos_ecn = ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn ; + pkt_attr_bits.tos_ecn_mask = ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_mask ; + pkt_attr_bits.tos_ecn_pos = ing_pkt_attr_uncmprsd_bits_g[unit].tos_ecn_pos ; total_ingress_bits += pkt_attr_bits.tos_ecn; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_PKT_RESOLUTION_ATTR_BITS) { - pkt_attr_bits.pkt_resolution = ing_pkt_attr_uncmprsd_bits_g.pkt_resolution ; - pkt_attr_bits.pkt_resolution_mask= ing_pkt_attr_uncmprsd_bits_g. + pkt_attr_bits.pkt_resolution = ing_pkt_attr_uncmprsd_bits_g[unit].pkt_resolution ; + pkt_attr_bits.pkt_resolution_mask= ing_pkt_attr_uncmprsd_bits_g[unit]. pkt_resolution_mask; - pkt_attr_bits.pkt_resolution_pos= ing_pkt_attr_uncmprsd_bits_g. + pkt_attr_bits.pkt_resolution_pos= ing_pkt_attr_uncmprsd_bits_g[unit]. pkt_resolution_pos; total_ingress_bits +=pkt_attr_bits.pkt_resolution ; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_SVP_TYPE_ATTR_BITS) { - pkt_attr_bits.svp_type = ing_pkt_attr_uncmprsd_bits_g.svp_type ; - pkt_attr_bits.svp_type_mask = ing_pkt_attr_uncmprsd_bits_g.svp_type_mask ; - pkt_attr_bits.svp_type_pos = ing_pkt_attr_uncmprsd_bits_g.svp_type_pos ; + pkt_attr_bits.svp_type = ing_pkt_attr_uncmprsd_bits_g[unit].svp_type ; + pkt_attr_bits.svp_type_mask = ing_pkt_attr_uncmprsd_bits_g[unit].svp_type_mask ; + pkt_attr_bits.svp_type_pos = ing_pkt_attr_uncmprsd_bits_g[unit].svp_type_pos ; total_ingress_bits +=pkt_attr_bits.svp_type; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_DROP_ATTR_BITS) { - pkt_attr_bits.drop = ing_pkt_attr_uncmprsd_bits_g.drop ; - pkt_attr_bits.drop_mask = ing_pkt_attr_uncmprsd_bits_g.drop_mask ; - pkt_attr_bits.drop_pos = ing_pkt_attr_uncmprsd_bits_g.drop_pos ; + pkt_attr_bits.drop = ing_pkt_attr_uncmprsd_bits_g[unit].drop ; + pkt_attr_bits.drop_mask = ing_pkt_attr_uncmprsd_bits_g[unit].drop_mask ; + pkt_attr_bits.drop_pos = ing_pkt_attr_uncmprsd_bits_g[unit].drop_pos ; total_ingress_bits += pkt_attr_bits.drop; } if (uncmprsd_attr_selectors->uncmprsd_attr_bits_selector & BCM_STAT_FLEX_ING_UNCOMPRESSED_USE_IP_PKT_ATTR_BITS) { - pkt_attr_bits.ip_pkt = ing_pkt_attr_uncmprsd_bits_g.ip_pkt ; - pkt_attr_bits.ip_pkt_mask = ing_pkt_attr_uncmprsd_bits_g.ip_pkt_mask; - pkt_attr_bits.ip_pkt_pos = ing_pkt_attr_uncmprsd_bits_g.ip_pkt_pos; + pkt_attr_bits.ip_pkt = ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt ; + pkt_attr_bits.ip_pkt_mask = ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_mask; + pkt_attr_bits.ip_pkt_pos = ing_pkt_attr_uncmprsd_bits_g[unit].ip_pkt_pos; total_ingress_bits += pkt_attr_bits.ip_pkt; } if (total_ingress_bits > BCM_STAT_FLEX_MAX_PKT_ATTR_SEL_KEY_SIZE) { @@ -912,7 +912,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( &mode_l)); if (cmprsd_attr_selectors->pkt_attr_bits.cng !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.cng > - ing_pkt_attr_cmprsd_bits_g.cng) { + ing_pkt_attr_cmprsd_bits_g[unit].cng) { return BCM_E_PARAM; } if (pri_cnf_map_used==1) { @@ -924,7 +924,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( if (soc_feature(unit,soc_feature_flex_ctr_mpls_3_label_count)) { if (cmprsd_attr_selectors->pkt_attr_bits.cng_3 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.cng_3 > - ing_pkt_attr_cmprsd_bits_g.cng_3) { + ing_pkt_attr_cmprsd_bits_g[unit].cng_3) { return BCM_E_PARAM; } if (cng_3_map_used == 1) { @@ -934,7 +934,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.phb_3 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.phb_3 > - ing_pkt_attr_cmprsd_bits_g.phb_3) { + ing_pkt_attr_cmprsd_bits_g[unit].phb_3) { return BCM_E_PARAM; } if (phb_3_map_used == 1) { @@ -944,7 +944,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.cng_2 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.cng_2 > - ing_pkt_attr_cmprsd_bits_g.cng_2) { + ing_pkt_attr_cmprsd_bits_g[unit].cng_2) { return BCM_E_PARAM; } if (cng_2_map_used == 1) { @@ -954,7 +954,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.phb_2 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.phb_2 > - ing_pkt_attr_cmprsd_bits_g.phb_2) { + ing_pkt_attr_cmprsd_bits_g[unit].phb_2) { return BCM_E_PARAM; } if (phb_2_map_used == 1) { @@ -964,7 +964,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.cng_1 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.cng_1 > - ing_pkt_attr_cmprsd_bits_g.cng_1) { + ing_pkt_attr_cmprsd_bits_g[unit].cng_1) { return BCM_E_PARAM; } if (cng_1_map_used == 1) { @@ -974,7 +974,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.phb_1 != 0) { if (cmprsd_attr_selectors->pkt_attr_bits.phb_1 > - ing_pkt_attr_cmprsd_bits_g.phb_1) { + ing_pkt_attr_cmprsd_bits_g[unit].phb_1) { return BCM_E_PARAM; } if (phb_1_map_used == 1) { @@ -986,7 +986,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( #endif if (cmprsd_attr_selectors->pkt_attr_bits.ifp_cng !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.ifp_cng > - ing_pkt_attr_cmprsd_bits_g.ifp_cng) { + ing_pkt_attr_cmprsd_bits_g[unit].ifp_cng) { return BCM_E_PARAM; } if (pri_cnf_map_used==1) { @@ -996,7 +996,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.int_pri !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.int_pri > - ing_pkt_attr_cmprsd_bits_g.int_pri) { + ing_pkt_attr_cmprsd_bits_g[unit].int_pri) { return BCM_E_PARAM; } if (pri_cnf_map_used==1) { @@ -1006,7 +1006,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.vlan_format !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.vlan_format > - ing_pkt_attr_cmprsd_bits_g.vlan_format) { + ing_pkt_attr_cmprsd_bits_g[unit].vlan_format) { return BCM_E_PARAM; } if (pkt_pri_map_used==1) { @@ -1016,7 +1016,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.outer_dot1p !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.outer_dot1p > - ing_pkt_attr_cmprsd_bits_g.outer_dot1p) { + ing_pkt_attr_cmprsd_bits_g[unit].outer_dot1p) { return BCM_E_PARAM; } if (pkt_pri_map_used==1) { @@ -1026,7 +1026,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.inner_dot1p !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.inner_dot1p > - ing_pkt_attr_cmprsd_bits_g.inner_dot1p) { + ing_pkt_attr_cmprsd_bits_g[unit].inner_dot1p) { return BCM_E_PARAM; } if (pkt_pri_map_used==1) { @@ -1036,7 +1036,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.ing_port !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.ing_port > - ing_pkt_attr_cmprsd_bits_g.ing_port) { + ing_pkt_attr_cmprsd_bits_g[unit].ing_port) { return BCM_E_PARAM; } if (port_map_used==1) { @@ -1046,7 +1046,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.tos_dscp !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.tos_dscp > - ing_pkt_attr_cmprsd_bits_g.tos_dscp) { + ing_pkt_attr_cmprsd_bits_g[unit].tos_dscp) { return BCM_E_PARAM; } if (tos_map_used==1) { @@ -1056,7 +1056,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.tos_ecn !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.tos_ecn > - ing_pkt_attr_cmprsd_bits_g.tos_ecn) { + ing_pkt_attr_cmprsd_bits_g[unit].tos_ecn) { return BCM_E_PARAM; } if (tos_map_used==1) { @@ -1066,7 +1066,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.pkt_resolution !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.pkt_resolution > - ing_pkt_attr_cmprsd_bits_g.pkt_resolution) { + ing_pkt_attr_cmprsd_bits_g[unit].pkt_resolution) { return BCM_E_PARAM; } if (pkt_res_map_used==1) { @@ -1077,7 +1077,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.svp_type !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.svp_type > - ing_pkt_attr_cmprsd_bits_g.svp_type) { + ing_pkt_attr_cmprsd_bits_g[unit].svp_type) { return BCM_E_PARAM; } if (pkt_res_map_used==1) { @@ -1087,7 +1087,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.drop !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.drop > - ing_pkt_attr_cmprsd_bits_g.drop) { + ing_pkt_attr_cmprsd_bits_g[unit].drop) { return BCM_E_PARAM; } if (pkt_res_map_used==1) { @@ -1097,7 +1097,7 @@ _bcm_esw_stat_flex_create_ingress_compress_mode( } if (cmprsd_attr_selectors->pkt_attr_bits.ip_pkt !=0) { if (cmprsd_attr_selectors->pkt_attr_bits.ip_pkt > - ing_pkt_attr_cmprsd_bits_g.ip_pkt) { + ing_pkt_attr_cmprsd_bits_g[unit].ip_pkt) { return BCM_E_PARAM; } total_ingress_bits +=cmprsd_attr_selectors->pkt_attr_bits.ip_pkt ;