algo_multicast.h (1529B)
1 /* 2 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 3 * 4 * Copyright 2007-2020 Broadcom Inc. All rights reserved. 5 */ 6 /** \file bcm_int/dnx/algo/multicast/algo_multicast.h 7 * 8 * Reserved.$ 9 */ 10 11 #ifndef _DNX_ALGO_MULTICSAT_INCLUDED_ 12 /* 13 * { 14 */ 15 #define _DNX_ALGO_MULTICSAT_INCLUDED_ 16 17 #ifndef BCM_DNX_SUPPORT 18 #error "This file is for use by DNX (JR2) family only!" 19 #endif 20 21 #include <shared/shrextend/shrextend_debug.h> 22 #include <bcm_int/dnx/algo/res_mngr/res_mngr.h> 23 #include <bcm_int/dnx/algo/swstate/auto_generated/access/algo_failover_access.h> 24 25 /* 26 * MACROs 27 * { 28 */ 29 30 /* 31 * } 32 * MACROs 33 */ 34 /* 35 * enum for multicast MCDB allocation method 36 */ 37 typedef enum 38 { 39 /* 40 * At this method there is only one region and ingress and egress can use the entire range of MCDB 41 */ 42 DNX_ALGO_MULTICAST_ALLOCATION_BASIC 43 } dnx_algo_multicast_mcdb_allocation_method_e; 44 /* 45 * } 46 */ 47 48 /** 49 * \brief Wrapper function for allocation manager which creates tagged allocation bitmap for multicast mcdb. 50 * The tag will represent ingress or egress replication, 51 * Refer to resource_tag_bitmap_create() for details about the input parameters. 52 */ 53 shr_error_e dnx_algo_multicast_bitmap_create( 54 int unit, 55 uint32 module_id, 56 resource_tag_bitmap_t * res_tag_bitmap, 57 dnx_algo_res_create_data_t * create_data, 58 void *extra_arguments, 59 uint32 nof_elements, 60 uint32 alloc_flags); 61 62 #endif /*_DNX_ALGO_MULTICSAT_INCLUDED_*/