bradley.h (3700B)
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: firebolt.h 8 * Purpose: Function declarations for Bradley bcm functions 9 */ 10 11 #ifndef _BCM_INT_BRADLEY_H_ 12 #define _BCM_INT_BRADLEY_H_ 13 14 #include <bcm_int/esw/mbcm.h> 15 16 /**************************************************************** 17 * 18 * Bradley functions 19 */ 20 21 extern int bcm_bradley_mcast_addr_add(int, bcm_mcast_addr_t *); 22 extern int bcm_bradley_mcast_addr_remove(int, bcm_mac_t, bcm_vlan_t); 23 extern int bcm_bradley_mcast_port_get(int, bcm_mac_t, bcm_vlan_t, 24 bcm_mcast_addr_t *); 25 extern int bcm_bradley_mcast_init(int); 26 extern int bcm_bradley_mcast_addr_add_w_l2mcindex(int unit, 27 bcm_mcast_addr_t *mcaddr); 28 extern int bcm_bradley_mcast_addr_remove_w_l2mcindex(int unit, 29 bcm_mcast_addr_t *mcaddr); 30 extern int bcm_bradley_mcast_port_add(int unit, bcm_mcast_addr_t *mcaddr); 31 extern int bcm_bradley_mcast_port_remove(int unit, bcm_mcast_addr_t *mcaddr); 32 33 extern int bcm_bradley_cosq_init(int unit); 34 extern int bcm_bradley_cosq_detach(int unit, int software_state_only); 35 extern int bcm_bradley_cosq_config_set(int unit, int numq); 36 extern int bcm_bradley_cosq_config_get(int unit, int *numq); 37 extern int bcm_bradley_cosq_mapping_set(int unit, 38 bcm_port_t port, 39 bcm_cos_t priority, 40 bcm_cos_queue_t cosq); 41 extern int bcm_bradley_cosq_mapping_get(int unit, 42 bcm_port_t port, 43 bcm_cos_t priority, 44 bcm_cos_queue_t *cosq); 45 extern int bcm_bradley_cosq_port_sched_set(int unit, bcm_pbmp_t, int mode, 46 const int weights[], int delay); 47 extern int bcm_bradley_cosq_port_sched_get(int unit, bcm_pbmp_t, int *mode, 48 int weights[], int *delay); 49 extern int bcm_bradley_cosq_sched_weight_max_get(int unit, int mode, 50 int *weight_max); 51 extern int bcm_bradley_cosq_port_bandwidth_set(int unit, bcm_port_t port, 52 bcm_cos_queue_t cosq, 53 uint32 kbits_sec_min, 54 uint32 kbits_sec_max, 55 uint32 kbits_sec_burst, 56 uint32 flags); 57 extern int bcm_bradley_cosq_port_bandwidth_get(int unit, bcm_port_t port, 58 bcm_cos_queue_t cosq, 59 uint32 *kbits_sec_min, 60 uint32 *kbits_sec_max, 61 uint32 *kbits_sec_burst, 62 uint32 *flags); 63 extern int bcm_bradley_cosq_discard_set(int unit, uint32 flags); 64 extern int bcm_bradley_cosq_discard_get(int unit, uint32 *flags); 65 extern int bcm_bradley_cosq_discard_port_set(int unit, bcm_port_t port, 66 bcm_cos_queue_t cosq, 67 uint32 color, 68 int drop_start, 69 int drop_slope, 70 int average_time); 71 extern int bcm_bradley_cosq_discard_port_get(int unit, bcm_port_t port, 72 bcm_cos_queue_t cosq, 73 uint32 color, 74 int *drop_start, 75 int *drop_slope, 76 int *average_time); 77 #ifdef BCM_WARM_BOOT_SUPPORT 78 extern int bcm_bradley_cosq_sync(int unit); 79 #endif /* BCM_WARM_BOOT_SUPPORT */ 80 #ifndef BCM_SW_STATE_DUMP_DISABLE 81 extern void bcm_bradley_cosq_sw_dump(int unit); 82 #endif /* BCM_SW_STATE_DUMP_DISABLE */ 83 84 extern int _bcm_xgs3_ipmc_bitmap_set(int unit, int ipmc_idx, 85 bcm_pbmp_t pbmp); 86 extern int _bcm_xgs3_ipmc_bitmap_get(int unit, int ipmc_idx, 87 bcm_pbmp_t *pbmp); 88 extern int _bcm_xgs3_ipmc_bitmap_del(int unit, int ipmc_idx, 89 bcm_pbmp_t pbmp); 90 extern int _bcm_xgs3_ipmc_bitmap_clear(int unit, int ipmc_idx); 91 92 #endif /* !_BCM_INT_BRADLEY_H_ */