From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [DPDK/testpmd Bug 1479] mlx5: Not able to create rte_flows to match head fragments and sub fragments
Date: Tue, 02 Jul 2024 14:21:19 +0000 [thread overview]
Message-ID: <bug-1479-3@http.bugs.dpdk.org/> (raw)
[-- Attachment #1: Type: text/plain, Size: 4173 bytes --]
https://bugs.dpdk.org/show_bug.cgi?id=1479
Bug ID: 1479
Summary: mlx5: Not able to create rte_flows to match head
fragments and sub fragments
Product: DPDK
Version: 21.11
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: major
Priority: Normal
Component: testpmd
Assignee: dev@dpdk.org
Reporter: pingtosiva@gmail.com
Target Milestone: ---
I am trying to create an RTE flow rule to match head and non-head fragments to
compute NIC RSS based on 5tuple/3tuple respectively on connectX-6 DX NIC and
mlx5 driver.
As part of it when trying to install RTE flow rule using testpmd on dpdk
21.11/23.07 version, the following errors are thrown.
Flow rule to match head fragment
=================================
testpmd> flow create 0 ingress pattern eth / ipv4 fragment_offset spec 0x2000
fragment_offset mask 0x3fff / end actions drop / count / end
port_flow_complain(): Caught PMD error type 13 (specific pattern item): cause:
0x7ffd1954c548, match on first fragment not supported: Operation not supported
Flow rule to match non-head fragments
======================================
testpmd> flow validate 0 ingress pattern eth / ipv4 fragment_offset is 0x2001
fragment_offset last 0x1fff / end actions drop / end
port_flow_complain(): Caught PMD error type 11 (item specification range):
cause: 0x7ffc6f629534, specified range not supported: Operation not supported
When I browsed mlx5_flow_dv.c driver file, there are set of conditions
implemented to block this configurations.
Could you kindly help is there a way to compute different RSS hash for
fragments and non-fragments using RTE flow rules on mellanox?
Thanks! in advance.
/*
* Match on fragment_offset 0x2000 means MF is 1 and frag-offset is 0,
* indicating this is 1st fragment of fragmented packet.
* This is not yet supported in MLX5, return appropriate error message.
*/
if (fragment_offset_spec == RTE_BE16(RTE_IPV4_HDR_MF_FLAG))
return rte_flow_error_set(error, ENOTSUP,
RTE_FLOW_ERROR_TYPE_ITEM, item,
"match on first fragment not "
"supported");
if (fragment_offset_spec && !last)
return rte_flow_error_set(error, ENOTSUP,
RTE_FLOW_ERROR_TYPE_ITEM, item,
"specified value not supported");
/*
* Match on fragment_offset spec 0x2001 and last 0x3fff
* means MF is 1 and frag-offset is > 0.
* This packet is fragment 2nd and onward, excluding last.
* This is not yet supported in MLX5, return appropriate
* error message.
*/
if (fragment_offset_spec == RTE_BE16(RTE_IPV4_HDR_MF_FLAG + 1) &&
fragment_offset_last == RTE_BE16(MLX5_IPV4_FRAG_OFFSET_MASK))
return rte_flow_error_set(error, ENOTSUP,
RTE_FLOW_ERROR_TYPE_ITEM_LAST,
last, "match on following "
"fragments not supported");
/*
* Match on fragment_offset spec 0x0001 and last 0x1fff
* means MF is 0 and frag-offset is > 0.
* This packet is last fragment of fragmented packet.
* This is not yet supported in MLX5, return appropriate
* error message.
*/
if (fragment_offset_spec == RTE_BE16(1) &&
fragment_offset_last == RTE_BE16(RTE_IPV4_HDR_OFFSET_MASK))
return rte_flow_error_set(error, ENOTSUP,
RTE_FLOW_ERROR_TYPE_ITEM_LAST,
last, "match on last "
"fragment not supported");
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #2: Type: text/html, Size: 6162 bytes --]
next reply other threads:[~2024-07-02 14:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-02 14:21 bugzilla [this message]
2024-07-03 6:19 ` [DPDK/testpmd Bug 1479] mlx5: Not able to create rte_flows to match head fragments and sub fragments Asaf Penso
2025-10-27 9:17 ` bugzilla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-1479-3@http.bugs.dpdk.org/ \
--to=bugzilla@dpdk.org \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.