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

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_ */