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

draco_arltest.h (4412B)


      1 /*
      2  * 
      3  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      4  * 
      5  * Copyright 2007-2020 Broadcom Inc. All rights reserved.
      6  *
      7  * Draco ARL Test definitions.
      8  */
      9 
     10 #ifndef __DRACO_ARLTEST__H
     11 #define __DRACO_ARLTEST__H
     12 
     13 /*
     14  * Draco ARL Test Data Structure
     15  */
     16 
     17 typedef struct draco_l2_testdata_s {
     18     int                 unit;
     19     int                 opt_count;
     20     int                 opt_verbose;
     21     int                 opt_reset;
     22     int                 opt_hash;
     23     int                 opt_base_vid;
     24     int                 opt_vid_inc;         /* VID increment */
     25     sal_mac_addr_t      opt_base_mac;
     26     int                 opt_mac_inc;         /* Mac increment */
     27     COMPILER_DOUBLE     tm;
     28     uint32              save_hash_control;
     29     int                 hash_count;          /* Hash Alg count */
     30     uint32              save_l2_aux_hash_control;
     31     uint32              save_l2_table_hash_control;
     32     uint32              save_shared_table_hash_control;
     33 #ifdef BCM_TRIDENT3_SUPPORT
     34     l2_entry_hash_control_entry_t  save_l2_entry_hash_control;
     35     uft_shared_banks_control_entry_t save_shared_entry_hash_control;
     36 #endif
     37 } draco_l2_testdata_t;
     38 
     39 #define DRACO_L2_VID_MAX        (0x7ff) 
     40 #define DRACO_L3_VID_MAX        (0xfff) 
     41 #define DRACO_ARL_DEFAULT_HASH  XGS_HASH_LSB
     42 
     43 #define FB_L2_VID_MAX            (0xfff)
     44 #define FB_L2_DEFAULT_HASH      FB_HASH_LSB
     45 #define FB_L3_DEFAULT_HASH      FB_HASH_LSB
     46 
     47 #define MAX_VRF_ID              (0x3f)
     48 #define FB2_VRF_ID_MAX          MAX_VRF_ID
     49 #define TR_VRF_ID_MAX           (0x7ff)
     50 
     51 typedef struct draco_l3_testdata_s {
     52     int                 unit;
     53     int                 opt_count;
     54     int                 opt_verbose;
     55     int                 opt_reset;
     56     int                 opt_hash;
     57     int                 opt_dual_hash;
     58     int                 opt_ipmc_enable;
     59     int                 opt_key_src_ip;      /* Source IP in upper IPMC key */
     60     ip_addr_t           opt_base_ip;
     61     int                 opt_ip_inc;          /* IP addr increment */
     62     ip_addr_t           opt_src_ip;
     63     int                 opt_src_ip_inc;      /* Source IP addr increment */
     64     int                 opt_base_vid;
     65     int                 opt_vid_inc;         /* VID increment */
     66     sal_mac_addr_t      opt_base_mac;
     67     int                 opt_mac_inc;         /* Mac increment */
     68     ip6_addr_t          opt_base_ip6;
     69     ip6_addr_t          opt_src_ip6;
     70     int                 opt_ip6_inc;
     71     int                 opt_src_ip6_inc;
     72     int                 ipv6;                /* Test uses IPv6 args */
     73     COMPILER_DOUBLE     tm;
     74     int                 save_hash_control;
     75     int                 save_dual_hash_control;
     76     int                 save_l3_table_hash_control;
     77     int                 save_shared_table_hash_control;
     78     uint32              save_ipmc_config;
     79     uint32              set_ipmc_config;
     80     int                 hash_count;          /* Hash Alg count */
     81     int                 opt_base_vrf_id;     /* VRF ID */ 
     82     int                 opt_vrf_id_inc;      /* VRF ID Increment */ 
     83 #ifdef BCM_TRIDENT3_SUPPORT
     84     l3_entry_hash_control_entry_t  save_l3_entry_hash_control;
     85     uft_shared_banks_control_entry_t save_shared_entry_hash_control;
     86 #endif
     87 } draco_l3_testdata_t;
     88 
     89 /* L2/L3 test structure, to retain test settings between runs */
     90 typedef struct draco_l2_test_s {
     91     int                 dlw_set_up;     /* TRUE if dl2_setup() done */
     92     draco_l2_testdata_t dlp_l2_hash;    /* L2 hash Parameters */
     93     draco_l2_testdata_t dlp_l2_ov;      /* L2 overflow Parameters */
     94     draco_l2_testdata_t dlp_l2_lu;      /* L2 lookup Parameters */
     95     draco_l2_testdata_t dlp_l2_dp;      /* L2 delete by port Parameters */
     96     draco_l2_testdata_t dlp_l2_dv;      /* L2 delete by VLAN Parameters */
     97     draco_l2_testdata_t *dlp_l2_cur;    /* Current L2 test parameters */
     98     int                 dlw_unit;       /* Unit # */
     99 } draco_l2_test_t;
    100 
    101 typedef struct draco_l3_test_s {
    102     int                 dlw_set_up;     /* TRUE if dl3_setup() done */
    103     draco_l3_testdata_t dlp_l3_hash;    /* L3 hash Parameters */
    104     draco_l3_testdata_t dlp_l3_ov;      /* L3 overflow Parameters */
    105     draco_l3_testdata_t *dlp_l3_cur;    /* Current L3 test parameters */
    106     int                 dlw_unit;       /* Unit # */
    107 } draco_l3_test_t;
    108 
    109 #endif /*!__DRACO_ARLTEST__H */