stack.h (1834B)
1 /* 2 * 3 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 * 5 * Copyright 2007-2020 Broadcom Inc. All rights reserved. 6 * 7 * File: stack.h 8 * Purpose: STACK internal definitions to the BCM library. 9 */ 10 11 #ifndef _BCM_INT_DPP_STACK_H_ 12 #define _BCM_INT_DPP_STACK_H_ 13 14 #include <soc/dpp/TMC/tmc_api_general.h> 15 16 #include <soc/dpp/PPD/ppd_api_lag.h> 17 18 /* Save internal sysport erp for each unit,device */ 19 #define _DPP_STACK_MAX_DEVICES (SOC_TMC_NOF_FAPS_IN_SYSTEM) 20 #define _DPP_STACK_MAX_DEVICES_UINT32_BITMAP ((_DPP_STACK_MAX_DEVICES / 32) + 1) 21 #define _DPP_STACK_MAX_TM_DOMAIN (SOC_TMC_NOF_TM_DOMAIN_IN_SYSTEM) 22 #define _DPP_STACK_MAX_TM_DOMAIN_UINT32_BITMAP ((_DPP_STACK_MAX_DEVICES / 32) + 1) 23 24 #define _DPP_STACK_INVALID_DOMAIN 0xffffffff 25 26 typedef struct bcm_dpp_wb_stack_config_s { 27 28 int _sysport_erp[_DPP_STACK_MAX_DEVICES]; 29 SHR_BITDCL _modid_to_domain[_DPP_STACK_MAX_TM_DOMAIN][_DPP_STACK_MAX_DEVICES_UINT32_BITMAP]; 30 SHR_BITDCL _domain_to_stk_trunk[_DPP_STACK_MAX_TM_DOMAIN][_DPP_STACK_MAX_TM_DOMAIN_UINT32_BITMAP]; 31 32 } bcm_dpp_stack_config_t; 33 34 /* 35 * Stacknig utility functions. 36 */ 37 int bcm_petra_stk_modid_to_domain_find(int unit, uint32 local_modid, uint32 sysport_modid, uint32 *is_same_domain); 38 int bcm_petra_stk_domain_modid_get(int unit, uint32 modid, int *domain); 39 40 extern int 41 _bcm_petra_stk_detach(int unit); 42 43 int 44 _bcm_petra_stk_trunk_domian_get( 45 int unit, 46 int domain, 47 int stk_trunk_max, 48 bcm_trunk_t *stk_trunk_array, 49 int *stk_trunk_count); 50 51 int 52 __bcm_petra_stk_trunk_domian_fec_map_update( 53 int unit, 54 int domain); 55 56 #ifdef BCM_WARM_BOOT_SUPPORT_SW_DUMP 57 extern int 58 _bcm_dpp_stk_sw_dump(int unit); 59 #endif /* BCM_WARM_BOOT_SUPPORT_SW_DUMP */ 60 61 #endif /* _BCM_INT_PETRA_STACK_H_ */