openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

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