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

hurricane.h (4971B)


      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:        hurricane.h
      8  * Purpose:     Function declarations for Hurricane  bcm functions
      9  */
     10 
     11 #ifndef _BCM_INT_HURRICANE_H_
     12 #define _BCM_INT_HURRICANE_H_
     13 #include <bcm_int/esw/l2.h>
     14 #ifdef BCM_FIELD_SUPPORT 
     15 #include <bcm_int/esw/field.h>
     16 #endif /* BCM_FIELD_SUPPORT */
     17 
     18 #if defined(BCM_HURRICANE_SUPPORT)
     19 #include <bcm_int/esw/mbcm.h>
     20 #include <bcm_int/esw/oam.h>
     21 
     22 
     23 extern int bcm_hu_cosq_init(int unit);
     24 extern int bcm_hu_cosq_detach(int unit, int software_state_only);
     25 extern int bcm_hu_cosq_config_set(int unit, int numq);
     26 extern int bcm_hu_cosq_config_get(int unit, int *numq);
     27 extern int bcm_hu_cosq_mapping_set(int unit, bcm_port_t port,
     28                         bcm_cos_t priority, bcm_cos_queue_t cosq);
     29 extern int bcm_hu_cosq_mapping_get(int unit, bcm_port_t port,
     30                         bcm_cos_t priority, bcm_cos_queue_t *cosq);
     31 extern int     
     32 bcm_hu_cosq_port_sched_set(int unit, bcm_pbmp_t pbm,
     33                               int mode, const int weights[], int delay);
     34 extern int
     35 bcm_hu_cosq_port_sched_get(int unit, bcm_pbmp_t pbm,
     36                            int *mode, int weights[], int *delay);
     37 extern int
     38 bcm_hu_cosq_port_bandwidth_set(int unit, bcm_port_t port,
     39                                bcm_cos_queue_t cosq,
     40                                uint32 kbits_sec_min,
     41                                uint32 kbits_sec_max,
     42                                uint32 kbits_sec_burst,
     43                                uint32 flags);
     44 extern int
     45 bcm_hu_cosq_port_bandwidth_get(int unit, bcm_port_t port,
     46                                bcm_cos_queue_t cosq,
     47                                uint32 *kbits_sec_min,
     48                                uint32 *kbits_sec_max,
     49                                uint32 *kbits_sec_burst,
     50                                uint32 *flags);
     51 
     52 extern int
     53 bcm_hu_cosq_discard_set(int unit, uint32 flags);
     54 extern int
     55 bcm_hu_cosq_discard_get(int unit, uint32* flags);
     56 extern int
     57 bcm_hu_cosq_discard_port_set(int unit, bcm_port_t port,
     58                              bcm_cos_queue_t cosq,
     59                              uint32 color,
     60                              int drop_start,
     61                              int drop_slope,
     62                              int average_time);
     63 extern int
     64 bcm_hu_cosq_discard_port_get(int unit, bcm_port_t port,
     65                              bcm_cos_queue_t cosq,
     66                              uint32 color,
     67                              int *drop_start,
     68                              int *drop_slope,
     69                              int *average_time);
     70 
     71 extern int
     72 bcm_hu_cosq_sched_weight_max_get(int unit, int mode, int *weight_max);
     73 
     74 extern int
     75 bcm_hu_cosq_gport_bandwidth_get(int unit, bcm_gport_t gport,
     76                                 bcm_cos_queue_t cosq, uint32 *kbits_sec_min,
     77                                 uint32 *kbits_sec_max, uint32 *flags);
     78 
     79 extern int
     80 bcm_hu_cosq_gport_sched_set(int unit, bcm_gport_t gport,
     81                             bcm_cos_queue_t cosq, int mode, int weight);
     82 
     83 extern int
     84 bcm_hu_cosq_gport_sched_get(int unit, bcm_gport_t gport, 
     85                             bcm_cos_queue_t cosq, int *mode, int *weight);
     86 
     87 extern int
     88 bcm_hu_cosq_gport_bandwidth_burst_set(int unit, bcm_gport_t gport,
     89                                       bcm_cos_queue_t cosq,
     90                                       uint32 kbits_burst);
     91 
     92 extern int
     93 bcm_hu_cosq_gport_bandwidth_burst_get(int unit, bcm_gport_t gport,
     94                                       bcm_cos_queue_t cosq,
     95                                       uint32 *kbits_burst);
     96 
     97 extern int
     98 bcm_hu_cosq_gport_bandwidth_set(int unit, bcm_gport_t gport,
     99                                 bcm_cos_queue_t cosq, uint32 kbits_sec_min,
    100                                 uint32 kbits_sec_max, uint32 flags);
    101 
    102 extern int
    103 bcm_hu_cosq_gport_discard_set(int unit, bcm_gport_t port, bcm_cos_queue_t cosq,
    104                               bcm_cosq_gport_discard_t *discard);
    105 
    106 extern int
    107 bcm_hu_cosq_gport_discard_get(int unit, bcm_gport_t port, bcm_cos_queue_t cosq,
    108                               bcm_cosq_gport_discard_t *discard);
    109 
    110 #ifdef BCM_WARM_BOOT_SUPPORT
    111 extern int bcm_hu_cosq_sync(int unit);
    112 #endif /* BCM_WARM_BOOT_SUPPORT */
    113 #ifndef BCM_SW_STATE_DUMP_DISABLE
    114 extern void bcm_hu_cosq_sw_dump(int unit);
    115 #endif /* BCM_SW_STATE_DUMP_DISABLE */
    116 
    117 #ifdef INCLUDE_L3
    118 extern int _bcm_hu_l3_intf_mtu_get(int unit, _bcm_l3_intf_cfg_t *intf_info);
    119 extern int _bcm_hu_l3_intf_mtu_set(int unit, _bcm_l3_intf_cfg_t *intf_info);
    120 #endif  /* INCLUDE_L3 */
    121 
    122 extern int _bcm_hu_port_lanes_set(int unit, bcm_port_t port, int value);
    123 extern int _bcm_hu_port_lanes_get(int unit, bcm_port_t port, int *value);
    124 
    125 #ifdef BCM_FIELD_SUPPORT 
    126 extern int _bcm_field_hu_init(int unit, _field_control_t *fc);
    127 #endif
    128 
    129 #endif  /* BCM_HURRICANE_SUPPORT */
    130 #endif  /* !_BCM_INT_HURRICANE_H_ */