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

enduro.h (5500B)


      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:        enduro.h
      8  * Purpose:     Function declarations for Enduro  bcm functions
      9  */
     10 
     11 #ifndef _BCM_INT_ENDURO_H_
     12 #define _BCM_INT_ENDURO_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 #if defined(BCM_ENDURO_SUPPORT)
     18 #include <bcm_int/esw/mbcm.h>
     19 #include <bcm_int/esw/oam.h>
     20 
     21 
     22 #if defined(BCM_KATANA_SUPPORT) && defined(INCLUDE_BHH)
     23 extern int bcm_en_oam_loopback_delete(int unit, bcm_oam_loopback_t *loopback);
     24 extern int bcm_en_oam_loopback_add(int unit, bcm_oam_loopback_t *loopback);
     25 extern int bcm_en_oam_loopback_get(int unit, bcm_oam_loopback_t *loopback);
     26 extern int bcm_en_oam_csf_add(int unit, bcm_oam_csf_t *csf_ptr);
     27 extern int bcm_en_oam_csf_delete(int unit, bcm_oam_csf_t *csf_ptr);
     28 extern int bcm_en_oam_csf_get(int unit, bcm_oam_csf_t *csf_ptr);
     29 extern int bcm_en_oam_endpoint_faults_multi_get(int unit, uint32 flags,
     30                           bcm_oam_protocol_type_t endpoint_protocol,
     31                           uint32 max_endpoints, bcm_oam_endpoint_fault_t *faults,
     32                           uint32 *endpoint_count);
     33 extern int bcm_en_oam_trunk_ports_add(int unit, bcm_gport_t trunk_gport,
     34                                       int max_ports, bcm_gport_t *port_arr);
     35 extern int bcm_en_oam_trunk_ports_delete(int unit, bcm_gport_t trunk_gport,
     36                                          int max_ports, bcm_gport_t *port_arr);
     37 extern int bcm_en_oam_trunk_ports_get(int unit, bcm_gport_t trunk_gport,
     38                                       int max_ports, bcm_gport_t *port_arr,
     39                                       int *port_count);
     40 extern int bcm_en_oam_mpls_tp_channel_type_tx_get(int unit,
     41                                                   bcm_oam_mpls_tp_channel_type_t channel_type,
     42                                                   int *value);
     43 extern int bcm_en_oam_mpls_tp_channel_type_tx_set(int unit,
     44                                                   bcm_oam_mpls_tp_channel_type_t channel_type,
     45                                                   int value);
     46 #endif
     47 extern int bcm_en_oam_init(int unit);
     48 extern int bcm_en_oam_detach(int unit);
     49 extern int bcm_en_oam_lock(int unit);
     50 extern int bcm_en_oam_unlock(int unit);
     51 extern int bcm_en_oam_group_create(int unit,
     52     bcm_oam_group_info_t *group_info);
     53 extern int bcm_en_oam_group_get(int unit, bcm_oam_group_t group, 
     54     bcm_oam_group_info_t *group_info);
     55 extern int bcm_en_oam_group_destroy(int unit, bcm_oam_group_t group);
     56 extern int bcm_en_oam_group_destroy_all(int unit);
     57 extern int bcm_en_oam_group_traverse(int unit, bcm_oam_group_traverse_cb cb, 
     58     void *user_data);
     59 extern int bcm_en_oam_endpoint_create(int unit, 
     60     bcm_oam_endpoint_info_t *endpoint_info);
     61 extern int bcm_en_oam_endpoint_get(int unit, bcm_oam_endpoint_t endpoint, 
     62     bcm_oam_endpoint_info_t *endpoint_info);
     63 extern int bcm_en_oam_endpoint_destroy(int unit, bcm_oam_endpoint_t endpoint);
     64 extern int bcm_en_oam_endpoint_destroy_all(int unit, bcm_oam_group_t group);
     65 extern int bcm_en_oam_endpoint_traverse(int unit, bcm_oam_group_t group, 
     66     bcm_oam_endpoint_traverse_cb cb, void *user_data);
     67 extern int bcm_en_oam_event_register(int unit, 
     68     bcm_oam_event_types_t event_types, bcm_oam_event_cb cb, 
     69     void *user_data);
     70 extern int bcm_en_oam_event_unregister(int unit, 
     71     bcm_oam_event_types_t event_types, bcm_oam_event_cb cb);
     72 #ifdef BCM_WARM_BOOT_SUPPORT
     73 extern int _bcm_en_oam_sync(int unit);
     74 #endif
     75 #ifdef BCM_WARM_BOOT_SUPPORT_SW_DUMP
     76 extern void _bcm_en_oam_sw_dump(int unit);
     77 #endif /* BCM_WARM_BOOT_SUPPORT_SW_DUMP */
     78 extern int _bcm_en_port_lanes_set(int unit, bcm_port_t port, int value);
     79 extern int _bcm_en_port_lanes_get(int unit, bcm_port_t port, int *value);
     80 #if defined(BCM_FIELD_SUPPORT)
     81 extern int _bcm_field_en_init(int unit, _field_control_t *fc);
     82 #endif /* BCM_FIELD_SUPPORT */
     83 
     84 extern int bcm_enduro_vlan_virtual_init(int unit);
     85 extern int bcm_enduro_vlan_virtual_detach(int unit);
     86 extern int bcm_enduro_vlan_vp_create(int unit, bcm_vlan_port_t *vlan_vp);
     87 extern int bcm_enduro_vlan_vp_destroy(int unit, bcm_gport_t gport);
     88 extern int bcm_enduro_vlan_vp_find(int unit, bcm_vlan_port_t *vlan_vp);
     89 extern int bcm_enduro_vlan_vp_add(int unit, bcm_vlan_t vlan, bcm_gport_t gport, 
     90                                    int is_untagged);
     91 extern int bcm_enduro_vlan_vp_delete(int unit, bcm_vlan_t vlan,
     92                                       bcm_gport_t gport); 
     93 extern int bcm_enduro_vlan_vp_delete_all(int unit, bcm_vlan_t vlan);
     94 extern int bcm_enduro_vlan_vp_get(int unit, bcm_vlan_t vlan, bcm_gport_t gport,
     95                                    int *is_untagged); 
     96 extern int bcm_enduro_vlan_vp_get_all(int unit, bcm_vlan_t vlan, int array_max,
     97         bcm_gport_t *gport_array, int *is_untagged_array, int *array_size);
     98 extern int _bcm_enduro_vlan_port_resolve(int unit, bcm_gport_t vlan_port_id,
     99                           bcm_module_t *modid, bcm_port_t *port,
    100                           bcm_trunk_t *trunk_id, int *id);
    101 
    102 #ifdef BCM_WARM_BOOT_SUPPORT
    103 extern int bcm_enduro_vlan_virtual_reinit(int unit);
    104 #endif /* BCM_WARM_BOOT_SUPPORT */
    105 
    106 #ifndef BCM_SW_STATE_DUMP_DISABLE
    107 extern void bcm_enduro_vlan_vp_sw_dump(int unit);
    108 #endif /* BCM_SW_STATE_DUMP_DISABLE */
    109 
    110 #endif  /* BCM_ENDURO_SUPPORT */
    111 #endif  /* !_BCM_INT_ENDURO_H_ */