fboss/agent/hw/bcm/SdkTracer.cpp (3,539 lines of code) (raw):

/* * Copyright (c) 2004-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ #include <memory> #include <folly/Format.h> #include <folly/Singleton.h> #include "fboss/agent/hw/bcm/BcmCinter.h" #include "fboss/agent/hw/bcm/SdkWrapSettings.h" #include "fboss/lib/FunctionCallTimeReporter.h" extern "C" { #include <bcm/cosq.h> #include <bcm/field.h> } DECLARE_bool(enable_bcm_cinter); extern "C" { // // the broadcom library symbols we want to use // int __real_bcm_switch_pkt_trace_info_get( int unit, uint32 options, uint8 port, int len, uint8* data, bcm_switch_pkt_trace_info_t* pkt_trace_info); int __real_bcm_field_range_create( int unit, bcm_field_range_t* range, uint32 flags, bcm_l4_port_t min, bcm_l4_port_t max); int __real_bcm_field_range_get( int unit, bcm_field_range_t range, uint32* flags, bcm_l4_port_t* min, bcm_l4_port_t* max); int __real_bcm_port_control_get( int unit, bcm_port_t port, bcm_port_control_t type, int* value); int __real_bcm_port_phy_control_get( int unit, bcm_port_t port, bcm_port_phy_control_t type, uint32* value); int __real_bcm_port_phy_tx_get( int unit, bcm_port_t port, bcm_port_phy_tx_t* tx); int __real_bcm_port_phy_tx_set( int unit, bcm_port_t port, bcm_port_phy_tx_t* tx); int __real_bcm_rx_active(int unit); int __real_bcm_cosq_bst_stat_clear( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid); int __real_bcm_rx_cosq_mapping_size_get(int unit, int* size); int __real_bcm_stat_custom_add( int unit, bcm_port_t port, bcm_stat_val_t type, bcm_custom_stat_trigger_t trigger); int __real_bcm_cosq_bst_profile_set( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid, bcm_cosq_bst_profile_t* profile); void __real_bcm_cosq_gport_discard_t_init(bcm_cosq_gport_discard_t* discard); int __real_bcm_cosq_gport_discard_set( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_cosq_gport_discard_t* discard); int __real_bcm_cosq_gport_mapping_set( int unit, bcm_gport_t ing_port, bcm_cos_t priority, uint32_t flags, bcm_gport_t gport, bcm_cos_queue_t cosq); int __real_bcm_cosq_gport_mapping_get( int unit, bcm_gport_t ing_port, bcm_cos_t priority, uint32_t flags, bcm_gport_t* gport, bcm_cos_queue_t* cosq); int __real_bcm_rx_cosq_mapping_set( int unit, int index, bcm_rx_reasons_t reasons, bcm_rx_reasons_t reasons_mask, uint8 int_prio, uint8 int_prio_mask, uint32 packet_type, uint32 packet_type_mask, bcm_cos_queue_t cosq); int __real_bcm_rx_cosq_mapping_get( int unit, int index, bcm_rx_reasons_t* reasons, bcm_rx_reasons_t* reasons_mask, uint8* int_prio, uint8* int_prio_mask, uint32* packet_type, uint32* packet_type_mask, bcm_cos_queue_t* cosq); int __real_bcm_rx_cosq_mapping_delete(int unit, int index); int __real_bcm_rx_cosq_mapping_extended_add( int unit, int options, bcm_rx_cosq_mapping_t* cosqMap); int __real_bcm_rx_cosq_mapping_extended_delete( int unit, bcm_rx_cosq_mapping_t* cosqMap); int __real_bcm_rx_cosq_mapping_extended_set( int unit, uint32 options, bcm_rx_cosq_mapping_t* cosqMap); int __real_bcm_cosq_bst_stat_sync(int unit, bcm_bst_stat_id_t bid); int __real_bcm_qos_map_create(int unit, uint32 flags, int* map_id); int __real_bcm_qos_map_destroy(int unit, int map_id); int __real_bcm_qos_map_add( int unit, uint32 flags, bcm_qos_map_t* map, int map_id); int __real_bcm_qos_map_delete( int unit, uint32 flags, bcm_qos_map_t* map, int map_id); int __real_bcm_qos_map_multi_get( int unit, uint32 flags, int map_id, int array_size, bcm_qos_map_t* array, int* array_count); int __real_bcm_qos_multi_get( int unit, int array_size, int* map_ids_array, int* flags_array, int* array_count); int __real_bcm_qos_port_map_set( int unit, bcm_gport_t gport, int ing_map, int egr_map); int __real_bcm_qos_port_map_get( int unit, bcm_gport_t gport, int* ing_map, int* egr_map); int __real_bcm_qos_port_map_type_get( int unit, bcm_gport_t gport, uint32 flags, int* map_id); int __real_bcm_port_dscp_map_mode_get(int unit, bcm_port_t port, int* mode); int __real_bcm_port_dscp_map_mode_set(int unit, bcm_port_t port, int mode); int __real_bcm_l2_traverse( int unit, bcm_l2_traverse_cb trav_fn, void* user_data); int __real_bcm_port_subsidiary_ports_get( int unit, bcm_port_t port, bcm_pbmp_t* pbmp); int __real_bcm_field_group_enable_get( int unit, bcm_field_group_t group, int* enable); int __real_bcm_field_range_destroy(int unit, bcm_field_range_t range); int __real_bcm_field_entry_destroy(int unit, bcm_field_entry_t entry); int __real_bcm_field_group_destroy(int unit, bcm_field_group_t); int __real_bcm_field_group_traverse( int unit, bcm_field_group_traverse_cb callback, void* user_data); int __real_bcm_l3_egress_ecmp_delete( int unit, bcm_l3_egress_ecmp_t* ecmp, bcm_if_t intf); int __real_bcm_l3_info(int unit, bcm_l3_info_t* l3info); void __real_bcm_l3_egress_ecmp_t_init(bcm_l3_egress_ecmp_t* ecmp); int __real_bcm_cosq_bst_profile_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid, bcm_cosq_bst_profile_t* profile); int __real_bcm_switch_object_count_multi_get( int unit, int object_size, bcm_switch_object_t* object_array, int* entries); int __real_bcm_switch_object_count_get( int unit, bcm_switch_object_t object, int* entries); #if (BCM_SDK_VERSION >= BCM_VERSION(6, 5, 19)) int __real_bcm_l3_alpm_resource_get( int unit, bcm_l3_route_group_t grp, bcm_l3_alpm_resource_t* resource); #endif int __real_bcm_field_entry_multi_get( int unit, bcm_field_group_t group, int entry_size, bcm_field_entry_t* entry_array, int* entry_count); int __real_bcm_cosq_bst_stat_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid, uint32 options, uint64* value); int __real_bcm_l3_egress_ecmp_get( int unit, bcm_l3_egress_ecmp_t* ecmp, int intf_size, bcm_if_t* intf_array, int* intf_count); int __real_bcm_l3_enable_set(int unit, int enable); int __real_bcm_rx_queue_max_get(int unit, bcm_cos_queue_t* cosq); int __real_bcm_field_group_get( int unit, bcm_field_group_t group, bcm_field_qset_t* qset); int __real_bcm_cosq_control_get( int unit, bcm_gport_t port, bcm_cos_queue_t cosq, bcm_cosq_control_t type, int* arg); int __real_bcm_port_pause_get( int unit, bcm_port_t port, int* pause_tx, int* pause_rx); int __real_bcm_port_sample_rate_get( int unit, bcm_port_t port, int* ingress_rate, int* egress_rate); int __real_bcm_field_action_get( int unit, bcm_field_entry_t entry, bcm_field_action_t action, uint32* param0, uint32* param1); int __real_bcm_info_get(int unit, bcm_info_t* info); int __real_bcm_cosq_gport_discard_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_cosq_gport_discard_t* discard); int __real_bcm_port_phy_control_set( int unit, bcm_port_t port, bcm_port_phy_control_t type, uint32 value); int __real_bcm_port_ability_advert_set( int unit, bcm_port_t port, bcm_port_ability_t* ability_mask); int __real_bcm_port_autoneg_set(int unit, bcm_port_t port, int autoneg); int __real_bcm_field_qualify_DstIp( int unit, bcm_field_entry_t entry, bcm_ip_t data, bcm_ip_t mask); int __real_bcm_field_entry_create_id( int unit, bcm_field_group_t group, bcm_field_entry_t entry); int __real_bcm_cosq_init(int unit); int __real_bcm_cosq_gport_traverse( int unit, bcm_cosq_gport_traverse_cb cb, void* user_data); int __real_bcm_cosq_gport_sched_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, int* mode, int* weight); int __real_bcm_cosq_gport_sched_set( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, int mode, int weight); int __real_bcm_cosq_control_set( int unit, bcm_gport_t port, bcm_cos_queue_t cosq, bcm_cosq_control_t type, int arg); int __real_bcm_cosq_gport_bandwidth_set( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, uint32 kbits_sec_min, uint32 kbits_sec_max, uint32 flags); int __real_bcm_cosq_gport_bandwidth_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, uint32* kbits_sec_min, uint32* kbits_sec_max, uint32* flags); int __real_bcm_field_init(int unit); int __real_bcm_field_group_create_id( int unit, bcm_field_qset_t qset, int pri, bcm_field_group_t group); int __real_bcm_field_group_config_create( int unit, bcm_field_group_config_t* group_config); int __real_bcm_field_entry_create( int unit, bcm_field_group_t group, bcm_field_entry_t* entry); int __real_bcm_field_entry_install(int unit, bcm_field_entry_t entry); int __real_bcm_field_action_add( int unit, bcm_field_entry_t entry, bcm_field_action_t action, uint32 param0, uint32 param1); int __real_bcm_field_action_delete( int unit, bcm_field_entry_t entry, bcm_field_action_t action, uint32 param0, uint32 param1); int __real_bcm_field_entry_prio_set( int unit, bcm_field_entry_t entry, int prio); int __real_bcm_field_qualify_DstIp6( int unit, bcm_field_entry_t entry, bcm_ip6_t data, bcm_ip6_t mask); int __real_bcm_field_qualify_SrcIp6( int unit, bcm_field_entry_t entry, bcm_ip6_t data, bcm_ip6_t mask); int __real_bcm_field_qualify_InPorts( int unit, bcm_field_entry_t entry, bcm_pbmp_t data, bcm_pbmp_t mask); int __real_bcm_field_qualify_L4DstPort( int unit, bcm_field_entry_t entry, bcm_l4_port_t data, bcm_l4_port_t mask); int __real_bcm_field_qualify_L4SrcPort( int unit, bcm_field_entry_t entry, bcm_l4_port_t data, bcm_l4_port_t mask); int __real_bcm_field_qualify_DstMac( int unit, bcm_field_entry_t entry, bcm_mac_t mac, bcm_mac_t macMask); int __real_bcm_field_qualify_SrcMac( int unit, bcm_field_entry_t entry, bcm_mac_t mac, bcm_mac_t macMask); int __real_bcm_field_qualify_IcmpTypeCode( int unit, bcm_field_entry_t entry, uint16 data, uint16 mask); int __real_bcm_switch_control_set(int unit, bcm_switch_control_t type, int arg); int __real_bcm_switch_control_get( int unit, bcm_switch_control_t type, int* arg); int __real_bcm_field_qualify_SrcPort( int unit, bcm_field_entry_t entry, bcm_module_t data_modid, bcm_module_t mask_modid, bcm_port_t data_port, bcm_port_t mask_port); int __real_bcm_l3_egress_get(int unit, bcm_if_t intf, bcm_l3_egress_t* egr); int __real_bcm_l3_egress_create( int unit, uint32 flags, bcm_l3_egress_t* egr, bcm_if_t* if_id); int __real_bcm_l3_egress_find(int unit, bcm_l3_egress_t* egr, bcm_if_t* intf); int __real_bcm_l3_egress_traverse( int unit, bcm_l3_egress_traverse_cb trav_fn, void* user_data); int __real_bcm_l3_ecmp_member_add( int unit, bcm_if_t ecmp_group_id, bcm_l3_ecmp_member_t* ecmp_member); int __real_bcm_l3_egress_ecmp_add( int unit, bcm_l3_egress_ecmp_t* ecmp, bcm_if_t intf); int __real_bcm_field_qualify_RangeCheck( int unit, bcm_field_entry_t entry, bcm_field_range_t range, int invert); int __real_bcm_field_qualify_DstPort( int unit, bcm_field_entry_t entry, bcm_module_t data_modid, bcm_module_t mask_modid, bcm_port_t data_port, bcm_port_t mask_port); int __real_bcm_field_qualify_TcpControl( int unit, bcm_field_entry_t entry, uint8 data, uint8 mask); int __real_bcm_field_qualify_IpFrag( int unit, bcm_field_entry_t entry, bcm_field_IpFrag_t frag_info); int __real_bcm_field_qualify_IpProtocol( int unit, bcm_field_entry_t entry, uint8 data, uint8 mask); int __real_bcm_port_phy_control_set( int unit, bcm_port_t port, bcm_port_phy_control_t type, uint32 value); int __real_bcm_port_ability_advert_set( int unit, bcm_port_t port, bcm_port_ability_t* ability_mask); int __real_bcm_port_autoneg_set(int unit, bcm_port_t port, int autoneg); int __real_bcm_port_pause_sym_set(int unit, bcm_port_t port, int pause); int __real_bcm_port_pause_set( int unit, bcm_port_t port, int pause_tx, int pause_rx); int __real_bcm_port_sample_rate_set( int unit, bcm_port_t port, int ingress_rate, int egress_rate); int __real_bcm_port_control_set( int unit, bcm_port_t port, bcm_port_control_t type, int value); int __real_bcm_linkscan_update(int unit, bcm_pbmp_t pbmp); int __real_bcm_trunk_find( int unit, bcm_module_t modid, bcm_port_t port, bcm_trunk_t* trunk); int __real_bcm_trunk_destroy(int unit, bcm_trunk_t tid); int __real_bcm_trunk_create(int unit, uint32 flags, bcm_trunk_t* tid); int __real_bcm_trunk_bitmap_expand(int unit, bcm_pbmp_t* pbmp_ptr); int __real_bcm_trunk_set( int unit, bcm_trunk_t tid, bcm_trunk_info_t* trunk_info, int member_count, bcm_trunk_member_t* member_array); int __real_bcm_trunk_member_add( int unit, bcm_trunk_t tid, bcm_trunk_member_t* member); int __real_bcm_trunk_member_delete( int unit, bcm_trunk_t tid, bcm_trunk_member_t* member); int __real_bcm_port_loopback_get(int unit, bcm_port_t port, uint32* value); int __real_bcm_port_loopback_set(int unit, bcm_port_t port, uint32 value); int __real_bcm_trunk_init(int unit); int __real_bcm_trunk_get( int unit, bcm_trunk_t tid, bcm_trunk_info_t* t_data, int member_max, bcm_trunk_member_t* member_array, int* member_count); int __real_bcm_trunk_create(int unit, uint32 flags, bcm_trunk_t* tid); int __real_bcm_trunk_destroy(int unit, bcm_trunk_t tid); int __real_bcm_trunk_find( int unit, bcm_module_t modid, bcm_port_t port, bcm_trunk_t* trunk); int __real_bcm_trunk_set( int unit, bcm_trunk_t tid, bcm_trunk_info_t* trunk_info, int member_count, bcm_trunk_member_t* member_array); int __real_bcm_trunk_member_add( int unit, bcm_trunk_t tid, bcm_trunk_member_t* member); int __real_bcm_trunk_member_delete( int unit, bcm_trunk_t tid, bcm_trunk_member_t* member); int __real_bcm_l3_egress_traverse( int unit, bcm_l3_egress_traverse_cb trav_fn, void* user_data); int __real_bcm_knet_netif_traverse( int unit, bcm_knet_netif_traverse_cb trav_fn, void* user_data); int __real_bcm_linkscan_mode_get(int unit, bcm_port_t port, int* mode); int __real_bcm_rx_cfg_get(int unit, bcm_rx_cfg_t* cfg); int __real_bcm_vlan_list(int unit, bcm_vlan_data_t** listp, int* countp); void __real_bcm_l3_egress_t_init(bcm_l3_egress_t* egr); int __real_bcm_rx_control_set(int unit, bcm_rx_control_t type, int arg); int __real_bcm_l3_egress_find(int unit, bcm_l3_egress_t* egr, bcm_if_t* intf); int __real_bcm_pkt_flags_init(int unit, bcm_pkt_t* pkt, uint32 init_flags); int __real_bcm_rx_free(int unit, void* pkt_data); int __real_bcm_knet_init(int unit); int __real_bcm_pkt_alloc(int unit, int size, uint32 flags, bcm_pkt_t** pkt_buf); int __real_bcm_linkscan_register(int unit, bcm_linkscan_handler_t f); int __real_bcm_l3_route_delete_by_interface(int unit, bcm_l3_route_t* info); int __real_bcm_switch_event_unregister( int unit, bcm_switch_event_cb_t cb, void* userdata); int __real_bcm_l3_host_delete_all(int unit, bcm_l3_host_t* info); int __real_bcm_port_untagged_vlan_get( int unit, bcm_port_t port, bcm_vlan_t* vid_ptr); int __real_bcm_l3_intf_find(int unit, bcm_l3_intf_t* intf); int __real_bcm_l3_intf_delete(int unit, bcm_l3_intf_t* intf); int __real_bcm_vlan_destroy_all(int unit); int __real_bcm_vlan_list_destroy(int unit, bcm_vlan_data_t* list, int count); int __real_bcm_port_untagged_vlan_set( int unit, bcm_port_t port, bcm_vlan_t vid); int __real_bcm_port_frame_max_set(int unit, bcm_port_t port, int size); int __real_bcm_rx_control_get(int unit, bcm_rx_control_t type, int* arg); int __real_bcm_stg_list_destroy(int unit, bcm_stg_t* list, int count); int __real_bcm_cosq_mapping_get( int unit, bcm_cos_t priority, bcm_cos_queue_t* cosq); int __real_bcm_switch_control_port_get( int unit, bcm_port_t port, bcm_switch_control_t type, int* arg); int __real_bcm_l3_egress_ecmp_traverse( int unit, bcm_l3_egress_ecmp_traverse_cb trav_fn, void* user_data); int __real_bcm_cosq_mapping_set( int unit, bcm_cos_t priority, bcm_cos_queue_t cosq); int __real_bcm_l3_ecmp_member_delete( int unit, bcm_if_t ecmp_group_id, bcm_l3_ecmp_member_t* ecmp_member); int __real_bcm_l3_egress_ecmp_delete( int unit, bcm_l3_egress_ecmp_t* ecmp, bcm_if_t intf); int __real_bcm_detach(int unit); int __real__bcm_shutdown(int unit); int __real_soc_shutdown(int unit); int __real_bcm_cosq_bst_stat_multi_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, uint32 options, int max_values, bcm_bst_stat_id_t* id_list, uint64* values); int __real_bcm_port_ability_advert_get( int unit, bcm_port_t port, bcm_port_ability_t* ability_mask); int __real_bcm_l2_age_timer_get(int unit, int* age_seconds); int __real_bcm_port_queued_count_get(int unit, bcm_port_t port, uint32* count); int __real_bcm_knet_filter_create(int unit, bcm_knet_filter_t* filter); int __real_bcm_vlan_create(int unit, bcm_vlan_t vid); int __real_bcm_l3_ecmp_destroy(int unit, bcm_if_t ecmp_group_id); int __real_bcm_l3_egress_ecmp_destroy(int unit, bcm_l3_egress_ecmp_t* ecmp); int __real_bcm_linkscan_mode_set_pbm(int unit, bcm_pbmp_t pbm, int mode); int __real_bcm_l3_host_find(int unit, bcm_l3_host_t* info); int __real_bcm_switch_pkt_trace_info_get( int unit, uint32 options, uint8 port, int len, uint8* data, bcm_switch_pkt_trace_info_t* pkt_trace_info); void __real_bcm_port_config_t_init(bcm_port_config_t* config); int __real_bcm_port_config_get(int unit, bcm_port_config_t* config); int __real_bcm_l3_route_delete_all(int unit, bcm_l3_route_t* info); int __real_bcm_l2_addr_add(int unit, bcm_l2_addr_t* l2addr); int __real_bcm_l3_host_add(int unit, bcm_l3_host_t* info); int __real_bcm_l3_ecmp_get( int unit, bcm_l3_egress_ecmp_t* ecmp_info, int ecmp_member_size, bcm_l3_ecmp_member_t* ecmp_member_array, int* ecmp_member_count); int __real_bcm_l3_egress_ecmp_get( int unit, bcm_l3_egress_ecmp_t* ecmp, int intf_size, bcm_if_t* intf_array, int* intf_count); int __real_bcm_port_enable_set(int unit, bcm_port_t port, int enable); int __real_bcm_port_stat_enable_set(int unit, bcm_gport_t port, int enable); int __real_bcm_port_stat_attach(int unit, bcm_port_t port, uint32 counterID_); int __real_bcm_port_stat_detach_with_id( int unit, bcm_gport_t gPort, uint32 counterID); #if (BCM_SDK_VERSION >= BCM_VERSION(6, 5, 21)) int __real_bcm_port_fdr_config_set( int unit, bcm_port_t port, bcm_port_fdr_config_t* fdr_config); int __real_bcm_port_fdr_config_get( int unit, bcm_port_t port, bcm_port_fdr_config_t* fdr_config); int __real_bcm_port_fdr_stats_get( int unit, bcm_port_t port, bcm_port_fdr_stats_t* fdr_stats); #endif bcm_ip_t __real_bcm_ip_mask_create(int len); int __real_bcm_l3_egress_multipath_add( int unit, bcm_if_t mpintf, bcm_if_t intf); int __real_bcm_cosq_bst_stat_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid, uint32 options, uint64* value); int __real_bcm_l3_route_get(int unit, bcm_l3_route_t* info); int __real_bcm_l3_egress_multipath_traverse( int unit, bcm_l3_egress_multipath_traverse_cb trav_fn, void* user_data); int __real_bcm_port_vlan_member_set(int unit, bcm_port_t port, uint32 flags); int __real_bcm_l3_egress_multipath_find( int unit, int intf_count, bcm_if_t* intf_array, bcm_if_t* mpintf); int __real_bcm_l3_intf_get(int unit, bcm_l3_intf_t* intf); int __real_bcm_l3_egress_create( int unit, uint32 flags, bcm_l3_egress_t* egr, bcm_if_t* if_id); int __real_bcm_l3_host_traverse( int unit, uint32 flags, uint32 start, uint32 end, bcm_l3_host_traverse_cb cb, void* user_data); int __real_bcm_l3_host_delete_by_interface(int unit, bcm_l3_host_t* info); int __real_bcm_linkscan_unregister(int unit, bcm_linkscan_handler_t f); void __real_bcm_knet_filter_t_init(bcm_knet_filter_t* filter); int __real_bcm_rx_unregister(int unit, bcm_rx_cb_f callback, uint8 priority); int __real_bcm_l2_traverse( int unit, bcm_l2_traverse_cb trav_fn, void* user_data); int __real_bcm_l3_egress_multipath_get( int unit, bcm_if_t mpintf, int intf_size, bcm_if_t* intf_array, int* intf_count); int __real_bcm_rx_register( int unit, const char* name, bcm_rx_cb_f callback, uint8 priority, void* cookie, uint32 flags); int __real_bcm_ip6_mask_create(bcm_ip6_t ip6, int len); int __real_bcm_port_phy_modify( int unit, bcm_port_t port, uint32 flags, uint32 phy_reg_addr, uint32 phy_data, uint32 phy_mask); int __real_bcm_rx_start(int unit, bcm_rx_cfg_t* cfg); int __real_bcm_l2_station_get( int unit, int station_id, bcm_l2_station_t* station); int __real_bcm_l3_egress_multipath_destroy(int unit, bcm_if_t mpintf); void __real_bcm_l3_egress_ecmp_t_init(bcm_l3_egress_ecmp_t* ecmp); int __real_bcm_l3_egress_multipath_create( int unit, uint32 flags, int intf_count, bcm_if_t* intf_array, bcm_if_t* mpintf); int __real_bcm_stat_get( int unit, bcm_port_t port, bcm_stat_val_t type, uint64* value); int __real_bcm_stk_my_modid_get(int unit, int* my_modid); int __real_bcm_pkt_free(int unit, bcm_pkt_t* pkt); int __real_bcm_tx(int unit, bcm_pkt_t* tx_pkt, void* cookie); int __real_bcm_pktio_tx(int unit, bcm_pktio_pkt_t* tx_pkt); #if (defined(IS_OPENNSA) || defined(BCM_SDK_VERSION_GTE_6_5_22)) int __real_bcm_pktio_txpmd_stat_attach(int unit, uint32 counter_id); int __real_bcm_pktio_txpmd_stat_detach(int unit); #endif int __real_bcm_l3_egress_destroy(int unit, bcm_if_t intf); int __real_bcm_port_control_get( int unit, bcm_port_t port, bcm_port_control_t type, int* value); int __real_bcm_switch_control_get( int unit, bcm_switch_control_t type, int* arg); int __real_bcm_linkscan_enable_set(int unit, int us); int __real_bcm_port_vlan_member_get(int unit, bcm_port_t port, uint32* flags); int __real_bcm_l2_station_add( int unit, int* station_id, bcm_l2_station_t* station); int __real_bcm_port_enable_get(int unit, bcm_port_t port, int* enable); int __real_bcm_l3_host_delete(int unit, bcm_l3_host_t* ip_addr); int __real_bcm_l3_route_max_ecmp_get(int unit, int* max); void __real_bcm_l3_intf_t_init(bcm_l3_intf_t* intf); int __real_bcm_l3_egress_get(int unit, bcm_if_t intf, bcm_l3_egress_t* egr); int __real_bcm_linkscan_enable_get(int unit, int* us); int __real_bcm_l3_intf_find_vlan(int unit, bcm_l3_intf_t* intf); int __real_bcm_linkscan_detach(int unit); int __real_bcm_vlan_port_add( int unit, bcm_vlan_t vid, bcm_pbmp_t pbmp, bcm_pbmp_t ubmp); int __real_bcm_port_gport_get(int unit, bcm_port_t port, bcm_gport_t* gport); int __real_bcm_cosq_bst_stat_sync(int unit, bcm_bst_stat_id_t bid); void __real_bcm_port_ability_t_init(bcm_port_ability_t* ability); int __real_bcm_port_speed_max(int unit, bcm_port_t port, int* speed); int __real_bcm_cosq_bst_profile_set( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid, bcm_cosq_bst_profile_t* profile); int __real_bcm_vlan_destroy(int unit, bcm_vlan_t vid); int __real_bcm_port_local_get( int unit, bcm_gport_t gport, bcm_port_t* local_port); int __real_bcm_switch_control_port_set( int unit, bcm_port_t port, bcm_switch_control_t type, int arg); int __real_bcm_switch_event_register( int unit, bcm_switch_event_cb_t cb, void* userdata); int __real_bcm_knet_netif_create(int unit, bcm_knet_netif_t* netif); int __real_bcm_l3_intf_create(int unit, bcm_l3_intf_t* intf); int __real_bcm_port_ability_advert_set( int unit, bcm_port_t port, bcm_port_ability_t* ability_mask); void __real_bcm_knet_netif_t_init(bcm_knet_netif_t* netif); int __real_bcm_l3_route_delete(int unit, bcm_l3_route_t* info); int __real_bcm_stg_create(int unit, bcm_stg_t* stg_ptr); int __real_bcm_l3_init(int unit); int __real_bcm_port_control_set( int unit, bcm_port_t port, bcm_port_control_t type, int value); int __real_bcm_switch_control_set(int unit, bcm_switch_control_t type, int arg); int __real_bcm_l3_egress_ecmp_find( int unit, int intf_count, bcm_if_t* intf_array, bcm_l3_egress_ecmp_t* ecmp); int __real_bcm_stg_default_set(int unit, bcm_stg_t stg); int __real_bcm_port_dtag_mode_set(int unit, bcm_port_t port, int mode); int __real_bcm_port_link_status_get(int unit, bcm_port_t port, int* status); int __real_bcm_port_learn_set(int unit, bcm_port_t port, uint32 flags); int __real_bcm_stg_vlan_add(int unit, bcm_stg_t stg, bcm_vlan_t vid); int __real_bcm_port_dtag_mode_get(int unit, bcm_port_t port, int* mode); int __real_bcm_stat_multi_get( int unit, bcm_port_t port, int nstat, bcm_stat_val_t* stat_arr, uint64* value_arr); int __real_bcm_l3_info(int unit, bcm_l3_info_t* l3info); int __real_bcm_knet_netif_destroy(int unit, int netif_id); int __real_bcm_l2_addr_delete(int unit, bcm_mac_t mac, bcm_vlan_t vid); int __real_bcm_vlan_control_port_set( int unit, int port, bcm_vlan_control_port_t type, int arg); int __real_bcm_info_get(int unit, bcm_info_t* info); int __real_bcm_cosq_bst_profile_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid, bcm_cosq_bst_profile_t* profile); int __real_bcm_port_interface_set( int unit, bcm_port_t port, bcm_port_if_t intf); int __real_bcm_vlan_default_get(int unit, bcm_vlan_t* vid_ptr); int __real_bcm_linkscan_mode_set(int unit, bcm_port_t port, int mode); int __real_bcm_knet_filter_traverse( int unit, bcm_knet_filter_traverse_cb trav_fn, void* user_data); int __real_bcm_port_speed_set(int unit, bcm_port_t port, int speed); int __real_bcm_stg_stp_set( int unit, bcm_stg_t stg, bcm_port_t port, int stp_state); int __real_bcm_l3_route_add(int unit, bcm_l3_route_t* info); int __real_bcm_vlan_default_set(int unit, bcm_vlan_t vid); int __real_bcm_port_speed_get(int unit, bcm_port_t port, int* speed); int __real_bcm_port_learn_get(int unit, bcm_port_t port, uint32* flags); int __real_bcm_stat_clear(int unit, bcm_port_t port); int __real_bcm_l3_egress_multipath_delete( int unit, bcm_if_t mpintf, bcm_if_t intf); int __real_bcm_l2_station_delete(int unit, int station_id); int __real_bcm_attach(int unit, char* type, char* subtype, int remunit); int __real_bcm_l2_age_timer_set(int unit, int age_seconds); int __real_bcm_port_selective_get( int unit, bcm_port_t port, bcm_port_info_t* info); char* __real_bcm_port_name(int unit, int port); int __real_bcm_l3_route_multipath_get( int unit, bcm_l3_route_t* the_route, bcm_l3_route_t* path_array, int max_path, int* path_count); int __real_bcm_stg_list(int unit, bcm_stg_t** list, int* count); int __real_bcm_cosq_bst_stat_clear( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid); int __real_bcm_attach_check(int unit); int __real_bcm_port_ability_local_get( int unit, bcm_port_t port, bcm_port_ability_t* local_ability_mask); int __real_bcm_vlan_gport_delete_all(int unit, bcm_vlan_t vlan); int __real_bcm_stg_destroy(int unit, bcm_stg_t stg); int __real_bcm_stg_default_get(int unit, bcm_stg_t* stg_ptr); int __real_bcm_l2_addr_get( int unit, bcm_mac_t mac_addr, bcm_vlan_t vid, bcm_l2_addr_t* l2addr); int __real_bcm_port_interface_get( int unit, bcm_port_t port, bcm_port_if_t* intf); int __real_bcm_stg_stp_get( int unit, bcm_stg_t stg, bcm_port_t port, int* stp_state); int __real_bcm_l3_route_traverse( int unit, uint32 flags, uint32 start, uint32 end, bcm_l3_route_traverse_cb trav_fn, void* user_data); int __real_bcm_port_selective_set( int unit, bcm_port_t port, bcm_port_info_t* info); int __real_bcm_port_frame_max_get(int unit, bcm_port_t port, int* size); int __real_bcm_l3_ecmp_create( int unit, uint32 options, bcm_l3_egress_ecmp_t* ecmp_info, int ecmp_member_count, bcm_l3_ecmp_member_t* ecmp_member_array); int __real_bcm_l3_egress_ecmp_create( int unit, bcm_l3_egress_ecmp_t* ecmp, int intf_count, bcm_if_t* intf_array); int __real_bcm_attach_max(int* max_units); int __real_bcm_l3_egress_ecmp_add( int unit, bcm_l3_egress_ecmp_t* ecmp, bcm_if_t intf); int __real_bcm_rx_stop(int unit, bcm_rx_cfg_t* cfg); int __real_bcm_l3_route_max_ecmp_set(int unit, int max); int __real_bcm_vlan_port_remove(int unit, bcm_vlan_t vid, bcm_pbmp_t pbmp); int __real_bcm_knet_filter_destroy(int unit, int filter_id); int __real_bcm_field_group_status_get( int unit, bcm_field_group_t group, bcm_field_group_status_t* status); int __real_bcm_field_stat_create( int unit, bcm_field_group_t group, int nstat, bcm_field_stat_t* stat_arr, int* stat_id); int __real_bcm_field_entry_stat_attach( int unit, bcm_field_entry_t entry, int stat_id); int __real_bcm_field_entry_stat_detach( int unit, bcm_field_entry_t entry, int stat_id); int __real_bcm_field_entry_stat_get( int unit, bcm_field_entry_t entry, int* stat_id); int __real_bcm_field_stat_destroy(int unit, int stat_id); int __real_bcm_field_stat_get( int unit, int stat_id, bcm_field_stat_t stat, uint64* value); int __real_bcm_field_stat_size(int unit, int stat_id, int* stat_size); int __real_bcm_field_stat_config_get( int unit, int stat_id, int nstat, bcm_field_stat_t* stat_arr); int __real_bcm_field_entry_reinstall(int unit, bcm_field_entry_t entry); int __real_bcm_field_qualify_RangeCheck_get( int unit, bcm_field_entry_t entry, int max_count, bcm_field_range_t* range, int* invert, int* count); int __real_bcm_field_entry_prio_get( int unit, bcm_field_entry_t entry, int* prio); int __real_bcm_field_qualify_SrcIp6_get( int unit, bcm_field_entry_t entry, bcm_ip6_t* data, bcm_ip6_t* mask); int __real_bcm_field_qualify_DstIp6_get( int unit, bcm_field_entry_t entry, bcm_ip6_t* data, bcm_ip6_t* mask); int __real_bcm_field_qualify_L4SrcPort_get( int unit, bcm_field_entry_t entry, bcm_l4_port_t* data, bcm_l4_port_t* mask); int __real_bcm_field_qualify_L4DstPort_get( int unit, bcm_field_entry_t entry, bcm_l4_port_t* data, bcm_l4_port_t* mask); int __real_bcm_field_qualify_TcpControl_get( int unit, bcm_field_entry_t entry, uint8* data, uint8* mask); int __real_bcm_field_qualify_SrcPort_get( int unit, bcm_field_entry_t entry, bcm_module_t* data_modid, bcm_module_t* mask_modid, bcm_port_t* data_port, bcm_port_t* mask_port); int __real_bcm_field_qualify_DstPort_get( int unit, bcm_field_entry_t entry, bcm_module_t* data_modid, bcm_module_t* mask_modid, bcm_port_t* data_port, bcm_port_t* mask_port); int __real_bcm_field_qualify_IpFrag_get( int unit, bcm_field_entry_t entry, bcm_field_IpFrag_t* frag_info); int __real_bcm_field_qualify_IpProtocol_get( int unit, bcm_field_entry_t entry, uint8* data, uint8* mask); int __real_bcm_field_qualify_DSCP_get( int unit, bcm_field_entry_t entry, uint8* data, uint8* mask); int __real_bcm_field_qualify_IpType_get( int unit, bcm_field_entry_t entry, bcm_field_IpType_t* type); int __real_bcm_field_qualify_EtherType_get( int unit, bcm_field_entry_t entry, uint16* data, uint16* mask); int __real_bcm_field_qualify_Ttl_get( int unit, bcm_field_entry_t entry, uint8* data, uint8* mask); int __real_bcm_field_qualify_DstMac_get( int unit, bcm_field_entry_t entry, bcm_mac_t* data, bcm_mac_t* mask); int __real_bcm_field_qualify_SrcMac_get( int unit, bcm_field_entry_t entry, bcm_mac_t* data, bcm_mac_t* mask); int __real_bcm_field_entry_enable_get( int unit, bcm_field_entry_t entry, int* enable_flag); int __real_bcm_field_qualify_Ttl( int unit, bcm_field_entry_t entry, uint8 data, uint8 mask); int __real_bcm_field_qualify_IpType( int unit, bcm_field_entry_t entry, bcm_field_IpType_t type); int __real_bcm_field_qualify_EtherType( int unit, bcm_field_entry_t entry, uint16 data, uint16 mask); int __real_bcm_field_qualify_DSCP( int unit, bcm_field_entry_t entry, uint8 data, uint8 mask); int __real_bcm_field_qualify_DstClassL2_get( int unit, bcm_field_entry_t entry, uint32* data, uint32* mask); int __real_bcm_field_qualify_DstClassL2( int unit, bcm_field_entry_t entry, uint32 data, uint32 mask); int __real_bcm_field_qualify_DstClassL3_get( int unit, bcm_field_entry_t entry, uint32* data, uint32* mask); int __real_bcm_field_qualify_DstClassL3( int unit, bcm_field_entry_t entry, uint32 data, uint32 mask); int __real_bcm_field_qualify_PacketRes( int unit, bcm_field_entry_t entry, uint32 data, uint32 mask); int __real_bcm_field_qualify_PacketRes_get( int unit, bcm_field_entry_t entry, uint32* data, uint32* mask); int __real_bcm_field_qualify_OuterVlanId( int unit, bcm_field_entry_t entry, bcm_vlan_t data, bcm_vlan_t mask); int __real_bcm_field_qualify_OuterVlanId_get( int unit, bcm_field_entry_t entry, bcm_vlan_t* data, bcm_vlan_t* mask); int __real_bcm_mirror_init(int unit); int __real_bcm_mirror_mode_set(int unit, int mode); int __real_bcm_mirror_destination_create( int unit, bcm_mirror_destination_t* mirror_dest); int __real_bcm_mirror_destination_get( int unit, bcm_gport_t mirror_dest_id, bcm_mirror_destination_t* mirror_dest); int __real_bcm_mirror_destination_destroy(int unit, bcm_gport_t mirror_dest_id); int __real_bcm_mirror_port_dest_add( int unit, bcm_port_t port, uint32 flags, bcm_gport_t mirror_dest_id); int __real_bcm_mirror_port_dest_delete( int unit, bcm_port_t port, uint32 flags, bcm_gport_t mirror_dest_id); int __real_bcm_mirror_port_dest_delete_all( int unit, bcm_port_t port, uint32 flags); int __real_bcm_mirror_port_dest_get( int unit, bcm_port_t port, uint32 flags, int mirror_dest_size, bcm_gport_t* mirror_dest, int* mirror_dest_count); int __real_bcm_mirror_destination_traverse( int unit, bcm_mirror_destination_traverse_cb cb, void* user_data); // mpls int __real_bcm_mpls_init(int unit); int __real_bcm_mpls_tunnel_switch_add(int unit, bcm_mpls_tunnel_switch_t* info); int __real_bcm_mpls_tunnel_switch_delete( int unit, bcm_mpls_tunnel_switch_t* info); int __real_bcm_mpls_tunnel_switch_get(int unit, bcm_mpls_tunnel_switch_t* info); int __real_bcm_mpls_tunnel_switch_traverse( int unit, bcm_mpls_tunnel_switch_traverse_cb cb, void* user_data); int __real_bcm_mpls_tunnel_initiator_set( int unit, bcm_if_t intf, int num_labels, bcm_mpls_egress_label_t* label_array); int __real_bcm_mpls_tunnel_initiator_clear(int unit, bcm_if_t intf); int __real_bcm_mpls_tunnel_initiator_get( int unit, bcm_if_t intf, int label_max, bcm_mpls_egress_label_t* label_array, int* label_count); int __real_bcm_port_resource_speed_get( int unit, bcm_gport_t port, bcm_port_resource_t* resource); int __real_bcm_port_resource_speed_set( int unit, bcm_gport_t port, bcm_port_resource_t* resource); int __real_bcm_port_resource_multi_set( int unit, int nport, bcm_port_resource_t* resource); int __real_bcm_l2_addr_delete_by_port( int unit, bcm_module_t mod, bcm_port_t port, uint32 flags); int __real_bcm_l3_ingress_create( int unit, bcm_l3_ingress_t* ing_intf, bcm_if_t* intf_id); int __real_bcm_l3_ingress_destroy(int unit, bcm_if_t intf_id); int __real_bcm_vlan_control_vlan_set( int unit, bcm_vlan_t vlan, bcm_vlan_control_vlan_t control); int __real_bcm_vlan_control_vlan_get( int unit, bcm_vlan_t vlan, bcm_vlan_control_vlan_t* control); int __real_sh_process_command(int unit, char* cmd); int __real_bcm_cosq_priority_group_mapping_profile_get( int unit, int profile_index, bcm_cosq_priority_group_mapping_profile_type_t type, int array_max, int* arg, int* array_count); int __real_bcm_cosq_priority_group_mapping_profile_set( int unit, int profile_index, bcm_cosq_priority_group_mapping_profile_type_t type, int array_max, int* arg); int __real_bcm_cosq_priority_group_pfc_priority_mapping_profile_get( int unit, int profile_index, int array_max, int* pg_array, int* array_count); int __real_bcm_cosq_priority_group_pfc_priority_mapping_profile_set( int unit, int profile_index, int array_count, int* pg_array); int __real_bcm_cosq_pfc_class_config_profile_set( int unit, int profile_index, int count, bcm_cosq_pfc_class_map_config_t* config_array); int __real_bcm_cosq_pfc_class_config_profile_get( int unit, int profile_index, int max_count, bcm_cosq_pfc_class_map_config_t* config_array, int* count); int __real_bcm_port_priority_group_config_set( int unit, bcm_gport_t gport, int priority_group, bcm_port_priority_group_config_t* prigrp_config); int __real_bcm_port_priority_group_config_get( int unit, bcm_gport_t gport, int priority_group, bcm_port_priority_group_config_t* prigrp_config); int __real_bcm_cosq_port_priority_group_property_get( int unit, bcm_port_t gport, int priority_group_id, bcm_cosq_port_prigroup_control_t type, int* arg); int __real_bcm_cosq_port_priority_group_property_set( int unit, bcm_port_t gport, int priority_group_id, bcm_cosq_port_prigroup_control_t type, int arg); int __real_bcm_collector_create( int unit, uint32 options, bcm_collector_t* collector_id, bcm_collector_info_t* collector_info); int __real_bcm_collector_destroy(int unit, bcm_collector_t id); int __real_bcm_collector_export_profile_create( int unit, uint32 options, int* export_profile_id, bcm_collector_export_profile_t* export_profile_info); int __real_bcm_collector_export_profile_destroy( int unit, int export_profile_id); void __real_bcm_collector_export_profile_t_init( bcm_collector_export_profile_t* export_profile_info); void __real_bcm_collector_info_t_init(bcm_collector_info_t* collector_info); int __real_bcm_port_phy_timesync_config_set( int unit, bcm_port_t port, bcm_port_phy_timesync_config_t* conf); void __real_bcm_port_phy_timesync_config_t_init( bcm_port_phy_timesync_config_t* conf); int __real_bcm_port_timesync_config_set( int unit, bcm_port_t port, int config_count, bcm_port_timesync_config_t* config_array); void __real_bcm_port_timesync_config_t_init( bcm_port_timesync_config_t* port_timesync_config); int __real_bcm_time_interface_add(int unit, bcm_time_interface_t* intf); int __real_bcm_time_interface_delete_all(int unit); void __real_bcm_time_interface_t_init(bcm_time_interface_t* intf); int __real_bcm_field_entry_flexctr_attach( int unit, bcm_field_entry_t entry, bcm_field_flexctr_config_t* flexctr_cfg); int __real_bcm_field_entry_flexctr_detach( int unit, bcm_field_entry_t entry, bcm_field_flexctr_config_t* flexctr_cfg); int __real_bcm_field_entry_remove(int unit, bcm_field_entry_t entry); int __real_bcm_cosq_pfc_deadlock_control_set( int unit, bcm_port_t port, int priority, bcm_cosq_pfc_deadlock_control_t type, int arg); int __real_bcm_cosq_pfc_deadlock_control_get( int unit, bcm_port_t port, int priority, bcm_cosq_pfc_deadlock_control_t type, int* arg); int __real_bcm_cosq_pfc_deadlock_recovery_event_register( int unit, bcm_cosq_pfc_deadlock_recovery_event_cb_t callback, void* userdata); int __real_bcm_cosq_pfc_deadlock_recovery_event_unregister( int unit, bcm_cosq_pfc_deadlock_recovery_event_cb_t callback, void* userdata); int __real_bcm_flexctr_action_create( int unit, int options, bcm_flexctr_action_t* action, uint32* stat_counter_id); int __real_bcm_flexctr_action_destroy(int unit, uint32 stat_counter_id); int __real_bcm_l3_route_stat_attach( int unit, bcm_l3_route_t* info, uint32 stat_counter_id); int __real_bcm_l3_route_stat_detach(int unit, bcm_l3_route_t* info); int __real_bcm_l3_route_flexctr_object_set( int unit, bcm_l3_route_t* info, uint32 value); int __real_bcm_stat_custom_group_create( int unit, uint32 mode_id, bcm_stat_object_t object, uint32* stat_counter_id, uint32* num_entries); int __real_bcm_stat_group_destroy(int unit, uint32 stat_counter_id); int __real_bcm_stat_group_mode_id_create( int unit, uint32 flags, uint32 total_counters, uint32 num_selectors, bcm_stat_group_mode_attr_selector_t* attr_selectors, uint32* mode_id); int __real_bcm_stat_group_mode_id_destroy(int unit, uint32 mode_id); int __real_bcm_port_ifg_get( int unit, bcm_port_t port, int speed, bcm_port_duplex_t duplex, int* bit_times); int __real_bcm_port_ifg_set( int unit, bcm_port_t port, int speed, bcm_port_duplex_t duplex, int bit_times); } // extern "C" using namespace facebook::fboss; extern "C" { #define CALL_WRAPPERS_RV(func_call) \ if (facebook::fboss::SdkWrapSettings::getInstance()->sdkCallsBlocked()) { \ return 0; \ } \ { \ TIME_CALL; \ auto rv = __real_##func_call; \ if (FLAGS_enable_bcm_cinter) { \ facebook::fboss::BcmCinter::getInstance()->func_call; \ } \ return rv; \ } #define CALL_WRAPPERS_RV_CINTER_FIRST(func_call) \ if (facebook::fboss::SdkWrapSettings::getInstance()->sdkCallsBlocked()) { \ return 0; \ } \ if (FLAGS_enable_bcm_cinter) { \ facebook::fboss::BcmCinter::getInstance()->func_call; \ } \ return __real_##func_call; #define CALL_WRAPPERS_NO_RV(func_call) \ if (facebook::fboss::SdkWrapSettings::getInstance()->sdkCallsBlocked()) { \ return; \ } \ { \ TIME_CALL; \ __real_##func_call; \ } \ if (FLAGS_enable_bcm_cinter) { \ facebook::fboss::BcmCinter::getInstance()->func_call; \ } // Getters int __wrap_bcm_switch_pkt_trace_info_get( int unit, uint32 options, uint8 port, int len, uint8* data, bcm_switch_pkt_trace_info_t* pkt_trace_info) { CALL_WRAPPERS_RV(bcm_switch_pkt_trace_info_get( unit, options, port, len, data, pkt_trace_info)); } int __wrap_bcm_field_range_create( int unit, bcm_field_range_t* range, uint32 flags, bcm_l4_port_t min, bcm_l4_port_t max) { CALL_WRAPPERS_RV(bcm_field_range_create(unit, range, flags, min, max)); } int __wrap_bcm_field_range_get( int unit, bcm_field_range_t range, uint32* flags, bcm_l4_port_t* min, bcm_l4_port_t* max) { CALL_WRAPPERS_RV(bcm_field_range_get(unit, range, flags, min, max)); } int __wrap_bcm_port_control_get( int unit, bcm_port_t port, bcm_port_control_t type, int* value) { CALL_WRAPPERS_RV(bcm_port_control_get(unit, port, type, value)); } int __wrap_bcm_port_phy_control_get( int unit, bcm_port_t port, bcm_port_phy_control_t type, uint32* value) { CALL_WRAPPERS_RV(bcm_port_phy_control_get(unit, port, type, value)); } int __wrap_bcm_rx_active(int unit) { CALL_WRAPPERS_RV(bcm_rx_active(unit)); } int __wrap_bcm_cosq_bst_stat_clear( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid) { CALL_WRAPPERS_RV(bcm_cosq_bst_stat_clear(unit, gport, cosq, bid)); } int __wrap_bcm_rx_cosq_mapping_size_get(int unit, int* size) { CALL_WRAPPERS_RV(bcm_rx_cosq_mapping_size_get(unit, size)); } int __wrap_bcm_l2_traverse( int unit, bcm_l2_traverse_cb trav_fn, void* user_data) { CALL_WRAPPERS_RV(bcm_l2_traverse(unit, trav_fn, user_data)); } int __wrap_bcm_port_subsidiary_ports_get( int unit, bcm_port_t port, bcm_pbmp_t* pbmp) { CALL_WRAPPERS_RV(bcm_port_subsidiary_ports_get(unit, port, pbmp)); } int __wrap_bcm_field_group_enable_get( int unit, bcm_field_group_t group, int* enable) { CALL_WRAPPERS_RV(bcm_field_group_enable_get(unit, group, enable)); } int __wrap_bcm_l3_info(int unit, bcm_l3_info_t* l3info) { CALL_WRAPPERS_RV(bcm_l3_info(unit, l3info)); } int __wrap_bcm_cosq_bst_profile_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid, bcm_cosq_bst_profile_t* profile) { CALL_WRAPPERS_RV(bcm_cosq_bst_profile_get(unit, gport, cosq, bid, profile)); } int __wrap_bcm_switch_object_count_multi_get( int unit, int object_size, bcm_switch_object_t* object_array, int* entries) { CALL_WRAPPERS_RV(bcm_switch_object_count_multi_get( unit, object_size, object_array, entries)); } int __wrap_bcm_switch_object_count_get( int unit, bcm_switch_object_t object, int* entries) { CALL_WRAPPERS_RV(bcm_switch_object_count_get(unit, object, entries)); } #if (BCM_SDK_VERSION >= BCM_VERSION(6, 5, 19)) int __wrap_bcm_l3_alpm_resource_get( int unit, bcm_l3_route_group_t grp, bcm_l3_alpm_resource_t* resource) { CALL_WRAPPERS_RV(bcm_l3_alpm_resource_get(unit, grp, resource)); } #endif int __wrap_bcm_field_entry_multi_get( int unit, bcm_field_group_t group, int entry_size, bcm_field_entry_t* entry_array, int* entry_count) { CALL_WRAPPERS_RV(bcm_field_entry_multi_get( unit, group, entry_size, entry_array, entry_count)); } int __wrap_bcm_cosq_bst_stat_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid, uint32 options, uint64* value) { CALL_WRAPPERS_RV( bcm_cosq_bst_stat_get(unit, gport, cosq, bid, options, value)); } int __wrap_bcm_stat_custom_add( int unit, bcm_port_t port, bcm_stat_val_t type, bcm_custom_stat_trigger_t trigger) { CALL_WRAPPERS_RV(bcm_stat_custom_add(unit, port, type, trigger)); } int __wrap_bcm_l3_egress_ecmp_get( int unit, bcm_l3_egress_ecmp_t* ecmp, int intf_size, bcm_if_t* intf_array, int* intf_count) { CALL_WRAPPERS_RV( bcm_l3_egress_ecmp_get(unit, ecmp, intf_size, intf_array, intf_count)); } int __wrap_bcm_l3_enable_set(int unit, int enable) { CALL_WRAPPERS_RV(bcm_l3_enable_set(unit, enable)); } int __wrap_bcm_rx_queue_max_get(int unit, bcm_cos_queue_t* cosq) { CALL_WRAPPERS_RV(bcm_rx_queue_max_get(unit, cosq)); } int __wrap_bcm_field_group_get( int unit, bcm_field_group_t group, bcm_field_qset_t* qset) { CALL_WRAPPERS_RV(bcm_field_group_get(unit, group, qset)); } int __wrap_bcm_cosq_control_get( int unit, bcm_gport_t port, bcm_cos_queue_t cosq, bcm_cosq_control_t type, int* arg) { CALL_WRAPPERS_RV(bcm_cosq_control_get(unit, port, cosq, type, arg)); } int __wrap_bcm_port_pause_get( int unit, bcm_port_t port, int* pause_tx, int* pause_rx) { CALL_WRAPPERS_RV(bcm_port_pause_get(unit, port, pause_tx, pause_rx)); } int __wrap_bcm_port_sample_rate_get( int unit, bcm_port_t port, int* ingress_rate, int* egress_rate) { CALL_WRAPPERS_RV( bcm_port_sample_rate_get(unit, port, ingress_rate, egress_rate)); } int __wrap_bcm_field_action_get( int unit, bcm_field_entry_t entry, bcm_field_action_t action, uint32* param0, uint32* param1) { CALL_WRAPPERS_RV(bcm_field_action_get(unit, entry, action, param0, param1)); } int __wrap_bcm_info_get(int unit, bcm_info_t* info) { CALL_WRAPPERS_RV(bcm_info_get(unit, info)); } int __wrap_bcm_port_phy_tx_get( int unit, bcm_port_t port, bcm_port_phy_tx_t* tx) { CALL_WRAPPERS_RV(bcm_port_phy_tx_get(unit, port, tx)); } int __wrap_bcm_port_phy_tx_set( int unit, bcm_port_t port, bcm_port_phy_tx_t* tx) { CALL_WRAPPERS_RV(bcm_port_phy_tx_set(unit, port, tx)); } // Port setters int __wrap_bcm_port_phy_control_set( int unit, bcm_port_t port, bcm_port_phy_control_t type, uint32 value) { CALL_WRAPPERS_RV(bcm_port_phy_control_set(unit, port, type, value)); } int __wrap_bcm_port_ability_advert_set( int unit, bcm_port_t port, bcm_port_ability_t* ability_mask) { CALL_WRAPPERS_RV(bcm_port_ability_advert_set(unit, port, ability_mask)); } int __wrap_bcm_port_autoneg_set(int unit, bcm_port_t port, int autoneg) { CALL_WRAPPERS_RV(bcm_port_autoneg_set(unit, port, autoneg)); } int __wrap_bcm_port_pause_sym_set(int unit, bcm_port_t port, int pause) { CALL_WRAPPERS_RV(bcm_port_pause_sym_set(unit, port, pause)); } int __wrap_bcm_port_pause_set( int unit, bcm_port_t port, int pause_tx, int pause_rx) { CALL_WRAPPERS_RV(bcm_port_pause_set(unit, port, pause_tx, pause_rx)); } int __wrap_bcm_port_sample_rate_set( int unit, bcm_port_t port, int ingress_rate, int egress_rate) { CALL_WRAPPERS_RV( bcm_port_sample_rate_set(unit, port, ingress_rate, egress_rate)); } int __wrap_bcm_port_control_set( int unit, bcm_port_t port, bcm_port_control_t type, int value) { CALL_WRAPPERS_RV(bcm_port_control_set(unit, port, type, value)); } int __wrap_bcm_linkscan_update(int unit, bcm_pbmp_t pbmp) { CALL_WRAPPERS_RV(bcm_linkscan_update(unit, pbmp)); } // Cos int __wrap_bcm_cosq_bst_profile_set( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_bst_stat_id_t bid, bcm_cosq_bst_profile_t* profile) { CALL_WRAPPERS_RV(bcm_cosq_bst_profile_set(unit, gport, cosq, bid, profile)); } int __wrap_bcm_rx_cosq_mapping_set( int unit, int index, bcm_rx_reasons_t reasons, bcm_rx_reasons_t reasons_mask, uint8 int_prio, uint8 int_prio_mask, uint32 packet_type, uint32 packet_type_mask, bcm_cos_queue_t cosq) { CALL_WRAPPERS_RV(bcm_rx_cosq_mapping_set( unit, index, reasons, reasons_mask, int_prio, int_prio_mask, packet_type, packet_type_mask, cosq)); } int __wrap_bcm_rx_cosq_mapping_get( int unit, int index, bcm_rx_reasons_t* reasons, bcm_rx_reasons_t* reasons_mask, uint8* int_prio, uint8* int_prio_mask, uint32* packet_type, uint32* packet_type_mask, bcm_cos_queue_t* cosq) { CALL_WRAPPERS_RV(bcm_rx_cosq_mapping_get( unit, index, reasons, reasons_mask, int_prio, int_prio_mask, packet_type, packet_type_mask, cosq)); } int __wrap_bcm_rx_cosq_mapping_delete(int unit, int index) { CALL_WRAPPERS_RV(bcm_rx_cosq_mapping_delete(unit, index)); } int __wrap_bcm_rx_cosq_mapping_extended_add( int unit, int options, bcm_rx_cosq_mapping_t* cosqMap) { CALL_WRAPPERS_RV(bcm_rx_cosq_mapping_extended_add(unit, options, cosqMap)); } int __wrap_bcm_rx_cosq_mapping_extended_delete( int unit, bcm_rx_cosq_mapping_t* cosqMap) { CALL_WRAPPERS_RV(bcm_rx_cosq_mapping_extended_delete(unit, cosqMap)); } int __wrap_bcm_rx_cosq_mapping_extended_set( int unit, uint32 options, bcm_rx_cosq_mapping_t* cosqMap) { CALL_WRAPPERS_RV(bcm_rx_cosq_mapping_extended_set(unit, options, cosqMap)); } int __wrap_bcm_cosq_bst_stat_sync(int unit, bcm_bst_stat_id_t bid) { CALL_WRAPPERS_RV(bcm_cosq_bst_stat_sync(unit, bid)); } void __wrap_bcm_cosq_gport_discard_t_init(bcm_cosq_gport_discard_t* discard) { CALL_WRAPPERS_NO_RV(bcm_cosq_gport_discard_t_init(discard)); } int __wrap_bcm_cosq_gport_discard_set( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_cosq_gport_discard_t* discard) { CALL_WRAPPERS_RV(bcm_cosq_gport_discard_set(unit, gport, cosq, discard)); } int __wrap_bcm_cosq_gport_mapping_set( int unit, bcm_gport_t ing_port, bcm_cos_t priority, uint32_t flags, bcm_gport_t gport, bcm_cos_queue_t cosq) { CALL_WRAPPERS_RV( bcm_cosq_gport_mapping_set(unit, ing_port, priority, flags, gport, cosq)); } int __wrap_bcm_cosq_gport_mapping_get( int unit, bcm_gport_t ing_port, bcm_cos_t priority, uint32_t flags, bcm_gport_t* gport, bcm_cos_queue_t* cosq) { CALL_WRAPPERS_RV( bcm_cosq_gport_mapping_get(unit, ing_port, priority, flags, gport, cosq)); } int __wrap_bcm_cosq_gport_discard_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, bcm_cosq_gport_discard_t* discard) { CALL_WRAPPERS_RV(bcm_cosq_gport_discard_get(unit, gport, cosq, discard)); } int __wrap_bcm_cosq_init(int unit) { CALL_WRAPPERS_RV(bcm_cosq_init(unit)); } int __wrap_bcm_cosq_gport_traverse( int unit, bcm_cosq_gport_traverse_cb cb, void* user_data) { CALL_WRAPPERS_RV(bcm_cosq_gport_traverse(unit, cb, user_data)); } int __wrap_bcm_cosq_gport_sched_set( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, int mode, int weight) { CALL_WRAPPERS_RV(bcm_cosq_gport_sched_set(unit, gport, cosq, mode, weight)); } int __wrap_bcm_cosq_gport_sched_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, int* mode, int* weight) { CALL_WRAPPERS_RV(bcm_cosq_gport_sched_get(unit, gport, cosq, mode, weight)); } int __wrap_bcm_cosq_control_set( int unit, bcm_gport_t port, bcm_cos_queue_t cosq, bcm_cosq_control_t type, int arg) { CALL_WRAPPERS_RV(bcm_cosq_control_set(unit, port, cosq, type, arg)); } int __wrap_bcm_cosq_gport_bandwidth_set( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, uint32 kbits_sec_min, uint32 kbits_sec_max, uint32 flags) { CALL_WRAPPERS_RV(bcm_cosq_gport_bandwidth_set( unit, gport, cosq, kbits_sec_min, kbits_sec_max, flags)); } int __wrap_bcm_cosq_gport_bandwidth_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, uint32* kbits_sec_min, uint32* kbits_sec_max, uint32* flags) { CALL_WRAPPERS_RV(bcm_cosq_gport_bandwidth_get( unit, gport, cosq, kbits_sec_min, kbits_sec_max, flags)); } // QoS int __wrap_bcm_qos_map_create(int unit, uint32 flags, int* map_id) { CALL_WRAPPERS_RV(bcm_qos_map_create(unit, flags, map_id)); } int __wrap_bcm_qos_map_destroy(int unit, int map_id) { CALL_WRAPPERS_RV(bcm_qos_map_destroy(unit, map_id)); } int __wrap_bcm_qos_map_add( int unit, uint32 flags, bcm_qos_map_t* map, int map_id) { CALL_WRAPPERS_RV(bcm_qos_map_add(unit, flags, map, map_id)); } int __wrap_bcm_qos_map_delete( int unit, uint32 flags, bcm_qos_map_t* map, int map_id) { CALL_WRAPPERS_RV(bcm_qos_map_delete(unit, flags, map, map_id)); } int __wrap_bcm_qos_map_multi_get( int unit, uint32 flags, int map_id, int array_size, bcm_qos_map_t* array, int* array_count) { CALL_WRAPPERS_RV(bcm_qos_map_multi_get( unit, flags, map_id, array_size, array, array_count)); } int __wrap_bcm_qos_multi_get( int unit, int array_size, int* map_ids_array, int* flags_array, int* array_count) { CALL_WRAPPERS_RV(bcm_qos_multi_get( unit, array_size, map_ids_array, flags_array, array_count)); } int __wrap_bcm_qos_port_map_set( int unit, bcm_gport_t gport, int ing_map, int egr_map) { CALL_WRAPPERS_RV(bcm_qos_port_map_set(unit, gport, ing_map, egr_map)); } int __wrap_bcm_qos_port_map_get( int unit, bcm_gport_t gport, int* ing_map, int* egr_map) { CALL_WRAPPERS_RV(bcm_qos_port_map_get(unit, gport, ing_map, egr_map)); } int __wrap_bcm_qos_port_map_type_get( int unit, bcm_gport_t gport, uint32 flags, int* map_id) { CALL_WRAPPERS_RV(bcm_qos_port_map_type_get(unit, gport, flags, map_id)); } int __wrap_bcm_port_dscp_map_mode_get(int unit, bcm_port_t port, int* mode) { CALL_WRAPPERS_RV(bcm_port_dscp_map_mode_get(unit, port, mode)); } int __wrap_bcm_port_dscp_map_mode_set(int unit, bcm_port_t port, int mode) { CALL_WRAPPERS_RV(bcm_port_dscp_map_mode_set(unit, port, mode)); } // FP int __wrap_bcm_field_qualify_IpProtocol( int unit, bcm_field_entry_t entry, uint8 data, uint8 mask) { CALL_WRAPPERS_RV(bcm_field_qualify_IpProtocol(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_DstIp( int unit, bcm_field_entry_t entry, bcm_ip_t data, bcm_ip_t mask) { CALL_WRAPPERS_RV(bcm_field_qualify_DstIp(unit, entry, data, mask)); } int __wrap_bcm_field_entry_create_id( int unit, bcm_field_group_t group, bcm_field_entry_t entry) { CALL_WRAPPERS_RV(bcm_field_entry_create_id(unit, group, entry)); } int __wrap_bcm_field_init(int unit) { CALL_WRAPPERS_RV(bcm_field_init(unit)); } int __wrap_bcm_field_group_create_id( int unit, bcm_field_qset_t qset, int pri, bcm_field_group_t group) { CALL_WRAPPERS_RV(bcm_field_group_create_id(unit, qset, pri, group)); } int __wrap_bcm_field_group_config_create( int unit, bcm_field_group_config_t* group_config) { CALL_WRAPPERS_RV(bcm_field_group_config_create(unit, group_config)); } int __wrap_bcm_field_entry_create( int unit, bcm_field_group_t group, bcm_field_entry_t* entry) { CALL_WRAPPERS_RV(bcm_field_entry_create(unit, group, entry)); } int __wrap_bcm_field_entry_install(int unit, bcm_field_entry_t entry) { CALL_WRAPPERS_RV(bcm_field_entry_install(unit, entry)); } int __wrap_bcm_field_action_add( int unit, bcm_field_entry_t entry, bcm_field_action_t action, uint32 param0, uint32 param1) { CALL_WRAPPERS_RV(bcm_field_action_add(unit, entry, action, param0, param1)); } int __wrap_bcm_field_action_delete( int unit, bcm_field_entry_t entry, bcm_field_action_t action, uint32 param0, uint32 param1) { CALL_WRAPPERS_RV( bcm_field_action_delete(unit, entry, action, param0, param1)); } int __wrap_bcm_field_entry_prio_set( int unit, bcm_field_entry_t entry, int prio) { CALL_WRAPPERS_RV(bcm_field_entry_prio_set(unit, entry, prio)); } int __wrap_bcm_field_qualify_DstIp6( int unit, bcm_field_entry_t entry, bcm_ip6_t data, bcm_ip6_t mask) { CALL_WRAPPERS_RV(bcm_field_qualify_DstIp6(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_SrcIp6( int unit, bcm_field_entry_t entry, bcm_ip6_t data, bcm_ip6_t mask) { CALL_WRAPPERS_RV(bcm_field_qualify_SrcIp6(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_InPorts( int unit, bcm_field_entry_t entry, bcm_pbmp_t data, bcm_pbmp_t mask) { CALL_WRAPPERS_RV(bcm_field_qualify_InPorts(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_L4DstPort( int unit, bcm_field_entry_t entry, bcm_l4_port_t data, bcm_l4_port_t mask) { CALL_WRAPPERS_RV(bcm_field_qualify_L4DstPort(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_L4SrcPort( int unit, bcm_field_entry_t entry, bcm_l4_port_t data, bcm_l4_port_t mask) { CALL_WRAPPERS_RV(bcm_field_qualify_L4SrcPort(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_DstMac( int unit, bcm_field_entry_t entry, bcm_mac_t mac, bcm_mac_t macMask) { CALL_WRAPPERS_RV(bcm_field_qualify_DstMac(unit, entry, mac, macMask)); } int __wrap_bcm_field_qualify_SrcMac( int unit, bcm_field_entry_t entry, bcm_mac_t mac, bcm_mac_t macMask) { CALL_WRAPPERS_RV(bcm_field_qualify_SrcMac(unit, entry, mac, macMask)); } int __wrap_bcm_field_qualify_IcmpTypeCode( int unit, bcm_field_entry_t entry, uint16 data, uint16 mask) { CALL_WRAPPERS_RV(bcm_field_qualify_IcmpTypeCode(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_SrcPort( int unit, bcm_field_entry_t entry, bcm_module_t data_modid, bcm_module_t mask_modid, bcm_port_t data_port, bcm_port_t mask_port) { CALL_WRAPPERS_RV(bcm_field_qualify_SrcPort( unit, entry, data_modid, mask_modid, data_port, mask_port)); } int __wrap_bcm_field_qualify_DstPort( int unit, bcm_field_entry_t entry, bcm_module_t data_modid, bcm_module_t mask_modid, bcm_port_t data_port, bcm_port_t mask_port) { CALL_WRAPPERS_RV(bcm_field_qualify_DstPort( unit, entry, data_modid, mask_modid, data_port, mask_port)); } int __wrap_bcm_field_qualify_RangeCheck( int unit, bcm_field_entry_t entry, bcm_field_range_t range, int invert) { CALL_WRAPPERS_RV(bcm_field_qualify_RangeCheck(unit, entry, range, invert)); } int __wrap_bcm_field_qualify_TcpControl( int unit, bcm_field_entry_t entry, uint8 data, uint8 mask) { CALL_WRAPPERS_RV(bcm_field_qualify_TcpControl(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_IpFrag( int unit, bcm_field_entry_t entry, bcm_field_IpFrag_t frag_info) { CALL_WRAPPERS_RV(bcm_field_qualify_IpFrag(unit, entry, frag_info)); } int __wrap_bcm_field_range_destroy(int unit, bcm_field_range_t range) { CALL_WRAPPERS_RV(bcm_field_range_destroy(unit, range)); } int __wrap_bcm_field_entry_destroy(int unit, bcm_field_entry_t entry) { CALL_WRAPPERS_RV(bcm_field_entry_destroy(unit, entry)); } int __wrap_bcm_field_group_destroy(int unit, bcm_field_group_t group) { CALL_WRAPPERS_RV(bcm_field_group_destroy(unit, group)); } // Switch control int __wrap_bcm_switch_control_set( int unit, bcm_switch_control_t type, int arg) { CALL_WRAPPERS_RV(bcm_switch_control_set(unit, type, arg)); } int __wrap_bcm_switch_control_get( int unit, bcm_switch_control_t type, int* arg) { CALL_WRAPPERS_RV(bcm_switch_control_get(unit, type, arg)); } // L3 int __wrap_bcm_l3_egress_get(int unit, bcm_if_t intf, bcm_l3_egress_t* info) { CALL_WRAPPERS_RV(bcm_l3_egress_get(unit, intf, info)); } int __wrap_bcm_l3_egress_create( int unit, uint32 flags, bcm_l3_egress_t* egr, bcm_if_t* if_id) { CALL_WRAPPERS_RV(bcm_l3_egress_create(unit, flags, egr, if_id)); } int __wrap_bcm_l3_egress_find(int unit, bcm_l3_egress_t* egr, bcm_if_t* intf) { CALL_WRAPPERS_RV(bcm_l3_egress_find(unit, egr, intf)); } int __wrap_bcm_l3_egress_traverse( int unit, bcm_l3_egress_traverse_cb trav_fn, void* user_data) { CALL_WRAPPERS_RV(bcm_l3_egress_traverse(unit, trav_fn, user_data)); } // ECMP int __wrap_bcm_l3_ecmp_member_add( int unit, bcm_if_t ecmp_group_id, bcm_l3_ecmp_member_t* ecmp_member) { CALL_WRAPPERS_RV(bcm_l3_ecmp_member_add(unit, ecmp_group_id, ecmp_member)); } int __wrap_bcm_l3_egress_ecmp_add( int unit, bcm_l3_egress_ecmp_t* ecmp, bcm_if_t intf) { CALL_WRAPPERS_RV(bcm_l3_egress_ecmp_add(unit, ecmp, intf)); } int __wrap_bcm_l3_ecmp_member_delete( int unit, bcm_if_t ecmp_group_id, bcm_l3_ecmp_member_t* ecmp_member) { CALL_WRAPPERS_RV(bcm_l3_ecmp_member_delete(unit, ecmp_group_id, ecmp_member)); } int __wrap_bcm_l3_egress_ecmp_delete( int unit, bcm_l3_egress_ecmp_t* ecmp, bcm_if_t intf) { CALL_WRAPPERS_RV(bcm_l3_egress_ecmp_delete(unit, ecmp, intf)); } // Trunks int __wrap_bcm_trunk_init(int unit) { CALL_WRAPPERS_RV(bcm_trunk_init(unit)); } int __wrap_bcm_trunk_create(int unit, uint32 flags, bcm_trunk_t* tid) { CALL_WRAPPERS_RV(bcm_trunk_create(unit, flags, tid)); } int __wrap_bcm_trunk_destroy(int unit, bcm_trunk_t tid) { CALL_WRAPPERS_RV(bcm_trunk_destroy(unit, tid)); } int __wrap_bcm_trunk_find( int unit, bcm_module_t modid, bcm_port_t port, bcm_trunk_t* trunk) { CALL_WRAPPERS_RV(bcm_trunk_find(unit, modid, port, trunk)); } int __wrap_bcm_trunk_bitmap_expand(int unit, bcm_pbmp_t* pbmp_ptr) { CALL_WRAPPERS_RV(bcm_trunk_bitmap_expand(unit, pbmp_ptr)); } int __wrap_bcm_trunk_get( int unit, bcm_trunk_t tid, bcm_trunk_info_t* t_data, int member_max, bcm_trunk_member_t* member_array, int* member_count) { CALL_WRAPPERS_RV( bcm_trunk_get(unit, tid, t_data, member_max, member_array, member_count)); } int __wrap_bcm_trunk_set( int unit, bcm_trunk_t tid, bcm_trunk_info_t* trunk_info, int member_count, bcm_trunk_member_t* member_array) { CALL_WRAPPERS_RV( bcm_trunk_set(unit, tid, trunk_info, member_count, member_array)); } int __wrap_bcm_trunk_member_add( int unit, bcm_trunk_t tid, bcm_trunk_member_t* member) { CALL_WRAPPERS_RV(bcm_trunk_member_add(unit, tid, member)); } int __wrap_bcm_trunk_member_delete( int unit, bcm_trunk_t tid, bcm_trunk_member_t* member) { CALL_WRAPPERS_RV(bcm_trunk_member_delete(unit, tid, member)); } // Port loopback mode int __wrap_bcm_port_loopback_get(int unit, bcm_port_t port, uint32* value) { CALL_WRAPPERS_RV(bcm_port_loopback_get(unit, port, value)); } int __wrap_bcm_port_loopback_set(int unit, bcm_port_t port, uint32 value) { CALL_WRAPPERS_RV(bcm_port_loopback_set(unit, port, value)); } // Bcm int __wrap_bcm_vlan_control_port_set( int unit, int port, bcm_vlan_control_port_t type, int arg) { CALL_WRAPPERS_RV(bcm_vlan_control_port_set(unit, port, type, arg)); } int __wrap_bcm_stat_get( int unit, bcm_port_t port, bcm_stat_val_t type, uint64* value) { CALL_WRAPPERS_RV(bcm_stat_get(unit, port, type, value)); } int __wrap_bcm_linkscan_register(int unit, bcm_linkscan_handler_t f) { CALL_WRAPPERS_RV(bcm_linkscan_register(unit, f)); } int __wrap_bcm_rx_register( int unit, const char* name, bcm_rx_cb_f callback, uint8 priority, void* cookie, uint32 flags) { CALL_WRAPPERS_RV( bcm_rx_register(unit, name, callback, priority, cookie, flags)); } int __wrap_bcm_port_speed_get(int unit, bcm_port_t port, int* speed) { CALL_WRAPPERS_RV(bcm_port_speed_get(unit, port, speed)); } int __wrap_bcm_stk_my_modid_get(int unit, int* my_modid) { CALL_WRAPPERS_RV(bcm_stk_my_modid_get(unit, my_modid)); } int __wrap_bcm_stg_list_destroy(int unit, bcm_stg_t* list, int count) { CALL_WRAPPERS_RV(bcm_stg_list_destroy(unit, list, count)); } int __wrap_bcm_rx_control_set(int unit, bcm_rx_control_t type, int arg) { CALL_WRAPPERS_RV(bcm_rx_control_set(unit, type, arg)); } int __wrap_bcm_stg_list(int unit, bcm_stg_t** list, int* count) { CALL_WRAPPERS_RV(bcm_stg_list(unit, list, count)); } int __wrap_bcm_l3_init(int unit) { CALL_WRAPPERS_RV(bcm_l3_init(unit)); } bcm_ip_t __wrap_bcm_ip_mask_create(int len) { CALL_WRAPPERS_RV(bcm_ip_mask_create(len)); } int __wrap_bcm_port_dtag_mode_get(int unit, bcm_port_t port, int* mode) { CALL_WRAPPERS_RV(bcm_port_dtag_mode_get(unit, port, mode)); } int __wrap_bcm_port_ability_advert_get( int unit, bcm_port_t port, bcm_port_ability_t* ability_mask) { CALL_WRAPPERS_RV(bcm_port_ability_advert_get(unit, port, ability_mask)); } void __wrap_bcm_port_config_t_init(bcm_port_config_t* config) { CALL_WRAPPERS_NO_RV(bcm_port_config_t_init(config)); } int __wrap_bcm_port_config_get(int unit, bcm_port_config_t* config) { CALL_WRAPPERS_RV(bcm_port_config_get(unit, config)); } int __wrap_bcm_port_gport_get(int unit, bcm_port_t port, bcm_gport_t* gport) { CALL_WRAPPERS_RV(bcm_port_gport_get(unit, port, gport)); } int __wrap_bcm_l3_route_delete_all(int unit, bcm_l3_route_t* info) { CALL_WRAPPERS_RV(bcm_l3_route_delete_all(unit, info)); } int __wrap_bcm_port_learn_get(int unit, bcm_port_t port, uint32* flags) { CALL_WRAPPERS_RV(bcm_port_learn_get(unit, port, flags)); } int __wrap_bcm_port_queued_count_get(int unit, bcm_port_t port, uint32* count) { CALL_WRAPPERS_RV(bcm_port_queued_count_get(unit, port, count)); } int __wrap_bcm_port_selective_set( int unit, bcm_port_t port, bcm_port_info_t* info) { CALL_WRAPPERS_RV(bcm_port_selective_set(unit, port, info)); } int __wrap_bcm_rx_start(int unit, bcm_rx_cfg_t* cfg) { CALL_WRAPPERS_RV(bcm_rx_start(unit, cfg)); } int __wrap_bcm_rx_free(int unit, void* pkt_data) { CALL_WRAPPERS_RV(bcm_rx_free(unit, pkt_data)); } int __wrap_bcm_vlan_default_set(int unit, bcm_vlan_t vid) { CALL_WRAPPERS_RV(bcm_vlan_default_set(unit, vid)); } int __wrap_bcm_l3_route_max_ecmp_set(int unit, int max) { CALL_WRAPPERS_RV(bcm_l3_route_max_ecmp_set(unit, max)); } int __wrap_bcm_vlan_destroy_all(int unit) { CALL_WRAPPERS_RV(bcm_vlan_destroy_all(unit)); } int __wrap_bcm_detach(int unit) { if (!facebook::fboss::BcmCinter::getInstance()) { return 0; } CALL_WRAPPERS_RV(bcm_detach(unit)); } int __wrap__bcm_shutdown(int unit) { if (!facebook::fboss::BcmCinter::getInstance()) { } CALL_WRAPPERS_RV(_bcm_shutdown(unit)); } int __wrap_soc_shutdown(int unit) { if (!facebook::fboss::BcmCinter::getInstance()) { } CALL_WRAPPERS_RV(soc_shutdown(unit)); } int __wrap_bcm_l3_intf_delete(int unit, bcm_l3_intf_t* intf) { CALL_WRAPPERS_RV(bcm_l3_intf_delete(unit, intf)); } int __wrap_bcm_stg_vlan_add(int unit, bcm_stg_t stg, bcm_vlan_t vid) { CALL_WRAPPERS_RV(bcm_stg_vlan_add(unit, stg, vid)); } int __wrap_bcm_l3_egress_destroy(int unit, bcm_if_t intf) { CALL_WRAPPERS_RV(bcm_l3_egress_destroy(unit, intf)); } int __wrap_bcm_linkscan_detach(int unit) { CALL_WRAPPERS_RV(bcm_linkscan_detach(unit)); } int __wrap_bcm_l3_route_multipath_get( int unit, bcm_l3_route_t* the_route, bcm_l3_route_t* path_array, int max_path, int* path_count) { CALL_WRAPPERS_RV(bcm_l3_route_multipath_get( unit, the_route, path_array, max_path, path_count)); } int __wrap_bcm_vlan_list(int unit, bcm_vlan_data_t** listp, int* countp) { CALL_WRAPPERS_RV(bcm_vlan_list(unit, listp, countp)); } int __wrap_bcm_l3_route_delete_by_interface(int unit, bcm_l3_route_t* info) { CALL_WRAPPERS_RV(bcm_l3_route_delete_by_interface(unit, info)); } int __wrap_bcm_port_interface_set( int unit, bcm_port_t port, bcm_port_if_t intf) { CALL_WRAPPERS_RV(bcm_port_interface_set(unit, port, intf)); } int __wrap_bcm_tx(int unit, bcm_pkt_t* tx_pkt, void* cookie) { // BcmTxPacket registers a callback which frees the packet and its data once // the SDK call is executed, so we call into BcmCinter->bcm_tx here first // since BcmCinter requires access to packet data in order to log it. { TIME_CALL; CALL_WRAPPERS_RV_CINTER_FIRST(bcm_tx(unit, tx_pkt, cookie)); } } int __wrap_bcm_pktio_tx(int unit, bcm_pktio_pkt_t* tx_pkt) { // The SDK will free the packet data once it executes bcm_pktio_tx, so // we call BcmCinter->bcm_pktio_tx here first since BcmCinter requires // access to packet data in order to log it. CALL_WRAPPERS_RV_CINTER_FIRST(bcm_pktio_tx(unit, tx_pkt)); } #if (defined(IS_OPENNSA) || defined(BCM_SDK_VERSION_GTE_6_5_22)) int __wrap_bcm_pktio_txpmd_stat_attach(int unit, uint32 counter_id) { CALL_WRAPPERS_RV(bcm_pktio_txpmd_stat_attach(unit, counter_id)); } int __wrap_bcm_pktio_txpmd_stat_detach(int unit) { CALL_WRAPPERS_RV(bcm_pktio_txpmd_stat_detach(unit)); } #endif int __wrap_bcm_rx_stop(int unit, bcm_rx_cfg_t* cfg) { CALL_WRAPPERS_RV(bcm_rx_stop(unit, cfg)); } char* __wrap_bcm_port_name(int unit, int port) { CALL_WRAPPERS_RV(bcm_port_name(unit, port)); } int __wrap_bcm_l3_host_add(int unit, bcm_l3_host_t* info) { CALL_WRAPPERS_RV(bcm_l3_host_add(unit, info)); } int __wrap_bcm_l2_station_delete(int unit, int station_id) { CALL_WRAPPERS_RV(bcm_l2_station_delete(unit, station_id)); } int __wrap_bcm_stg_destroy(int unit, bcm_stg_t stg) { CALL_WRAPPERS_RV(bcm_stg_destroy(unit, stg)); } int __wrap_bcm_port_phy_modify( int unit, bcm_port_t port, uint32 flags, uint32 phy_reg_addr, uint32 phy_data, uint32 phy_mask) { CALL_WRAPPERS_RV( bcm_port_phy_modify(unit, port, flags, phy_reg_addr, phy_data, phy_mask)); } int __wrap_bcm_port_speed_max(int unit, bcm_port_t port, int* speed) { CALL_WRAPPERS_RV(bcm_port_speed_max(unit, port, speed)); } int __wrap_bcm_l2_addr_add(int unit, bcm_l2_addr_t* l2addr) { CALL_WRAPPERS_RV(bcm_l2_addr_add(unit, l2addr)); } int __wrap_bcm_cosq_bst_stat_multi_get( int unit, bcm_gport_t gport, bcm_cos_queue_t cosq, uint32 options, int max_values, bcm_bst_stat_id_t* id_list, uint64* values) { CALL_WRAPPERS_RV(bcm_cosq_bst_stat_multi_get( unit, gport, cosq, options, max_values, id_list, values)); } int __wrap_bcm_rx_unregister(int unit, bcm_rx_cb_f callback, uint8 priority) { CALL_WRAPPERS_RV(bcm_rx_unregister(unit, callback, priority)); } int __wrap_bcm_l3_intf_get(int unit, bcm_l3_intf_t* intf) { CALL_WRAPPERS_RV(bcm_l3_intf_get(unit, intf)); } void __wrap_bcm_l3_egress_t_init(bcm_l3_egress_t* egr) { CALL_WRAPPERS_NO_RV(bcm_l3_egress_t_init(egr)); } int __wrap_bcm_attach_check(int unit) { CALL_WRAPPERS_RV(bcm_attach_check(unit)); } int __wrap_bcm_l3_egress_ecmp_traverse( int unit, bcm_l3_egress_ecmp_traverse_cb trav_fn, void* user_data) { CALL_WRAPPERS_RV(bcm_l3_egress_ecmp_traverse(unit, trav_fn, user_data)); } int __wrap_bcm_vlan_destroy(int unit, bcm_vlan_t vid) { CALL_WRAPPERS_RV(bcm_vlan_destroy(unit, vid)); } int __wrap_bcm_port_vlan_member_set(int unit, bcm_port_t port, uint32 flags) { CALL_WRAPPERS_RV(bcm_port_vlan_member_set(unit, port, flags)); } int __wrap_bcm_linkscan_unregister(int unit, bcm_linkscan_handler_t f) { CALL_WRAPPERS_RV(bcm_linkscan_unregister(unit, f)); } int __wrap_bcm_knet_filter_traverse( int unit, bcm_knet_filter_traverse_cb trav_fn, void* user_data) { CALL_WRAPPERS_RV(bcm_knet_filter_traverse(unit, trav_fn, user_data)); } int __wrap_bcm_knet_netif_destroy(int unit, int netif_id) { CALL_WRAPPERS_RV(bcm_knet_netif_destroy(unit, netif_id)); } int __wrap_bcm_stg_stp_set( int unit, bcm_stg_t stg, bcm_port_t port, int stp_state) { CALL_WRAPPERS_RV(bcm_stg_stp_set(unit, stg, port, stp_state)); } int __wrap_bcm_rx_cfg_get(int unit, bcm_rx_cfg_t* cfg) { CALL_WRAPPERS_RV(bcm_rx_cfg_get(unit, cfg)); } int __wrap_bcm_vlan_port_remove(int unit, bcm_vlan_t vid, bcm_pbmp_t pbmp) { CALL_WRAPPERS_RV(bcm_vlan_port_remove(unit, vid, pbmp)); } int __wrap_bcm_l3_intf_find_vlan(int unit, bcm_l3_intf_t* intf) { CALL_WRAPPERS_RV(bcm_l3_intf_find_vlan(unit, intf)); } int __wrap_bcm_l3_egress_multipath_destroy(int unit, bcm_if_t mpintf) { CALL_WRAPPERS_RV(bcm_l3_egress_multipath_destroy(unit, mpintf)); } int __wrap_bcm_knet_netif_create(int unit, bcm_knet_netif_t* netif) { CALL_WRAPPERS_RV(bcm_knet_netif_create(unit, netif)); } void __wrap_bcm_knet_filter_t_init(bcm_knet_filter_t* filter) { CALL_WRAPPERS_NO_RV(bcm_knet_filter_t_init(filter)); } int __wrap_bcm_switch_event_unregister( int unit, bcm_switch_event_cb_t cb, void* userdata) { CALL_WRAPPERS_RV(bcm_switch_event_unregister(unit, cb, userdata)); } int __wrap_bcm_port_link_status_get(int unit, bcm_port_t port, int* status) { CALL_WRAPPERS_RV(bcm_port_link_status_get(unit, port, status)); } int __wrap_bcm_port_untagged_vlan_get( int unit, bcm_port_t port, bcm_vlan_t* vid_ptr) { CALL_WRAPPERS_RV(bcm_port_untagged_vlan_get(unit, port, vid_ptr)); } void __wrap_bcm_knet_netif_t_init(bcm_knet_netif_t* netif) { CALL_WRAPPERS_NO_RV(bcm_knet_netif_t_init(netif)) } int __wrap_bcm_port_stat_enable_set(int unit, bcm_gport_t port, int enable) { CALL_WRAPPERS_RV(bcm_port_stat_enable_set(unit, port, enable)); } int __wrap_bcm_port_stat_attach(int unit, bcm_port_t port, uint32 counterID_) { CALL_WRAPPERS_RV(bcm_port_stat_attach(unit, port, counterID_)); } int __wrap_bcm_port_stat_detach_with_id( int unit, bcm_gport_t gPort, uint32 counterID) { CALL_WRAPPERS_RV(bcm_port_stat_detach_with_id(unit, gPort, counterID)); } #if (BCM_SDK_VERSION >= BCM_VERSION(6, 5, 21)) int __wrap_bcm_port_fdr_config_set( int unit, bcm_port_t port, bcm_port_fdr_config_t* fdr_config) { CALL_WRAPPERS_RV(bcm_port_fdr_config_set(unit, port, fdr_config)); } int __wrap_bcm_port_fdr_config_get( int unit, bcm_port_t port, bcm_port_fdr_config_t* fdr_config) { CALL_WRAPPERS_RV(bcm_port_fdr_config_get(unit, port, fdr_config)); } int __wrap_bcm_port_fdr_stats_get( int unit, bcm_port_t port, bcm_port_fdr_stats_t* fdr_stats) { CALL_WRAPPERS_RV(bcm_port_fdr_stats_get(unit, port, fdr_stats)); } #endif int __wrap_bcm_stat_multi_get( int unit, bcm_port_t port, int nstat, bcm_stat_val_t* stat_arr, uint64* value_arr) { CALL_WRAPPERS_RV(bcm_stat_multi_get(unit, port, nstat, stat_arr, value_arr)); } int __wrap_bcm_port_speed_set(int unit, bcm_port_t port, int speed) { CALL_WRAPPERS_RV(bcm_port_speed_set(unit, port, speed)); } int __wrap_bcm_field_group_traverse( int unit, bcm_field_group_traverse_cb callback, void* user_data) { CALL_WRAPPERS_RV(bcm_field_group_traverse(unit, callback, user_data)); } int __wrap_bcm_stg_default_set(int unit, bcm_stg_t stg) { CALL_WRAPPERS_RV(bcm_stg_default_set(unit, stg)); } int __wrap_bcm_stg_stp_get( int unit, bcm_stg_t stg, bcm_port_t port, int* stp_state) { CALL_WRAPPERS_RV(bcm_stg_stp_get(unit, stg, port, stp_state)); } int __wrap_bcm_attach_max(int* max_units) { CALL_WRAPPERS_RV(bcm_attach_max(max_units)); } int __wrap_bcm_l3_host_delete(int unit, bcm_l3_host_t* ip_addr) { CALL_WRAPPERS_RV(bcm_l3_host_delete(unit, ip_addr)); } int __wrap_bcm_knet_filter_create(int unit, bcm_knet_filter_t* filter) { CALL_WRAPPERS_RV(bcm_knet_filter_create(unit, filter)); } int __wrap_bcm_stg_create(int unit, bcm_stg_t* stg_ptr) { CALL_WRAPPERS_RV(bcm_stg_create(unit, stg_ptr)); } void __wrap_bcm_l3_egress_ecmp_t_init(bcm_l3_egress_ecmp_t* ecmp) { CALL_WRAPPERS_NO_RV(bcm_l3_egress_ecmp_t_init(ecmp)); } int __wrap_bcm_linkscan_mode_get(int unit, bcm_port_t port, int* mode) { CALL_WRAPPERS_RV(bcm_linkscan_mode_get(unit, port, mode)); } int __wrap_bcm_switch_control_port_set( int unit, bcm_port_t port, bcm_switch_control_t type, int arg) { CALL_WRAPPERS_RV(bcm_switch_control_port_set(unit, port, type, arg)); } int __wrap_bcm_linkscan_mode_set_pbm(int unit, bcm_pbmp_t pbm, int mode) { CALL_WRAPPERS_RV(bcm_linkscan_mode_set_pbm(unit, pbm, mode)); } int __wrap_bcm_l2_station_get( int unit, int station_id, bcm_l2_station_t* station) { CALL_WRAPPERS_RV(bcm_l2_station_get(unit, station_id, station)); } int __wrap_bcm_port_enable_get(int unit, bcm_port_t port, int* enable) { CALL_WRAPPERS_RV(bcm_port_enable_get(unit, port, enable)); } int __wrap_bcm_l3_route_max_ecmp_get(int unit, int* max) { CALL_WRAPPERS_RV(bcm_l3_route_max_ecmp_get(unit, max)); } int __wrap_bcm_l3_egress_multipath_find( int unit, int intf_count, bcm_if_t* intf_array, bcm_if_t* mpintf) { CALL_WRAPPERS_RV( bcm_l3_egress_multipath_find(unit, intf_count, intf_array, mpintf)); } int __wrap_bcm_port_local_get( int unit, bcm_gport_t gport, bcm_port_t* local_port) { CALL_WRAPPERS_RV(bcm_port_local_get(unit, gport, local_port)); } int __wrap_bcm_stg_default_get(int unit, bcm_stg_t* stg_ptr) { CALL_WRAPPERS_RV(bcm_stg_default_get(unit, stg_ptr)); } int __wrap_bcm_l2_station_add( int unit, int* station_id, bcm_l2_station_t* station) { CALL_WRAPPERS_RV(bcm_l2_station_add(unit, station_id, station)); } int __wrap_bcm_vlan_create(int unit, bcm_vlan_t vid) { CALL_WRAPPERS_RV(bcm_vlan_create(unit, vid)); } int __wrap_bcm_cosq_mapping_set( int unit, bcm_cos_t priority, bcm_cos_queue_t cosq) { CALL_WRAPPERS_RV(bcm_cosq_mapping_set(unit, priority, cosq)); } int __wrap_bcm_l3_host_delete_all(int unit, bcm_l3_host_t* info) { CALL_WRAPPERS_RV(bcm_l3_host_delete_all(unit, info)); } int __wrap_bcm_l3_ecmp_create( int unit, uint32 options, bcm_l3_egress_ecmp_t* ecmp_info, int ecmp_member_count, bcm_l3_ecmp_member_t* ecmp_member_array) { CALL_WRAPPERS_RV(bcm_l3_ecmp_create( unit, options, ecmp_info, ecmp_member_count, ecmp_member_array)); } int __wrap_bcm_l3_egress_ecmp_create( int unit, bcm_l3_egress_ecmp_t* ecmp, int intf_count, bcm_if_t* intf_array) { CALL_WRAPPERS_RV( bcm_l3_egress_ecmp_create(unit, ecmp, intf_count, intf_array)); } int __wrap_bcm_attach(int unit, char* type, char* subtype, int remunit) { CALL_WRAPPERS_RV(bcm_attach(unit, type, subtype, remunit)); } int __wrap_bcm_port_vlan_member_get(int unit, bcm_port_t port, uint32* flags) { CALL_WRAPPERS_RV(bcm_port_vlan_member_get(unit, port, flags)); } int __wrap_bcm_l3_egress_multipath_get( int unit, bcm_if_t mpintf, int intf_size, bcm_if_t* intf_array, int* intf_count) { CALL_WRAPPERS_RV(bcm_l3_egress_multipath_get( unit, mpintf, intf_size, intf_array, intf_count)); } int __wrap_bcm_ip6_mask_create(bcm_ip6_t ip6, int len) { CALL_WRAPPERS_RV(bcm_ip6_mask_create(ip6, len)); } int __wrap_bcm_port_learn_set(int unit, bcm_port_t port, uint32 flags) { CALL_WRAPPERS_RV(bcm_port_learn_set(unit, port, flags)); } int __wrap_bcm_vlan_gport_delete_all(int unit, bcm_vlan_t vlan) { CALL_WRAPPERS_RV(bcm_vlan_gport_delete_all(unit, vlan)); } int __wrap_bcm_l3_intf_find(int unit, bcm_l3_intf_t* intf) { CALL_WRAPPERS_RV(bcm_l3_intf_find(unit, intf)); } int __wrap_bcm_l3_route_delete(int unit, bcm_l3_route_t* info) { CALL_WRAPPERS_RV(bcm_l3_route_delete(unit, info)); } int __wrap_bcm_linkscan_enable_get(int unit, int* us) { CALL_WRAPPERS_RV(bcm_linkscan_enable_get(unit, us)); } int __wrap_bcm_port_dtag_mode_set(int unit, bcm_port_t port, int mode) { CALL_WRAPPERS_RV(bcm_port_dtag_mode_set(unit, port, mode)); } int __wrap_bcm_knet_filter_destroy(int unit, int filter_id) { CALL_WRAPPERS_RV(bcm_knet_filter_destroy(unit, filter_id)); } int __wrap_bcm_l3_host_traverse( int unit, uint32 flags, uint32 start, uint32 end, bcm_l3_host_traverse_cb cb, void* user_data) { CALL_WRAPPERS_RV( bcm_l3_host_traverse(unit, flags, start, end, cb, user_data)); } int __wrap_bcm_pkt_alloc( int unit, int size, uint32 flags, bcm_pkt_t** pkt_buf) { CALL_WRAPPERS_RV(bcm_pkt_alloc(unit, size, flags, pkt_buf)); } int __wrap_bcm_linkscan_enable_set(int unit, int us) { CALL_WRAPPERS_RV(bcm_linkscan_enable_set(unit, us)); } int __wrap_bcm_l3_egress_multipath_add( int unit, bcm_if_t mpintf, bcm_if_t intf) { CALL_WRAPPERS_RV(bcm_l3_egress_multipath_add(unit, mpintf, intf)); } int __wrap_bcm_l3_ecmp_get( int unit, bcm_l3_egress_ecmp_t* ecmp_info, int ecmp_member_size, bcm_l3_ecmp_member_t* ecmp_member_array, int* ecmp_member_count) { CALL_WRAPPERS_RV(bcm_l3_ecmp_get( unit, ecmp_info, ecmp_member_size, ecmp_member_array, ecmp_member_count)); } int __wrap_bcm_l3_egress_ecmp_find( int unit, int intf_count, bcm_if_t* intf_array, bcm_l3_egress_ecmp_t* ecmp) { CALL_WRAPPERS_RV(bcm_l3_egress_ecmp_find(unit, intf_count, intf_array, ecmp)); } int __wrap_bcm_vlan_port_add( int unit, bcm_vlan_t vid, bcm_pbmp_t pbmp, bcm_pbmp_t ubmp) { CALL_WRAPPERS_RV(bcm_vlan_port_add(unit, vid, pbmp, ubmp)); } int __wrap_bcm_port_ability_local_get( int unit, bcm_port_t port, bcm_port_ability_t* local_ability_mask) { CALL_WRAPPERS_RV(bcm_port_ability_local_get(unit, port, local_ability_mask)); } int __wrap_bcm_l3_host_delete_by_interface(int unit, bcm_l3_host_t* info) { CALL_WRAPPERS_RV(bcm_l3_host_delete_by_interface(unit, info)); } int __wrap_bcm_port_untagged_vlan_set( int unit, bcm_port_t port, bcm_vlan_t vid) { CALL_WRAPPERS_RV(bcm_port_untagged_vlan_set(unit, port, vid)); } int __wrap_bcm_stat_clear(int unit, bcm_port_t port) { CALL_WRAPPERS_RV(bcm_stat_clear(unit, port)); } int __wrap_bcm_l2_age_timer_set(int unit, int age_seconds) { CALL_WRAPPERS_RV(bcm_l2_age_timer_set(unit, age_seconds)); } int __wrap_bcm_knet_netif_traverse( int unit, bcm_knet_netif_traverse_cb trav_fn, void* user_data) { CALL_WRAPPERS_RV(bcm_knet_netif_traverse(unit, trav_fn, user_data)); } int __wrap_bcm_port_enable_set(int unit, bcm_port_t port, int enable) { CALL_WRAPPERS_RV(bcm_port_enable_set(unit, port, enable)); } int __wrap_bcm_l3_ecmp_destroy(int unit, bcm_if_t ecmp_group_id) { CALL_WRAPPERS_RV(bcm_l3_ecmp_destroy(unit, ecmp_group_id)); } int __wrap_bcm_l3_egress_ecmp_destroy(int unit, bcm_l3_egress_ecmp_t* ecmp) { CALL_WRAPPERS_RV(bcm_l3_egress_ecmp_destroy(unit, ecmp)); } int __wrap_bcm_port_interface_get( int unit, bcm_port_t port, bcm_port_if_t* intf) { CALL_WRAPPERS_RV(bcm_port_interface_get(unit, port, intf)); } int __wrap_bcm_knet_init(int unit) { CALL_WRAPPERS_RV(bcm_knet_init(unit)); } int __wrap_bcm_l3_egress_multipath_delete( int unit, bcm_if_t mpintf, bcm_if_t intf) { CALL_WRAPPERS_RV(bcm_l3_egress_multipath_delete(unit, mpintf, intf)); } int __wrap_bcm_l3_route_add(int unit, bcm_l3_route_t* info) { CALL_WRAPPERS_RV(bcm_l3_route_add(unit, info)); } int __wrap_bcm_l3_route_traverse( int unit, uint32 flags, uint32 start, uint32 end, bcm_l3_route_traverse_cb trav_fn, void* user_data) { CALL_WRAPPERS_RV( bcm_l3_route_traverse(unit, flags, start, end, trav_fn, user_data)); } int __wrap_bcm_vlan_list_destroy(int unit, bcm_vlan_data_t* list, int count) { CALL_WRAPPERS_RV(bcm_vlan_list_destroy(unit, list, count)); } int __wrap_bcm_l2_addr_get( int unit, bcm_mac_t mac_addr, bcm_vlan_t vid, bcm_l2_addr_t* l2addr) { CALL_WRAPPERS_RV(bcm_l2_addr_get(unit, mac_addr, vid, l2addr)); } int __wrap_bcm_l3_egress_multipath_traverse( int unit, bcm_l3_egress_multipath_traverse_cb trav_fn, void* user_data) { CALL_WRAPPERS_RV(bcm_l3_egress_multipath_traverse(unit, trav_fn, user_data)); } int __wrap_bcm_l2_addr_delete(int unit, bcm_mac_t mac, bcm_vlan_t vid) { CALL_WRAPPERS_RV(bcm_l2_addr_delete(unit, mac, vid)); } int __wrap_bcm_pkt_flags_init(int unit, bcm_pkt_t* pkt, uint32 init_flags) { CALL_WRAPPERS_RV(bcm_pkt_flags_init(unit, pkt, init_flags)); } int __wrap_bcm_pkt_free(int unit, bcm_pkt_t* pkt) { CALL_WRAPPERS_RV(bcm_pkt_free(unit, pkt)); } int __wrap_bcm_l3_route_get(int unit, bcm_l3_route_t* info) { CALL_WRAPPERS_RV(bcm_l3_route_get(unit, info)); } int __wrap_bcm_l3_egress_multipath_create( int unit, uint32 flags, int intf_count, bcm_if_t* intf_array, bcm_if_t* mpintf) { CALL_WRAPPERS_RV(bcm_l3_egress_multipath_create( unit, flags, intf_count, intf_array, mpintf)); } int __wrap_bcm_cosq_mapping_get( int unit, bcm_cos_t priority, bcm_cos_queue_t* cosq) { CALL_WRAPPERS_RV(bcm_cosq_mapping_get(unit, priority, cosq)); } int __wrap_bcm_switch_event_register( int unit, bcm_switch_event_cb_t cb, void* userdata) { CALL_WRAPPERS_RV(bcm_switch_event_register(unit, cb, userdata)); } int __wrap_bcm_port_frame_max_get(int unit, bcm_port_t port, int* size) { CALL_WRAPPERS_RV(bcm_port_frame_max_get(unit, port, size)); } int __wrap_bcm_linkscan_mode_set(int unit, bcm_port_t port, int mode) { CALL_WRAPPERS_RV(bcm_linkscan_mode_set(unit, port, mode)); } int __wrap_bcm_l3_intf_create(int unit, bcm_l3_intf_t* intf) { CALL_WRAPPERS_RV(bcm_l3_intf_create(unit, intf)); } int __wrap_bcm_rx_control_get(int unit, bcm_rx_control_t type, int* arg) { CALL_WRAPPERS_RV(bcm_rx_control_get(unit, type, arg)); } int __wrap_bcm_l2_age_timer_get(int unit, int* age_seconds) { CALL_WRAPPERS_RV(bcm_l2_age_timer_get(unit, age_seconds)); } int __wrap_bcm_l3_host_find(int unit, bcm_l3_host_t* info) { CALL_WRAPPERS_RV(bcm_l3_host_find(unit, info)); } int __wrap_bcm_switch_control_port_get( int unit, bcm_port_t port, bcm_switch_control_t type, int* arg) { CALL_WRAPPERS_RV(bcm_switch_control_port_get(unit, port, type, arg)); } int __wrap_bcm_port_selective_get( int unit, bcm_port_t port, bcm_port_info_t* info) { CALL_WRAPPERS_RV(bcm_port_selective_get(unit, port, info)); } int __wrap_bcm_port_frame_max_set(int unit, bcm_port_t port, int size) { CALL_WRAPPERS_RV(bcm_port_frame_max_set(unit, port, size)); } int __wrap_bcm_vlan_default_get(int unit, bcm_vlan_t* vid_ptr) { CALL_WRAPPERS_RV(bcm_vlan_default_get(unit, vid_ptr)); } // ACLS int __wrap_bcm_field_group_status_get( int unit, bcm_field_group_t group, bcm_field_group_status_t* status) { CALL_WRAPPERS_RV(bcm_field_group_status_get(unit, group, status)); } int __wrap_bcm_field_stat_create( int unit, bcm_field_group_t group, int nstat, bcm_field_stat_t* stat_arr, int* stat_id) { CALL_WRAPPERS_RV( bcm_field_stat_create(unit, group, nstat, stat_arr, stat_id)); } int __wrap_bcm_field_entry_stat_attach( int unit, bcm_field_entry_t entry, int stat_id) { CALL_WRAPPERS_RV(bcm_field_entry_stat_attach(unit, entry, stat_id)); } int __wrap_bcm_field_entry_stat_detach( int unit, bcm_field_entry_t entry, int stat_id) { CALL_WRAPPERS_RV(bcm_field_entry_stat_detach(unit, entry, stat_id)); } int __wrap_bcm_field_entry_stat_get( int unit, bcm_field_entry_t entry, int* stat_id) { CALL_WRAPPERS_RV(bcm_field_entry_stat_get(unit, entry, stat_id)); } int __wrap_bcm_field_stat_destroy(int unit, int stat_id) { CALL_WRAPPERS_RV(bcm_field_stat_destroy(unit, stat_id)); } int __wrap_bcm_field_stat_get( int unit, int stat_id, bcm_field_stat_t stat, uint64* value) { CALL_WRAPPERS_RV(bcm_field_stat_get(unit, stat_id, stat, value)); } int __wrap_bcm_field_stat_size(int unit, int stat_id, int* stat_size) { CALL_WRAPPERS_RV(bcm_field_stat_size(unit, stat_id, stat_size)); } int __wrap_bcm_field_stat_config_get( int unit, int stat_id, int nstat, bcm_field_stat_t* stat_arr) { CALL_WRAPPERS_RV(bcm_field_stat_config_get(unit, stat_id, nstat, stat_arr)); } int __wrap_bcm_field_entry_reinstall(int unit, bcm_field_entry_t entry) { CALL_WRAPPERS_RV(bcm_field_entry_reinstall(unit, entry)); } int __wrap_bcm_field_qualify_RangeCheck_get( int unit, bcm_field_entry_t entry, int max_count, bcm_field_range_t* range, int* invert, int* count) { CALL_WRAPPERS_RV(bcm_field_qualify_RangeCheck_get( unit, entry, max_count, range, invert, count)); } int __wrap_bcm_field_entry_prio_get( int unit, bcm_field_entry_t entry, int* prio) { CALL_WRAPPERS_RV(bcm_field_entry_prio_get(unit, entry, prio)); } int __wrap_bcm_field_qualify_SrcIp6_get( int unit, bcm_field_entry_t entry, bcm_ip6_t* data, bcm_ip6_t* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_SrcIp6_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_DstIp6_get( int unit, bcm_field_entry_t entry, bcm_ip6_t* data, bcm_ip6_t* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_DstIp6_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_L4SrcPort_get( int unit, bcm_field_entry_t entry, bcm_l4_port_t* data, bcm_l4_port_t* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_L4SrcPort_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_L4DstPort_get( int unit, bcm_field_entry_t entry, bcm_l4_port_t* data, bcm_l4_port_t* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_L4DstPort_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_TcpControl_get( int unit, bcm_field_entry_t entry, uint8* data, uint8* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_TcpControl_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_SrcPort_get( int unit, bcm_field_entry_t entry, bcm_module_t* data_modid, bcm_module_t* mask_modid, bcm_port_t* data_port, bcm_port_t* mask_port) { CALL_WRAPPERS_RV(bcm_field_qualify_SrcPort_get( unit, entry, data_modid, mask_modid, data_port, mask_port)); } int __wrap_bcm_field_qualify_DstPort_get( int unit, bcm_field_entry_t entry, bcm_module_t* data_modid, bcm_module_t* mask_modid, bcm_port_t* data_port, bcm_port_t* mask_port) { CALL_WRAPPERS_RV(bcm_field_qualify_DstPort_get( unit, entry, data_modid, mask_modid, data_port, mask_port)); } int __wrap_bcm_field_qualify_IpFrag_get( int unit, bcm_field_entry_t entry, bcm_field_IpFrag_t* frag_info) { CALL_WRAPPERS_RV(bcm_field_qualify_IpFrag_get(unit, entry, frag_info)); } int __wrap_bcm_field_qualify_IpProtocol_get( int unit, bcm_field_entry_t entry, uint8* data, uint8* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_IpProtocol_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_DSCP_get( int unit, bcm_field_entry_t entry, uint8* data, uint8* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_DSCP_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_IpType_get( int unit, bcm_field_entry_t entry, bcm_field_IpType_t* type) { CALL_WRAPPERS_RV(bcm_field_qualify_IpType_get(unit, entry, type)); } int __wrap_bcm_field_qualify_EtherType_get( int unit, bcm_field_entry_t entry, uint16* data, uint16* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_EtherType_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_Ttl_get( int unit, bcm_field_entry_t entry, uint8* data, uint8* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_Ttl_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_DstMac_get( int unit, bcm_field_entry_t entry, bcm_mac_t* data, bcm_mac_t* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_DstMac_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_SrcMac_get( int unit, bcm_field_entry_t entry, bcm_mac_t* data, bcm_mac_t* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_SrcMac_get(unit, entry, data, mask)); } int __wrap_bcm_field_entry_enable_get( int unit, bcm_field_entry_t entry, int* enable_flag) { CALL_WRAPPERS_RV(bcm_field_entry_enable_get(unit, entry, enable_flag)); } int __wrap_bcm_field_qualify_Ttl( int unit, bcm_field_entry_t entry, uint8 data, uint8 mask) { CALL_WRAPPERS_RV(bcm_field_qualify_Ttl(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_IpType( int unit, bcm_field_entry_t entry, bcm_field_IpType_t type) { CALL_WRAPPERS_RV(bcm_field_qualify_IpType(unit, entry, type)); } int __wrap_bcm_field_qualify_EtherType( int unit, bcm_field_entry_t entry, uint16 data, uint16 mask) { CALL_WRAPPERS_RV(bcm_field_qualify_EtherType(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_DSCP( int unit, bcm_field_entry_t entry, uint8 data, uint8 mask) { CALL_WRAPPERS_RV(bcm_field_qualify_DSCP(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_DstClassL2_get( int unit, bcm_field_entry_t entry, uint32* data, uint32* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_DstClassL2_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_DstClassL3_get( int unit, bcm_field_entry_t entry, uint32* data, uint32* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_DstClassL3_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_PacketRes_get( int unit, bcm_field_entry_t entry, uint32* data, uint32* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_PacketRes_get(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_PacketRes( int unit, bcm_field_entry_t entry, uint32 data, uint32 mask) { CALL_WRAPPERS_RV(bcm_field_qualify_PacketRes(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_DstClassL2( int unit, bcm_field_entry_t entry, uint32 data, uint32 mask) { CALL_WRAPPERS_RV(bcm_field_qualify_DstClassL2(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_DstClassL3( int unit, bcm_field_entry_t entry, uint32 data, uint32 mask) { CALL_WRAPPERS_RV(bcm_field_qualify_DstClassL3(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_OuterVlanId( int unit, bcm_field_entry_t entry, bcm_vlan_t data, bcm_vlan_t mask) { CALL_WRAPPERS_RV(bcm_field_qualify_OuterVlanId(unit, entry, data, mask)); } int __wrap_bcm_field_qualify_OuterVlanId_get( int unit, bcm_field_entry_t entry, bcm_vlan_t* data, bcm_vlan_t* mask) { CALL_WRAPPERS_RV(bcm_field_qualify_OuterVlanId_get(unit, entry, data, mask)); } // MIRRORS int __wrap_bcm_mirror_init(int unit) { CALL_WRAPPERS_RV(bcm_mirror_init(unit)); } int __wrap_bcm_mirror_mode_set(int unit, int mode) { CALL_WRAPPERS_RV(bcm_mirror_mode_set(unit, mode)); } int __wrap_bcm_mirror_destination_create( int unit, bcm_mirror_destination_t* mirror_dest) { CALL_WRAPPERS_RV(bcm_mirror_destination_create(unit, mirror_dest)); } int __wrap_bcm_mirror_destination_get( int unit, bcm_gport_t mirror_dest_id, bcm_mirror_destination_t* mirror_dest) { CALL_WRAPPERS_RV( bcm_mirror_destination_get(unit, mirror_dest_id, mirror_dest)); } int __wrap_bcm_mirror_destination_destroy( int unit, bcm_gport_t mirror_dest_id) { CALL_WRAPPERS_RV(bcm_mirror_destination_destroy(unit, mirror_dest_id)); } int __wrap_bcm_mirror_port_dest_add( int unit, bcm_port_t port, uint32 flags, bcm_gport_t mirror_dest_id) { CALL_WRAPPERS_RV(bcm_mirror_port_dest_add(unit, port, flags, mirror_dest_id)); } int __wrap_bcm_mirror_port_dest_delete( int unit, bcm_port_t port, uint32 flags, bcm_gport_t mirror_dest_id) { CALL_WRAPPERS_RV( bcm_mirror_port_dest_delete(unit, port, flags, mirror_dest_id)); } int __wrap_bcm_mirror_port_dest_delete_all( int unit, bcm_port_t port, uint32 flags) { CALL_WRAPPERS_RV(bcm_mirror_port_dest_delete_all(unit, port, flags)); } int __wrap_bcm_mirror_port_dest_get( int unit, bcm_port_t port, uint32 flags, int mirror_dest_size, bcm_gport_t* mirror_dest, int* mirror_dest_count) { CALL_WRAPPERS_RV(bcm_mirror_port_dest_get( unit, port, flags, mirror_dest_size, mirror_dest, mirror_dest_count)); } int __wrap_bcm_mirror_destination_traverse( int unit, bcm_mirror_destination_traverse_cb cb, void* user_data) { CALL_WRAPPERS_RV(bcm_mirror_destination_traverse(unit, cb, user_data)); } // MPLS int __wrap_bcm_mpls_init(int unit) { CALL_WRAPPERS_RV(bcm_mpls_init(unit)); } int __wrap_bcm_mpls_tunnel_switch_add( int unit, bcm_mpls_tunnel_switch_t* info) { CALL_WRAPPERS_RV(bcm_mpls_tunnel_switch_add(unit, info)); } int __wrap_bcm_mpls_tunnel_switch_delete( int unit, bcm_mpls_tunnel_switch_t* info) { CALL_WRAPPERS_RV(bcm_mpls_tunnel_switch_delete(unit, info)); } int __wrap_bcm_mpls_tunnel_switch_get( int unit, bcm_mpls_tunnel_switch_t* info) { CALL_WRAPPERS_RV(bcm_mpls_tunnel_switch_get(unit, info)); } int __wrap_bcm_mpls_tunnel_switch_traverse( int unit, bcm_mpls_tunnel_switch_traverse_cb cb, void* user_data) { CALL_WRAPPERS_RV(bcm_mpls_tunnel_switch_traverse(unit, cb, user_data)); } int __wrap_bcm_mpls_tunnel_initiator_set( int unit, bcm_if_t intf, int num_labels, bcm_mpls_egress_label_t* label_array) { CALL_WRAPPERS_RV( bcm_mpls_tunnel_initiator_set(unit, intf, num_labels, label_array)); } int __wrap_bcm_mpls_tunnel_initiator_clear(int unit, bcm_if_t intf) { CALL_WRAPPERS_RV(bcm_mpls_tunnel_initiator_clear(unit, intf)); } int __wrap_bcm_mpls_tunnel_initiator_get( int unit, bcm_if_t intf, int label_max, bcm_mpls_egress_label_t* label_array, int* label_count) { CALL_WRAPPERS_RV(bcm_mpls_tunnel_initiator_get( unit, intf, label_max, label_array, label_count)); } int __wrap_bcm_port_resource_speed_get( int unit, bcm_gport_t port, bcm_port_resource_t* resource) { CALL_WRAPPERS_RV(bcm_port_resource_speed_get(unit, port, resource)); } int __wrap_bcm_port_resource_speed_set( int unit, bcm_gport_t port, bcm_port_resource_t* resource) { CALL_WRAPPERS_RV(bcm_port_resource_speed_set(unit, port, resource)); } int __wrap_bcm_port_resource_multi_set( int unit, int nport, bcm_port_resource_t* resource) { CALL_WRAPPERS_RV(bcm_port_resource_multi_set(unit, nport, resource)); } int __wrap_bcm_l2_addr_delete_by_port( int unit, bcm_module_t mod, bcm_port_t port, uint32 flags) { CALL_WRAPPERS_RV(bcm_l2_addr_delete_by_port(unit, mod, port, flags)); } int __wrap_bcm_l3_ingress_create( int unit, bcm_l3_ingress_t* ing_intf, bcm_if_t* intf_id) { CALL_WRAPPERS_RV(bcm_l3_ingress_create(unit, ing_intf, intf_id)); } int __wrap_bcm_l3_ingress_destroy(int unit, bcm_if_t intf_id) { CALL_WRAPPERS_RV(bcm_l3_ingress_destroy(unit, intf_id)); } int __wrap_bcm_vlan_control_vlan_set( int unit, bcm_vlan_t vlan, bcm_vlan_control_vlan_t control) { CALL_WRAPPERS_RV(bcm_vlan_control_vlan_set(unit, vlan, control)); } int __wrap_bcm_vlan_control_vlan_get( int unit, bcm_vlan_t vlan, bcm_vlan_control_vlan_t* control) { CALL_WRAPPERS_RV(bcm_vlan_control_vlan_get(unit, vlan, control)); } int __wrap_sh_process_command(int unit, char* cmd) { CALL_WRAPPERS_RV(sh_process_command(unit, cmd)); } int __wrap_bcm_cosq_priority_group_mapping_profile_get( int unit, int profile_index, bcm_cosq_priority_group_mapping_profile_type_t type, int array_max, int* arg, int* array_count) { CALL_WRAPPERS_RV(bcm_cosq_priority_group_mapping_profile_get( unit, profile_index, type, array_max, arg, array_count)); } int __wrap_bcm_cosq_priority_group_mapping_profile_set( int unit, int profile_index, bcm_cosq_priority_group_mapping_profile_type_t type, int array_max, int* arg) { CALL_WRAPPERS_RV(bcm_cosq_priority_group_mapping_profile_set( unit, profile_index, type, array_max, arg)); } int __wrap_bcm_cosq_priority_group_pfc_priority_mapping_profile_get( int unit, int profile_index, int array_max, int* pg_array, int* array_count) { CALL_WRAPPERS_RV(bcm_cosq_priority_group_pfc_priority_mapping_profile_get( unit, profile_index, array_max, pg_array, array_count)); } int __wrap_bcm_cosq_priority_group_pfc_priority_mapping_profile_set( int unit, int profile_index, int array_count, int* pg_array) { CALL_WRAPPERS_RV(bcm_cosq_priority_group_pfc_priority_mapping_profile_set( unit, profile_index, array_count, pg_array)); } int __wrap_bcm_cosq_pfc_class_config_profile_set( int unit, int profile_index, int count, bcm_cosq_pfc_class_map_config_t* config_array) { CALL_WRAPPERS_RV(bcm_cosq_pfc_class_config_profile_set( unit, profile_index, count, config_array)); } int __wrap_bcm_cosq_pfc_class_config_profile_get( int unit, int profile_index, int max_count, bcm_cosq_pfc_class_map_config_t* config_array, int* count) { CALL_WRAPPERS_RV(bcm_cosq_pfc_class_config_profile_get( unit, profile_index, max_count, config_array, count)); } int __wrap_bcm_port_priority_group_config_set( int unit, bcm_gport_t gport, int priority_group, bcm_port_priority_group_config_t* prigrp_config) { CALL_WRAPPERS_RV(bcm_port_priority_group_config_set( unit, gport, priority_group, prigrp_config)); } int __wrap_bcm_port_priority_group_config_get( int unit, bcm_gport_t gport, int priority_group, bcm_port_priority_group_config_t* prigrp_config) { CALL_WRAPPERS_RV(bcm_port_priority_group_config_get( unit, gport, priority_group, prigrp_config)); } int __wrap_bcm_cosq_port_priority_group_property_get( int unit, bcm_port_t gport, int priority_group_id, bcm_cosq_port_prigroup_control_t type, int* arg) { CALL_WRAPPERS_RV(bcm_cosq_port_priority_group_property_get( unit, gport, priority_group_id, type, arg)); } int __wrap_bcm_cosq_port_priority_group_property_set( int unit, bcm_port_t gport, int priority_group_id, bcm_cosq_port_prigroup_control_t type, int arg) { CALL_WRAPPERS_RV(bcm_cosq_port_priority_group_property_set( unit, gport, priority_group_id, type, arg)); } int __wrap_bcm_collector_create( int unit, uint32 options, bcm_collector_t* collector_id, bcm_collector_info_t* collector_info) { CALL_WRAPPERS_RV( bcm_collector_create(unit, options, collector_id, collector_info)); } int __wrap_bcm_collector_destroy(int unit, bcm_collector_t id) { CALL_WRAPPERS_RV(bcm_collector_destroy(unit, id)); } int __wrap_bcm_collector_export_profile_create( int unit, uint32 options, int* export_profile_id, bcm_collector_export_profile_t* export_profile_info) { CALL_WRAPPERS_RV(bcm_collector_export_profile_create( unit, options, export_profile_id, export_profile_info)); } int __wrap_bcm_collector_export_profile_destroy( int unit, int export_profile_id) { CALL_WRAPPERS_RV( bcm_collector_export_profile_destroy(unit, export_profile_id)); } void __wrap_bcm_collector_export_profile_t_init( bcm_collector_export_profile_t* export_profile_info) { CALL_WRAPPERS_NO_RV(bcm_collector_export_profile_t_init(export_profile_info)); } void __wrap_bcm_collector_info_t_init(bcm_collector_info_t* collector_info) { CALL_WRAPPERS_NO_RV(bcm_collector_info_t_init(collector_info)); } int __wrap_bcm_port_phy_timesync_config_set( int unit, bcm_port_t port, bcm_port_phy_timesync_config_t* conf) { CALL_WRAPPERS_RV(bcm_port_phy_timesync_config_set(unit, port, conf)); } void __wrap_bcm_port_phy_timesync_config_t_init( bcm_port_phy_timesync_config_t* conf) { CALL_WRAPPERS_NO_RV(bcm_port_phy_timesync_config_t_init(conf)); } int __wrap_bcm_port_timesync_config_set( int unit, bcm_port_t port, int config_count, bcm_port_timesync_config_t* config_array) { CALL_WRAPPERS_RV( bcm_port_timesync_config_set(unit, port, config_count, config_array)); } void __wrap_bcm_port_timesync_config_t_init( bcm_port_timesync_config_t* port_timesync_config) { CALL_WRAPPERS_NO_RV(bcm_port_timesync_config_t_init(port_timesync_config)); } int __wrap_bcm_time_interface_add(int unit, bcm_time_interface_t* intf) { CALL_WRAPPERS_RV(bcm_time_interface_add(unit, intf)); } int __wrap_bcm_time_interface_delete_all(int unit) { CALL_WRAPPERS_RV(bcm_time_interface_delete_all(unit)); } void __wrap_bcm_time_interface_t_init(bcm_time_interface_t* intf) { CALL_WRAPPERS_NO_RV(bcm_time_interface_t_init(intf)); } int __wrap_bcm_field_entry_flexctr_attach( int unit, bcm_field_entry_t entry, bcm_field_flexctr_config_t* flexctr_cfg) { CALL_WRAPPERS_RV(bcm_field_entry_flexctr_attach(unit, entry, flexctr_cfg)); } int __wrap_bcm_field_entry_flexctr_detach( int unit, bcm_field_entry_t entry, bcm_field_flexctr_config_t* flexctr_cfg) { CALL_WRAPPERS_RV(bcm_field_entry_flexctr_detach(unit, entry, flexctr_cfg)); } int __wrap_bcm_field_entry_remove(int unit, bcm_field_entry_t entry) { CALL_WRAPPERS_RV(bcm_field_entry_remove(unit, entry)); } int __wrap_bcm_l3_route_stat_attach( int unit, bcm_l3_route_t* info, uint32 stat_counter_id) { CALL_WRAPPERS_RV(bcm_l3_route_stat_attach(unit, info, stat_counter_id)); } #if defined(IS_OPENNSA) || defined(BCM_SDK_VERSION_GTE_6_5_20) int __wrap_bcm_l3_route_flexctr_object_set( int unit, bcm_l3_route_t* info, uint32 value) { CALL_WRAPPERS_RV(bcm_l3_route_flexctr_object_set(unit, info, value)); } #else int __wrap_bcm_l3_route_flexctr_object_set( int /* unit*/, bcm_l3_route_t* /*info*/, uint32 /*value*/) { return 0; } #endif int __wrap_bcm_l3_route_stat_detach(int unit, bcm_l3_route_t* info) { CALL_WRAPPERS_RV(bcm_l3_route_stat_detach(unit, info)); } int __wrap_bcm_stat_custom_group_create( int unit, uint32 mode_id, bcm_stat_object_t object, uint32* stat_counter_id, uint32* num_entries) { CALL_WRAPPERS_RV(bcm_stat_custom_group_create( unit, mode_id, object, stat_counter_id, num_entries)); } int __wrap_bcm_stat_group_destroy(int unit, uint32 stat_counter_id) { CALL_WRAPPERS_RV(bcm_stat_group_destroy(unit, stat_counter_id)); } int __wrap_bcm_stat_group_mode_id_create( int unit, uint32 flags, uint32 total_counters, uint32 num_selectors, bcm_stat_group_mode_attr_selector_t* attr_selectors, uint32* mode_id) { CALL_WRAPPERS_RV(bcm_stat_group_mode_id_create( unit, flags, total_counters, num_selectors, attr_selectors, mode_id)); } int __wrap_bcm_stat_group_mode_id_destroy(int unit, uint32 mode_id) { CALL_WRAPPERS_RV(bcm_stat_group_mode_id_destroy(unit, mode_id)); } int __wrap_bcm_cosq_pfc_deadlock_control_set( int unit, bcm_port_t port, int priority, bcm_cosq_pfc_deadlock_control_t type, int arg) { CALL_WRAPPERS_RV( bcm_cosq_pfc_deadlock_control_set(unit, port, priority, type, arg)); } int __wrap_bcm_cosq_pfc_deadlock_control_get( int unit, bcm_port_t port, int priority, bcm_cosq_pfc_deadlock_control_t type, int* arg) { CALL_WRAPPERS_RV( bcm_cosq_pfc_deadlock_control_get(unit, port, priority, type, arg)); } int __wrap_bcm_cosq_pfc_deadlock_recovery_event_register( int unit, bcm_cosq_pfc_deadlock_recovery_event_cb_t callback, void* userdata) { CALL_WRAPPERS_RV( bcm_cosq_pfc_deadlock_recovery_event_register(unit, callback, userdata)); } int __wrap_bcm_cosq_pfc_deadlock_recovery_event_unregister( int unit, bcm_cosq_pfc_deadlock_recovery_event_cb_t callback, void* userdata) { CALL_WRAPPERS_RV(bcm_cosq_pfc_deadlock_recovery_event_unregister( unit, callback, userdata)); } int __wrap_bcm_flexctr_action_create( int unit, int options, bcm_flexctr_action_t* action, uint32* stat_counter_id) { CALL_WRAPPERS_RV( bcm_flexctr_action_create(unit, options, action, stat_counter_id)); } int __wrap_bcm_flexctr_action_destroy(int unit, uint32 stat_counter_id) { CALL_WRAPPERS_RV(bcm_flexctr_action_destroy(unit, stat_counter_id)); } int __wrap_bcm_port_ifg_get( int unit, bcm_port_t port, int speed, bcm_port_duplex_t duplex, int* bit_times) { CALL_WRAPPERS_RV(bcm_port_ifg_get(unit, port, speed, duplex, bit_times)); } int __wrap_bcm_port_ifg_set( int unit, bcm_port_t port, int speed, bcm_port_duplex_t duplex, int bit_times) { CALL_WRAPPERS_RV(bcm_port_ifg_set(unit, port, speed, duplex, bit_times)); } } // extern "C"