|SUCCESS|dpdk|0aa60649a8| intel-Functional
sys_stv at intel.com
sys_stv at intel.com
Tue Jun 9 00:07:27 CEST 2026
Test-Label: intel-Functional
Test-Status: SUCCESS
_Functional PASS_
DPDK git repo: dpdk
commit 0aa60649a8a1724bd3aeb8e1d5c68bad0c621e25
Author: Shreesh Adiga <16567adigashreesh at gmail.com>
Date: Sat Nov 15 15:39:59 2025 +0530
net/crc: reduce usage of static arrays
This patch aims to combine the crc_xmm_shift_tab and shf_table
into a single 32 byte array which offers similar functionality
for left shift as well as partial_bytes shuffling.
The first 16 bytes are now 0xff..0xf0 which behave identical to
0xff..0xff when used as input to PSHUFB which will replace element by 0.
Regarding the usage of shf_table in partial_bytes section,
instead of xor with 0x80 of each byte, now we xor with 0xff and the
table entries of crc_xmm_shift_tab is sufficient for this purpose.
This allows us remove usage of mask3 array of 0x80 and replace it with
_mm_set1_epi8(0xff) which compiles to single instruction "pcmpeqd XMM, XMM".
As an example assuming remainder len is 5, we would have
previously before this commit:
temp = {0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c,
0x8d, 0x8e, 0x8f, 0x00, 0x01, 0x02, 0x03, 0x04}
After xor with 0x80:
temp = {0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
0x0d, 0x0e, 0x0f, 0x80, 0x81, 0x82, 0x83, 0x84}
with the changes in this commit:
temp = {0xfa, 0xf9, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3,
0xf2, 0xf1, 0xf0, 0x00, 0x01, 0x02, 0x03, 0x04}
After xor with 0xff:
temp = {0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
0x0d, 0x0e, 0x0f, 0xff, 0xfe, 0xfd, 0xfc, 0xfb}
Both the above pair of vectors behave same when used as input
to PSHUFB (with MSB set bytes differing), thus achieving the same
intended functionality.
Signed-off-by: Shreesh Adiga <16567adigashreesh at gmail.com>
Smoke-Testing Summary : 31 Case Done, 31 Successful, 0 Failures
OS : Ubuntu 24.04.4 LTS
Kernel : 6.8.0-71-generic
GCC : 13.3.0-6ubuntu2~24.04.1
NIC : Ethernet Controller XL710 for 40GbE QSFP+
Target : x86_64-native-linuxapp-gcc
Test result details:
+-----------------+---------------------------------------------------+-------+
| suite | case | status|
+-----------------+---------------------------------------------------+-------+
| checksum_offload| test_do_not_insert_checksum_on_the_transmit_packet| passed|
| checksum_offload| test_hardware_checksum_check_ip_rx | passed|
| checksum_offload| test_hardware_checksum_check_ip_tx | passed|
| checksum_offload| test_hardware_checksum_check_l4_rx | passed|
| checksum_offload| test_hardware_checksum_check_l4_tx | passed|
| checksum_offload| test_insert_checksum_on_the_transmit_packet | passed|
| checksum_offload| test_rx_checksum_valid_flags | passed|
| checksum_offload| test_checksum_offload_with_vlan | n/a |
| dual_vlan | test_dual_vlan_priority_rxtx | passed|
| dual_vlan | test_vlan_filter_config | passed|
| dual_vlan | test_vlan_filter_table | passed|
| dual_vlan | test_vlan_insert_config | passed|
| dual_vlan | test_vlan_random_test | passed|
| dual_vlan | test_vlan_strip_config | passed|
| dual_vlan | test_vlan_synthetic_test | passed|
| dual_vlan | test_vlan_tpid_config | passed|
| dual_vlan | test_vlan_stripq_config | n/a |
| jumboframes | test_jumboframes_bigger_jumbo | passed|
| jumboframes | test_jumboframes_jumbo_jumbo | passed|
| jumboframes | test_jumboframes_jumbo_nojumbo | passed|
| jumboframes | test_jumboframes_normal_jumbo | passed|
| jumboframes | test_jumboframes_normal_nojumbo | passed|
| rxtx_offload | test_rxoffload_port_all | passed|
| rxtx_offload | test_rxoffload_port_cmdline | passed|
| rxtx_offload | test_txoffload_port | passed|
| rxtx_offload | test_txoffload_port_all | passed|
| rxtx_offload | test_txoffload_port_checksum | passed|
| rxtx_offload | test_txoffload_port_cmdline | passed|
| rxtx_offload | test_txoffload_port_multi_segs | passed|
| rxtx_offload | test_txoffload_queue | passed|
| rxtx_offload | test_rxoffload_queue | n/a |
+-----------------+---------------------------------------------------+-------+
DPDK STV team
More information about the test-report
mailing list