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