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

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