[DPDK/examples Bug 1502] [dpdk-24.07] l3fwdacl/l3fwdacl_acl_rule: core dump when receiving packets
bugzilla at dpdk.org
bugzilla at dpdk.org
Fri Jul 26 12:32:42 CEST 2024
https://bugs.dpdk.org/show_bug.cgi?id=1502
Bug ID: 1502
Summary: [dpdk-24.07] l3fwdacl/l3fwdacl_acl_rule: core dump
when receiving packets
Product: DPDK
Version: 24.07
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: examples
Assignee: dev at dpdk.org
Reporter: songx.jiale at intel.com
Target Milestone: ---
[Environment]
DPDK version:
dpdk24.07-rc3:82c47f005b9a0a1e3a649664b7713443d18abe43
Other software versions: N/A.
OS: Anolis OS 8.8/5.10.134-13.an8.x86_64
Compiler: gcc version 8.5.0 20210514
Hardware platform: Intel(R) Xeon(R) Gold 6139 CPU @ 2.30GHz
NIC hardware: Intel Corporation Ethernet Controller E810-C for SFP [8086:1593]
(rev 01)
NIC driver: ice-1.14.11
NIC firmware: 4.50 0x8001d8b6 1.3597.0
[Test Setup]
1.compile dpdk
rm -rf x86_64-native-linuxapp-gcc
CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static
-Db_sanitize=address -Dexamples=l3fwd x86_64-native-linuxapp-gcc
ninja -C x86_64-native-linuxapp-gcc
2. bind pf to vfio-pci
./usertools/dpdk-devbind.py -b vfio-pci 18:00.0 18:00.1
3.prepare acl rules
echo '' > /root/rule_ipv4.db
echo 'R0.0.0.0/0 0.0.0.0/0 0 : 65535 0 : 65535 0x00/0x00 1' >>
/root/rule_ipv4.db
echo '' > /root/rule_ipv6.db
echo 'R0:0:0:0:0:0:0:0/0 0:0:0:0:0:0:0:0/0 0 : 65535 0 : 65535 0x00/0x00 1' >>
/root/rule_ipv6.db
echo '' > /root/rule_ipv4.db
echo @200.10.0.1/32 0.0.0.0/0 0 : 65535 0 : 65535 0x00/0x00 >>
/root/rule_ipv4.db
echo R0.0.0.0/0 0.0.0.0/0 0 : 65535 0 : 65535 0x00/0x00 1 >> /root/rule_ipv4.db
4.launch dpdk-l3fwd
x86_64-native-linuxapp-gcc/examples/dpdk-l3fwd -l 1-4 -n 4 -a 0000:18:00.0 -a
0000:18:00.1 --force-max-simd-bitwidth=0 -- -p 0x3 --lookup acl
--config="(0,0,2),(1,0,3)" --rule_ipv4="/root/rule_ipv4.db"
--rule_ipv6="/root/rule_ipv6.db" --parse-ptype
5.Send packets
sendp([Ether(dst="{rx_port_mac}")/IP(src="200.10.0.1",dst="100.10.0.1")/UDP(sport=11,dport=101)],iface="ens7",count=1,inter=0,verbose=False)
[Show the output from the previous commands.]
Segmentation fault
[Expected Result]
The application can receive and send packages normally.
[Regression]
Is this issue a regression: (Y/N)Y
commit aa7c6077c19bd39b48ac17cd844b91f0dd03319f
Author: Konstantin Ananyev <konstantin.ananyev at huawei.com>
Date: Thu May 2 16:28:16 2024 +0100
examples/l3fwd: avoid packets reorder in ACL mode
In ACL mode l3fwd first do classify() and send() for ipv4 packets,
then the same procedure for ipv6.
That might cause packets reordering within one ingress queue.
Probably not a big deal, as order within each flow are still preserved,
but better to be avoided anyway.
Specially considering that in other modes (lpm, fib, em)
l3fwd does preserve the order no matter of packet's IP version.
This patch aims to make ACL mode to behave in the same manner
and preserve packet's order within the same ingress queue.
Also these changes allow ACL mode to use common
(and hopefully better optimized) send_packets_multi() function at Tx path.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev at huawei.com>
examples/l3fwd/l3fwd_acl.c | 125 ++++++++++++++++++++++++--------------
examples/l3fwd/l3fwd_acl_scalar.h | 71 ++++++++++++----------
2 files changed, 118 insertions, 78 deletions
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20240726/eaf2dddb/attachment.htm>
More information about the dev
mailing list