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