diff --git a/kernel-tests/TestsUtils.cpp b/kernel-tests/TestsUtils.cpp index 9be9691efa..3876e00330 100644 --- a/kernel-tests/TestsUtils.cpp +++ b/kernel-tests/TestsUtils.cpp @@ -47,7 +47,7 @@ using namespace std; extern Logger g_Logger; static uint8_t IPv4Packet[IP4_PACKET_SIZE] = { - 0x45, 0x00, 0x00, 0x2e, + 0x45, 0x00, 0x00, 0x29, 0x00, 0x00, 0x40, 0x00, 0xff, 0x06, 0xf5, 0xfd,// Protocol = 06 (TCP) 0xc0, 0xa8, 0x02, 0x13,// IPv4 SRC Addr 192.168.2.19 @@ -89,7 +89,7 @@ static uint8_t IPv6Packet[] = { static uint8_t IPv6PacketFragExtHdr[] = { 0x60, 0x00, 0x00, 0x00, - 0x00, 0x0c, 0x2C, 0x01, // Next header = FRAGMENT HEADER(44) + 0x00, 0x24, 0x2C, 0x01, // Next header = FRAGMENT HEADER(44) 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd9, 0xf9, 0xce, 0x5e, @@ -240,7 +240,7 @@ static const uint8_t Eth2IPv4Packet802_1Q_tag[] = 0x81, 0x00, 0x20, 0x03, // 802.1Q header with VLAN ID = 3 0x08, 0x00, // ETH2 TYPE IPv4 - ETH_P_IP 0x0800 // IPv4 - 0x45, 0x00, 0x00, 0x2e, + 0x45, 0x00, 0x00, 0x29, 0x00, 0x00, 0x40, 0x00, 0xff, 0x06, 0xf5, 0xfd, // Protocol = 06 (TCP) 0xc0, 0xa8, 0x02, 0x13, // IPv4 SRC Addr 192.168.2.19 diff --git a/kernel-tests/TestsUtils.h b/kernel-tests/TestsUtils.h index 4a35fce1fa..268ae8ffd7 100644 --- a/kernel-tests/TestsUtils.h +++ b/kernel-tests/TestsUtils.h @@ -609,6 +609,7 @@ enum hdr_total_len_or_pad_type { struct ipa_ep_cfg_nat { enum ipa_nat_en_type nat_en; + bool nat_exc_suppress; }; struct ipa_ep_cfg_conn_track { @@ -654,6 +655,7 @@ struct ipa_ep_cfg_aggr { bool aggr_sw_eof_active; uint8_t pulse_generator; uint8_t scaled_time; + bool aggr_coal_l2; }; struct ipa_ep_cfg_route { @@ -682,6 +684,7 @@ struct ipa_ep_cfg_cfg { uint8_t cs_metadata_hdr_offset; uint8_t gen_qmb_master_sel; uint8_t tx_instance; + bool pipe_replicate_en; }; struct ipa_ep_cfg_metadata_mask { @@ -716,6 +719,16 @@ struct ipa_pkt_init_ex_hdr_ofst_set { enum ipa_client_type ep; }; +struct ipa_ep_cfg_prod_cfg { + uint8_t tx_instance; + bool tsp_enable; + bool max_output_size_drop_enable; + uint8_t tsp_idx; + uint8_t max_output_size; + uint8_t egress_tc_lowest; + uint8_t egress_tc_highest; +}; + /* * This struct is a mirroring of the ipa struct * the test module expect to get from user-space the @@ -737,6 +750,7 @@ struct test_ipa_ep_cfg { struct ipa_ep_cfg_metadata meta; struct ipa_ep_cfg_seq seq; struct ipa_ep_cfg_ulso ulso; + struct ipa_ep_cfg_prod_cfg prod_cfg; }; /*! @brief Struct for the IPAv3.0 UL packet status header */ @@ -806,5 +820,41 @@ struct ipa3_hw_pkt_status_hw_v5_0 { uint64_t ucp : 1; }; - +struct ipa3_hw_pkt_status_hw_v5_5 { + uint64_t status_opcode:8; + uint64_t exception:8; + uint64_t status_mask:16; + uint64_t pkt_len:16; + uint64_t endp_src_idx:8; + uint64_t reserved_1:3; + uint64_t rt_local:1; + uint64_t rt_hash:1; + uint64_t reserved_2:3; + uint64_t metadata:32; + uint64_t flt_local:1; + uint64_t flt_hash:1; + uint64_t flt_global:1; + uint64_t flt_ret_hdr:1; + uint64_t flt_rule_id:10; + uint64_t rt_tbl_idx:8; + uint64_t rt_rule_id:10; + uint64_t nat_hit:1; + uint64_t nat_entry_idx:13; + uint64_t nat_type:2; + uint64_t tag_info:36; + uint64_t egress_tc:6; + uint64_t ingress_tc:6; + uint64_t seq_num:8; + uint64_t time_of_day_ctr:24; + uint64_t hdr_local:1; + uint64_t hdr_offset:10; + uint64_t frag_hit:1; + uint64_t frag_rule:4; + uint64_t endp_dest_idx:8; + uint64_t hw_specific:4; + uint64_t nat_exc_suppress:1; + uint64_t tsp:1; + uint64_t ttl_dec:1; + uint64_t ucp:1; +}; #endif diff --git a/kernel-tests/main.cpp b/kernel-tests/main.cpp index b30f6c774b..7a3d9d008c 100644 --- a/kernel-tests/main.cpp +++ b/kernel-tests/main.cpp @@ -89,9 +89,12 @@ const char *ipa_hw_type_name[] = { "4.1", "4.2", "4.5", + "4.7", "4.9", + "4.11", "5.0", "5.1", + "5.5", "MAX" };