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

mbcm.c (4550B)


      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-2019 Broadcom Inc. All rights reserved.
      6  *
      7  * File:        mbcm.c
      8  */
      9 
     10 #include <soc/defs.h>
     11 #if defined(BCM_HELIX5_SUPPORT)
     12 #include <soc/debug.h>
     13 #include <bcm_int/esw/mbcm.h>
     14 #include <bcm_int/esw/firebolt.h>
     15 #include <bcm_int/esw/triumph.h>
     16 #include <bcm_int/esw/triumph2.h>
     17 #include <bcm_int/esw/trident.h>
     18 #include <bcm_int/esw/triumph3.h>
     19 #include <bcm_int/esw/trident2.h>
     20 #include <bcm_int/esw/tomahawk.h>
     21 #include <bcm_int/esw/trident2plus.h>
     22 #include <bcm_int/esw/trident3.h>
     23 #include <bcm_int/esw/helix5.h>
     24 #include <bcm/error.h>
     25 
     26 mbcm_functions_t mbcm_helix5_driver = {
     27     /*  L2 functions */
     28     bcm_tr_l2_init,
     29     bcm_tr_l2_term,
     30     bcm_tr_l2_addr_get,
     31     bcm_tr_l2_addr_add,
     32     bcm_tr_l2_addr_delete,
     33 
     34     bcm_tr_l2_conflict_get,
     35 
     36     /*  Port table related functions */
     37     bcm_td3_port_cfg_init,
     38     bcm_td3_port_cfg_get,
     39     bcm_td3_port_cfg_set,
     40 
     41     /*  VLAN functions */
     42     bcm_xgs3_vlan_init,
     43     bcm_xgs3_vlan_reload,
     44     bcm_xgs3_vlan_create,
     45     bcm_xgs3_vlan_destroy,
     46     bcm_xgs3_vlan_port_add,
     47     bcm_xgs3_vlan_port_remove,
     48     bcm_xgs3_vlan_port_get,
     49     bcm_xgs3_vlan_stg_get,
     50     bcm_xgs3_vlan_stg_set,
     51 
     52     /*  Trunking functions */
     53     bcm_trident_trunk_modify,
     54     bcm_trident_trunk_get,
     55     bcm_trident_trunk_destroy,
     56     bcm_trident_trunk_mcast_join,
     57 
     58     /*  Spanning Tree Group functions */
     59     bcm_xgs3_stg_stp_init,
     60     bcm_xgs3_stg_stp_get,
     61     bcm_xgs3_stg_stp_set,
     62 
     63     /*  Multicasting functions */
     64     bcm_xgs3_mcast_addr_add,
     65     bcm_xgs3_mcast_addr_remove,
     66     bcm_xgs3_mcast_port_get,
     67     bcm_xgs3_mcast_init,
     68     _bcm_xgs3_mcast_detach,
     69     bcm_xgs3_mcast_addr_add_w_l2mcindex,
     70     bcm_xgs3_mcast_addr_remove_w_l2mcindex,
     71     bcm_xgs3_mcast_port_add,
     72     bcm_xgs3_mcast_port_remove,
     73 
     74     /*  COSQ functions */
     75     bcm_hx5_cosq_init,
     76     bcm_td2_cosq_detach,
     77     bcm_hx5_cosq_config_set,
     78     bcm_hx5_cosq_config_get,
     79     bcm_hx5_cosq_mapping_set,
     80     bcm_hx5_cosq_mapping_get,
     81     bcm_hx5_cosq_port_sched_set,
     82     bcm_hx5_cosq_port_sched_get,
     83     bcm_hx5_cosq_sched_weight_max_get,
     84     bcm_hx5_cosq_port_bandwidth_set,
     85     bcm_hx5_cosq_port_bandwidth_get,
     86     bcm_hx5_cosq_discard_set,
     87     bcm_hx5_cosq_discard_get,
     88     bcm_hx5_cosq_discard_port_set,
     89     bcm_hx5_cosq_discard_port_get,
     90 #ifdef BCM_WARM_BOOT_SUPPORT
     91     bcm_hx5_cosq_sync,
     92 #endif /* BCM_WARM_BOOT_SUPPORT */
     93 #ifndef BCM_SW_STATE_DUMP_DISABLE
     94     bcm_hx5_cosq_sw_dump,
     95 #endif /* BCM_SW_STATE_DUMP_DISABLE */
     96 
     97     /*  Port meter functions */
     98     bcm_td3_port_rate_egress_set,
     99     bcm_td3_port_rate_egress_get,
    100 
    101 #ifdef INCLUDE_L3
    102     /* L3 functions */
    103     bcm_td2p_l3_tables_init,
    104     bcm_xgs3_l3_tables_cleanup,
    105     bcm_xgs3_l3_enable,
    106     bcm_xgs3_l3_intf_get,
    107     bcm_xgs3_l3_intf_get_by_vid,
    108     bcm_xgs3_l3_intf_create,
    109     bcm_xgs3_l3_intf_id_create,
    110     bcm_xgs3_l3_intf_lookup,
    111     bcm_xgs3_l3_intf_del,
    112     bcm_xgs3_l3_intf_del_all,
    113 
    114     bcm_xgs3_l3_get,
    115     bcm_xgs3_l3_add,
    116     bcm_xgs3_l3_del,
    117     bcm_xgs3_l3_del_prefix,
    118     bcm_xgs3_l3_del_intf,
    119     bcm_xgs3_l3_del_all,
    120     bcm_td2_l3_replace,
    121     bcm_xgs3_l3_age,
    122     bcm_xgs3_l3_ip4_traverse,
    123 
    124     bcm_xgs3_l3_get,
    125     bcm_xgs3_l3_add,
    126     bcm_xgs3_l3_del,
    127     bcm_xgs3_l3_del_prefix,
    128     bcm_td2_l3_replace,
    129     bcm_xgs3_l3_ip6_traverse,
    130 
    131     bcm_xgs3_defip_get,
    132     bcm_xgs3_defip_ecmp_get_all,
    133     bcm_xgs3_defip_add,
    134     bcm_xgs3_defip_del,
    135     bcm_xgs3_defip_del_intf,
    136     bcm_xgs3_defip_del_all,
    137     bcm_xgs3_defip_age,
    138     bcm_xgs3_defip_ip4_traverse,
    139 
    140     bcm_xgs3_defip_get,
    141     bcm_xgs3_defip_ecmp_get_all,
    142     bcm_xgs3_defip_add,
    143     bcm_xgs3_defip_del,
    144     bcm_xgs3_defip_ip6_traverse,
    145 
    146     bcm_td3_l3_conflict_get,
    147     bcm_xgs3_l3_info,
    148 
    149     bcm_tr_ipmc_init,
    150     bcm_tr_ipmc_detach,
    151     bcm_tr_ipmc_enable,
    152     bcm_tr_ipmc_src_port_check,
    153     bcm_tr_ipmc_src_ip_search,
    154     bcm_tr_ipmc_add,
    155     bcm_tr_ipmc_delete,
    156     bcm_tr_ipmc_delete_all,
    157     bcm_tr_ipmc_lookup,
    158     bcm_tr_ipmc_get,
    159     bcm_tr_ipmc_put,
    160     bcm_tr_ipmc_egress_port_get,
    161     bcm_tr_ipmc_egress_port_set,
    162     bcm_th_ipmc_repl_init,
    163     bcm_th_ipmc_repl_detach,
    164     bcm_th_ipmc_repl_get,
    165     bcm_th_ipmc_repl_add,
    166     bcm_th_ipmc_repl_delete,
    167     bcm_th_ipmc_repl_delete_all,
    168     bcm_th_ipmc_egress_intf_add,
    169     bcm_th_ipmc_egress_intf_delete,
    170     bcm_tr_ipmc_age,
    171     bcm_tr_ipmc_traverse,
    172 #endif /* INCLUDE_L3 */
    173 };
    174 #else  /* BCM_HELIX5_SUPPORT */
    175 int bcm_esw_helix5_mbcm_not_empty;
    176 #endif /* BCM_HELIX5_SUPPORT */