fabric.h (2895B)
1 /* 2 * 3 * 4 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 5 * 6 * Copyright 2007-2020 Broadcom Inc. All rights reserved. 7 * 8 * FE1600 DEFS H 9 */ 10 #ifndef _APPL_DIAG_DCMN_FABRIC_H_INCLUDED_ 11 #define _APPL_DIAG_DCMN_FABRIC_H_INCLUDED_ 12 13 #include <appl/diag/shell.h> 14 15 #include <appl/diag/dcmn/diag.h> 16 17 #include <bcm/fabric.h> 18 19 #define DIAG_DNX_FABRIC_THRESHOLDS_MAX 4 20 21 typedef struct diag_dnx_fabric_link_th_info_s { 22 /*RX*/ 23 int th_types_rx_nof; 24 bcm_fabric_link_threshold_type_t th_types_rx[DIAG_DNX_FABRIC_THRESHOLDS_MAX]; 25 uint32 values_rx[DIAG_DNX_FABRIC_THRESHOLDS_MAX]; 26 27 /*TX*/ 28 int th_types_tx_nof; 29 bcm_fabric_link_threshold_type_t th_types_tx[DIAG_DNX_FABRIC_THRESHOLDS_MAX]; 30 uint32 values_tx[DIAG_DNX_FABRIC_THRESHOLDS_MAX]; 31 32 /*Middle stage*/ 33 int th_types_middle_nof; 34 bcm_fabric_link_threshold_type_t th_types_middle[DIAG_DNX_FABRIC_THRESHOLDS_MAX]; 35 uint32 values_middle[DIAG_DNX_FABRIC_THRESHOLDS_MAX]; 36 } diag_dnx_fabric_link_th_info_t; 37 38 typedef struct diag_dnx_fabric_link_config_s 39 { 40 int enable; 41 int speed; 42 bcm_port_pcs_t pcs; 43 int pcs_llfc_extract_cig; 44 int pcs_error_detect; 45 int pcs_llfc_low_latency; 46 uint32 cl72; 47 int pcp; 48 bcm_fabric_link_remote_pipe_mapping_t pipe_mapping; 49 uint32 rx_polarity; 50 uint32 tx_polarity; 51 uint32 lane_swap; 52 int clk_freq; 53 } diag_dnx_fabric_link_config_t; 54 55 cmd_result_t diag_dnx_fabric_pack_usage(int unit, args_t *args); 56 57 cmd_result_t diag_dnx_fabric_reachability(int unit, args_t *a); 58 cmd_result_t diag_dnx_fabric_connectivity(int unit, args_t *a); 59 cmd_result_t diag_dnx_fabric_link(int unit, args_t *a); 60 cmd_result_t diag_dnx_fabric_queues(int unit, args_t *a); 61 cmd_result_t diag_dnx_fabric_thresholds(int unit, args_t *a); 62 cmd_result_t diag_dnx_fabric_properties(int unit, args_t *a); 63 cmd_result_t diag_dnx_fabric_link_config(int unit, args_t *a); 64 cmd_result_t diag_dnx_fabric_mesh(int unit, args_t *a); 65 cmd_result_t diag_dnx_fabric_traffic_profile(int unit, args_t *a); 66 cmd_result_t diag_dnx_fabric_mesh_topology(int unit, args_t *a); 67 cmd_result_t diag_dnx_fabric_rx_fifo(int unit, args_t *a); 68 cmd_result_t diag_dnx_fabric_force(int unit, args_t *a); 69 70 void diag_dnx_fabric_reachability_usage(int unit); 71 void diag_dnx_fabric_connectivity_usage(int unit); 72 void diag_dnx_fabric_link_usage(int unit); 73 void diag_dnx_fabric_queues_usage(int unit); 74 void diag_dnx_fabric_thresholds_usage(int unit); 75 void diag_dnx_fabric_properties_usage(int unit); 76 void diag_dnx_fabric_link_config_usage(int unit); 77 void diag_dnx_fabric_mesh_usage(int unit); 78 void diag_dnx_fabric_traffic_profile_usage(int unit); 79 void diag_dnx_fabric_mesh_topology_usage(int unit); 80 void diag_dnx_fabric_rx_fifo_usage(int unit); 81 void diag_dnx_fabric_force_usage(int unit); 82 83 #endif /*!_APPL_DIAG_DCMN_FABRIC_H_INCLUDED_*/ 84 85