mcast.c (1703B)
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: mcast.c 8 * Purpose: Tracks and manages L2 Multicast tables. 9 * 10 * NOTE: These are empty stubs because the standard bcm_mcast layer 11 * calls are not intended for programming a fabric chip. 12 * Fabric device mcast programming should use the bcm_mcast_bitmap_* APIs. 13 */ 14 15 #include <soc/drv.h> 16 #include <soc/mem.h> 17 18 #include <bcm/error.h> 19 20 #include <bcm_int/esw/mbcm.h> 21 22 23 int 24 bcm_hercules_mcast_addr_add_w_l2mcindex(int unit,bcm_mcast_addr_t *mcaddr) 25 { 26 return (BCM_E_UNAVAIL); 27 } 28 29 int 30 bcm_hercules_mcast_addr_remove_w_l2mcindex(int unit, bcm_mcast_addr_t *mcaddr) 31 { 32 return (BCM_E_UNAVAIL); 33 } 34 35 int 36 bcm_hercules_mcast_port_add(int unit, bcm_mcast_addr_t *mcaddr) 37 { 38 return (BCM_E_UNAVAIL); 39 } 40 41 int 42 bcm_hercules_mcast_port_remove(int unit, bcm_mcast_addr_t *mcaddr) 43 { 44 return (BCM_E_UNAVAIL); 45 } 46 47 int 48 bcm_hercules_mcast_addr_add(int unit, bcm_mcast_addr_t *mcaddr) 49 { 50 return (BCM_E_UNAVAIL); 51 } 52 53 int 54 bcm_hercules_mcast_addr_remove(int unit, sal_mac_addr_t mac, bcm_vlan_t vid) 55 { 56 return (BCM_E_UNAVAIL); 57 } 58 59 int 60 bcm_hercules_mcast_port_get(int unit, 61 sal_mac_addr_t mac, bcm_vlan_t vid, 62 bcm_mcast_addr_t *mcaddr) 63 { 64 return (BCM_E_UNAVAIL); 65 } 66 67 int 68 _bcm_hercules_mcast_detach(int unit) 69 { 70 return BCM_E_NONE; 71 } 72 73 int 74 bcm_hercules_mcast_init(int unit) 75 { 76 #ifdef BCM_HERCULES_SUPPORT 77 if (SOC_IS_HERCULES15(unit)) { 78 return soc_mem_clear(unit, MEM_MCm, MEM_BLOCK_ALL, 0); 79 } 80 #endif 81 return BCM_E_UNAVAIL; 82 }