humv.h (2975B)
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-2020 Broadcom Inc. All rights reserved. 6 * 7 * File: firebolt.h 8 * Purpose: Function declarations for Firebolt bcm functions 9 */ 10 11 #ifndef _BCM_INT_HUMV_H_ 12 #define _BCM_INT_HUMV_H_ 13 14 #include <bcm_int/esw/mbcm.h> 15 16 /**************************************************************** 17 * 18 * HUMV functions 19 */ 20 21 extern int bcm_humv_mcast_addr_add(int, bcm_mcast_addr_t *); 22 extern int bcm_humv_mcast_addr_remove(int, bcm_mac_t, bcm_vlan_t); 23 extern int bcm_humv_mcast_port_get(int, bcm_mac_t, bcm_vlan_t, 24 bcm_mcast_addr_t *); 25 extern int bcm_humv_mcast_init(int); 26 extern int _bcm_humv_mcast_detach(int); 27 extern int bcm_humv_mcast_addr_add_w_l2mcindex(int unit, 28 bcm_mcast_addr_t *mcaddr); 29 extern int bcm_humv_mcast_addr_remove_w_l2mcindex(int unit, 30 bcm_mcast_addr_t *mcaddr); 31 extern int bcm_humv_mcast_port_add(int unit, bcm_mcast_addr_t *mcaddr); 32 extern int bcm_humv_mcast_port_remove(int unit, bcm_mcast_addr_t *mcaddr); 33 34 extern int bcm_humv_cosq_init(int unit); 35 extern int bcm_humv_cosq_detach(int unit, int software_state_only); 36 extern int bcm_humv_cosq_config_set(int unit, int numq); 37 extern int bcm_humv_cosq_config_get(int unit, int *numq); 38 extern int bcm_humv_cosq_mapping_set(int unit, 39 bcm_port_t port, 40 bcm_cos_t priority, 41 bcm_cos_queue_t cosq); 42 extern int bcm_humv_cosq_mapping_get(int unit, 43 bcm_port_t port, 44 bcm_cos_t priority, 45 bcm_cos_queue_t *cosq); 46 extern int bcm_humv_cosq_port_sched_set(int unit, bcm_pbmp_t, int mode, 47 const int weights[], int delay); 48 extern int bcm_humv_cosq_port_sched_get(int unit, bcm_pbmp_t, int *mode, 49 int weights[], int *delay); 50 extern int bcm_humv_cosq_sched_weight_max_get(int unit, int mode, 51 int *weight_max); 52 extern int bcm_humv_cosq_port_bandwidth_set(int unit, bcm_port_t port, 53 bcm_cos_queue_t cosq, 54 uint32 kbits_sec_min, 55 uint32 kbits_sec_max, 56 uint32 kbits_sec_burst, 57 uint32 flags); 58 extern int bcm_humv_cosq_port_bandwidth_get(int unit, bcm_port_t port, 59 bcm_cos_queue_t cosq, 60 uint32 *kbits_sec_min, 61 uint32 *kbits_sec_max, 62 uint32 *kbits_sec_burst, 63 uint32 *flags); 64 extern int bcm_humv_cosq_discard_set(int unit, uint32 flags); 65 extern int bcm_humv_cosq_discard_get(int unit, uint32 *flags); 66 extern int bcm_humv_cosq_discard_port_set(int unit, bcm_port_t port, 67 bcm_cos_queue_t cosq, 68 uint32 color, 69 int drop_start, 70 int drop_slope, 71 int average_time); 72 extern int bcm_humv_cosq_discard_port_get(int unit, bcm_port_t port, 73 bcm_cos_queue_t cosq, 74 uint32 color, 75 int *drop_start, 76 int *drop_slope, 77 int *average_time); 78 #endif /* !_BCM_INT_HUMV_H_ */