[PATCH] doc/mlx5: document firmware requirement for flex item
Dariusz Sosnowski
dsosnowski at nvidia.com
Mon Jul 21 15:21:20 CEST 2025
On Wed, Jul 16, 2025 at 03:49:40AM -0400, Khadem Ullah wrote:
> Hi Dariusz,
>
> Thanks for the follow-up.
>
> I was using DPDK v23.11 with the following flex item configuration:
>
> {
> "next_header": { "field_mode": "FIELD_MODE_FIXED", "field_size": 0, "field_base": 0 },
> "next_protocol": { "field_mode": "FIELD_MODE_FIXED", "field_size": 8, "field_base": 72 },
> "sample_data": [
> { "field_mode": "FIELD_MODE_FIXED", "field_size": 32, "field_base": 0 },
> { "field_mode": "FIELD_MODE_FIXED", "field_size": 32, "field_base": 32 },
> { "field_mode": "FIELD_MODE_FIXED", "field_size": 32, "field_base": 64 },
> { "field_mode": "FIELD_MODE_FIXED", "field_size": 32, "field_base": 96 }
> ],
> "input_link": [
> { "item": "eth type is 0x08802" }
> ],
> "output_link": [
> { "item": "udp", "next": 17 },
> { "item": "tcp", "next": 6 }
> ]
> }
>
> With firmware version 24.30.1004 (MT_0000000704), the following error was produced:
>
> port-0: flex item #3 creation failed: unsupported header length field mode (FIXED)
Thank you for providing the flex item configuration.
Could you share what exactly are you trying to achieve with this
flex item configuration?
We investigated locally and yes, FW version 24.30.1004 does not fully support flex item yet.
The error log misreports the actual root cause of the error,
because of a bug in PMD. We'll provide a separate fix for that.
The proposed documentation change would also be inaccurate, because different
flex item capabilities were added in different FW versions.
We will update the documentation with more details regarding that
in the same fix.
The earliest version where this specific flex item configuration works
should be 24.37.1300. However I would advise to use
at least FW version 24.39.xxxx versions (this is the oldest relevant LTS FW).
>
> After upgrading to firmware version 24.38.1002, the same configuration succeeded.
>
> Example flow after upgrade:
>
> testpmd> flow flex_item pattern 2 spec 45000000000000000000000001020304 mask FF0000000000000000000000FFFFFFFF
> created pattern #2
>
> testpmd> flow create 0 ingress pattern eth / ipv4 / udp / flex item is 3 pattern is 2 / end actions mark id 1 / queue index 0 / end
> Flow rule #0 created
>
> It appears this issue was resolved at the firmware level.
>
> Best regards,
> Khadem Ullah
>
More information about the dev
mailing list