ipmc.h (947B)
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 * IPMC Internal header 8 */ 9 10 #ifndef _BCM_INT_DPP_IPMC_H_ 11 #define _BCM_INT_DPP_IPMC_H_ 12 13 #include <sal/types.h> 14 #include <bcm/types.h> 15 16 typedef struct bcm_dpp_ipmc_info_s { 17 int init; /* TRUE if IPMC module has been initialized */ 18 } bcm_dpp_ipmc_info_t; 19 20 #define _BCM_DPP_IPMC_NOF_RPS(__unit) (SOC_DPP_CONFIG(__unit)->l3.nof_rps) 21 22 #define _BCM_DPP_IPMC_BIDIR_SUPPORTED(__unit) (_BCM_DPP_IPMC_NOF_RPS(__unit) > 0) 23 24 #define BCM_IPMC_SSM_DISABLE 0 25 #define BCM_IPMC_SSM_TCAM_LPM 1 26 #define BCM_IPMC_SSM_KAPS_LPM 2 27 #define BCM_IPMC_SSM_ELK_LPM 3 28 29 /* L3 module flags for soc layer */ 30 #define _BCM_IPMC_FLAGS_RAW_ENTRY (1 << 0) /* insert entry with raw payload */ 31 32 #endif /* _BCM_INT_DPP_IPMC_H_ */ 33