1 /* 2 * SPDX-License-Identifier: BSD-3-Clause 3 * Copyright(c) 2023 Napatech A/S 4 */ 5 6 #ifndef _HW_MOD_CAT_V21_H_ 7 #define _HW_MOD_CAT_V21_H_ 8 9 #include <stdint.h> 10 11 #include "hw_mod_cat_v18.h" 12 13 struct cat_v21_cfn_s { 14 uint32_t enable; 15 uint32_t inv; 16 /* protocol checks */ 17 uint32_t ptc_inv; 18 uint32_t ptc_isl; 19 uint32_t ptc_cfp; 20 uint32_t ptc_mac; 21 uint32_t ptc_l2; 22 uint32_t ptc_vntag; 23 uint32_t ptc_vlan; 24 uint32_t ptc_mpls; 25 uint32_t ptc_l3; 26 uint32_t ptc_frag; 27 uint32_t ptc_ip_prot; 28 uint32_t ptc_l4; 29 uint32_t ptc_tunnel; 30 uint32_t ptc_tnl_l2; 31 uint32_t ptc_tnl_vlan; 32 uint32_t ptc_tnl_mpls; 33 uint32_t ptc_tnl_l3; 34 uint32_t ptc_tnl_frag; 35 uint32_t ptc_tnl_ip_prot; 36 uint32_t ptc_tnl_l4; 37 /* error checks */ 38 uint32_t err_inv; 39 uint32_t err_cv; 40 uint32_t err_fcs; 41 uint32_t err_trunc; 42 uint32_t err_l3_cs; 43 uint32_t err_l4_cs; 44 uint32_t err_tnl_l3_cs; 45 uint32_t err_tnl_l4_cs; 46 uint32_t err_ttl_exp; 47 uint32_t err_tnl_ttl_exp; 48 /* in port */ 49 uint32_t mac_port; 50 /* pattern matcher */ 51 uint32_t pm_cmp[2]; 52 uint32_t pm_dct; 53 uint32_t pm_ext_inv; 54 uint32_t pm_cmb; 55 uint32_t pm_and_inv; 56 uint32_t pm_or_inv; 57 uint32_t pm_inv; 58 uint32_t lc; 59 uint32_t lc_inv; 60 uint32_t km0_or; 61 uint32_t km1_or; 62 }; 63 64 struct cat_v21_kce_s { 65 uint32_t enable_bm[2]; 66 }; 67 68 struct cat_v21_kcs_s { 69 uint32_t category[2]; 70 }; 71 72 struct cat_v21_fte_s { 73 uint32_t enable_bm[2]; 74 }; 75 76 struct hw_mod_cat_v21_s { 77 struct cat_v21_cfn_s *cfn; 78 struct cat_v21_kce_s *kce; 79 struct cat_v21_kcs_s *kcs; 80 struct cat_v21_fte_s *fte; 81 struct cat_v18_cte_s *cte; 82 struct cat_v18_cts_s *cts; 83 struct cat_v18_cot_s *cot; 84 struct cat_v18_cct_s *cct; 85 struct cat_v18_exo_s *exo; 86 struct cat_v18_rck_s *rck; 87 struct cat_v18_len_s *len; 88 struct cat_v18_kcc_s *kcc_cam; 89 }; 90 91 #endif /* _HW_MOD_CAT_V21_H_ */ 92