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

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