mbcm.c (4360B)
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_HB_GW_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/bradley.h> 16 #include <bcm/error.h> 17 18 mbcm_functions_t mbcm_bradley_driver = { 19 /* L2 functions */ 20 bcm_fb_l2_init, 21 bcm_fb_l2_term, 22 bcm_fb_l2_addr_get, 23 bcm_fb_l2_addr_add, 24 bcm_fb_l2_addr_delete, 25 bcm_fb_l2_conflict_get, 26 27 /* Port table related functions */ 28 bcm_xgs3_port_cfg_init, 29 bcm_xgs3_port_cfg_get, 30 bcm_xgs3_port_cfg_set, 31 32 /* VLAN functions */ 33 bcm_xgs3_vlan_init, 34 bcm_xgs3_vlan_reload, 35 bcm_xgs3_vlan_create, 36 bcm_xgs3_vlan_destroy, 37 bcm_xgs3_vlan_port_add, 38 bcm_xgs3_vlan_port_remove, 39 bcm_xgs3_vlan_port_get, 40 bcm_xgs3_vlan_stg_get, 41 bcm_xgs3_vlan_stg_set, 42 43 /* Firebolt trunking functions */ 44 bcm_xgs3_trunk_modify, 45 bcm_xgs3_trunk_get, 46 bcm_xgs3_trunk_destroy, 47 bcm_xgs3_trunk_mcast_join, 48 49 /* Spanning Tree Group functions */ 50 bcm_xgs3_stg_stp_init, 51 bcm_xgs3_stg_stp_get, 52 bcm_xgs3_stg_stp_set, 53 54 /* Multicasting functions */ 55 bcm_xgs3_mcast_addr_add, 56 bcm_xgs3_mcast_addr_remove, 57 bcm_xgs3_mcast_port_get, 58 bcm_xgs3_mcast_init, 59 _bcm_xgs3_mcast_detach, 60 bcm_xgs3_mcast_addr_add_w_l2mcindex, 61 bcm_xgs3_mcast_addr_remove_w_l2mcindex, 62 bcm_xgs3_mcast_port_add, 63 bcm_xgs3_mcast_port_remove, 64 65 /* COSQ functions */ 66 bcm_bradley_cosq_init, 67 bcm_bradley_cosq_detach, 68 bcm_bradley_cosq_config_set, 69 bcm_bradley_cosq_config_get, 70 bcm_bradley_cosq_mapping_set, 71 bcm_bradley_cosq_mapping_get, 72 bcm_bradley_cosq_port_sched_set, 73 bcm_bradley_cosq_port_sched_get, 74 bcm_bradley_cosq_sched_weight_max_get, 75 bcm_fb_cosq_port_bandwidth_set, 76 bcm_fb_cosq_port_bandwidth_get, 77 bcm_fb_cosq_discard_set, 78 bcm_fb_cosq_discard_get, 79 bcm_fb_cosq_discard_port_set, 80 bcm_fb_cosq_discard_port_get, 81 #ifdef BCM_WARM_BOOT_SUPPORT 82 bcm_bradley_cosq_sync, 83 #endif /* BCM_WARM_BOOT_SUPPORT */ 84 #ifndef BCM_SW_STATE_DUMP_DISABLE 85 bcm_bradley_cosq_sw_dump, 86 #endif /* BCM_SW_STATE_DUMP_DISABLE */ 87 88 /* Port meter functions */ 89 bcm_fb_port_rate_egress_set, 90 bcm_fb_port_rate_egress_get, 91 92 #ifdef INCLUDE_L3 93 /* L3 functions */ 94 bcm_xgs3_l3_tables_init, 95 bcm_xgs3_l3_tables_cleanup, 96 bcm_xgs3_l3_enable, 97 bcm_xgs3_l3_intf_get, 98 bcm_xgs3_l3_intf_get_by_vid, 99 bcm_xgs3_l3_intf_create, 100 bcm_xgs3_l3_intf_id_create, 101 bcm_xgs3_l3_intf_lookup, 102 bcm_xgs3_l3_intf_del, 103 bcm_xgs3_l3_intf_del_all, 104 105 bcm_xgs3_l3_get, 106 bcm_xgs3_l3_add, 107 bcm_xgs3_l3_del, 108 bcm_xgs3_l3_del_prefix, 109 bcm_xgs3_l3_del_intf, 110 bcm_xgs3_l3_del_all, 111 bcm_xgs3_l3_replace, 112 bcm_xgs3_l3_age, 113 bcm_xgs3_l3_ip4_traverse, 114 115 bcm_xgs3_l3_get, 116 bcm_xgs3_l3_add, 117 bcm_xgs3_l3_del, 118 bcm_xgs3_l3_del_prefix, 119 bcm_xgs3_l3_replace, 120 bcm_xgs3_l3_ip6_traverse, 121 122 bcm_xgs3_defip_get, 123 bcm_xgs3_defip_ecmp_get_all, 124 bcm_xgs3_defip_add, 125 bcm_xgs3_defip_del, 126 bcm_xgs3_defip_del_intf, 127 bcm_xgs3_defip_del_all, 128 bcm_xgs3_defip_age, 129 bcm_xgs3_defip_ip4_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_ip6_traverse, 136 137 bcm_xgs3_l3_conflict_get, 138 bcm_xgs3_l3_info, 139 140 bcm_fb_er_ipmc_init, 141 bcm_fb_er_ipmc_detach, 142 bcm_fb_er_ipmc_enable, 143 bcm_fb_er_ipmc_src_port_check, 144 bcm_fb_er_ipmc_src_ip_search, 145 bcm_fb_er_ipmc_add, 146 bcm_fb_er_ipmc_delete, 147 bcm_fb_er_ipmc_delete_all, 148 bcm_fb_er_ipmc_lookup, 149 bcm_fb_er_ipmc_get, 150 bcm_fb_er_ipmc_put, 151 bcm_fb_er_ipmc_egress_port_get, 152 bcm_fb_er_ipmc_egress_port_set, 153 bcm_fb_ipmc_repl_init, 154 bcm_fb_ipmc_repl_detach, 155 bcm_fb_ipmc_repl_get, 156 bcm_fb_ipmc_repl_add, 157 bcm_fb_ipmc_repl_delete, 158 bcm_fb_ipmc_repl_delete_all, 159 bcm_fb_ipmc_egress_intf_add, 160 bcm_fb_ipmc_egress_intf_delete, 161 bcm_xgs3_ipmc_age, 162 bcm_xgs3_ipmc_traverse, 163 #endif /* INCLUDE_L3 */ 164 }; 165 #else /* BCM_HB_GW_SUPPORT */ 166 int bcm_esw_bradley_mbcm_not_empty; 167 #endif /* BCM_HB_GW_SUPPORT */