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

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_ */