Skip to contentSkip to conversation

doc: add mlx5 PMD flex item documentation

PATCH Superseded Gregory Etelson 4 participants 6 messages Nov 16, 2021 – Nov 23, 2021

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 doc: add mlx5 PMD flex item documentation

Describe firmware configuration requirements.
List mlx5 hardware and PMD limitations.

---
 doc/guides/nics/mlx5.rst | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
doc/guides/nics/mlx5.rst +16 -0
index 552e06c0db..bbeeb1a3d4 100644
@@ -494,6 +494,17 @@ Limitations
     from the reference "Clock Queue" completions,
     the scheduled send timestamps should not be specified with non-zero MSB.
 
+- Flex item API:
+
+  - Firmware configuration: ``FLEX_PARSER_PROFILE_ENABLE=4 PROG_PARSE_GRAPH=1``.
+  - Hardware support: BlueField-2.
+  - Flex item is supported on PF only.
+  - Hardware limits ``header_length_mask_width`` up to 6 bits.
+  - Firmware supports 8 global sample fields. Each flex item allocates non-shared sample fields from that pool.
+  - Supported flex item can have 1 IN arc - ``eth`` or ``udp`` and up to 2 OUT arcs - ``ipv4`` or ``ipv6``.
+  - Flex item fields (next_header, next_protocol, samples) do not participate in RSS hash functions.
+  - In RTE flex item configuration, ``next_header.field_base`` value must be byte aligned (multiple of 8).
+
 Statistics
 ----------
 
@@ -1260,6 +1271,11 @@ Below are some firmware configurations listed.
 
    REAL_TIME_CLOCK_ENABLE=1
 
+- enable dynamic flex parser for RTE flex item::
+
+   FLEX_PARSER_PROFILE_ENABLE=4
+   PROG_PARSE_GRAPH=1
+
 Linux Prerequisites
 -------------------
 
Signature · 1 line
2.33.1
#1 lore raw

16/11/2021 15:51, Gregory Etelson:

Quoted 2 lines

Describe firmware configuration requirements.
List mlx5 hardware and PMD limitations.

That's a pity we missed documentation when adding the feature. Please a line "Fixes".

[...]

doc/guides/nics/mlx5.rst Limitations · line 499

Quoted 3 lines

+- Flex item API:

doc/guides/nics/mlx5.rst +2 -0
+
+  - Firmware configuration: ``FLEX_PARSER_PROFILE_ENABLE=4 PROG_PARSE_GRAPH=1``.

This is not a limitation and it is redundant with the last part of this patch.

Quoted 1 line

+ - Hardware support: BlueField-2.

I think it should be a space: BlueField 2

doc/guides/nics/mlx5.rst Limitations · line 503

Quoted 3 lines
doc/guides/nics/mlx5.rst +3 -0
+  - Flex item is supported on PF only.
+  - Hardware limits ``header_length_mask_width`` up to 6 bits.
+  - Firmware supports 8 global sample fields. Each flex item allocates non-shared sample fields from that pool.

Please break lines after a dot.

Quoted 1 line

+ - Supported flex item can have 1 IN arc - ``eth`` or ``udp`` and up to 2 OUT arcs - ``ipv4`` or ``ipv6``.

Is "arc" defined somewhere?

Quoted 1 line

+ - Flex item fields (next_header, next_protocol, samples) do not participate in RSS hash functions.

Fields should be enclosed with quotes.

Quoted 1 line

+ - In RTE flex item configuration, ``next_header.field_base`` value must be byte aligned (multiple of 8).

Please don't say "RTE".

[...]

Quoted 1 line

+- enable dynamic flex parser for RTE flex item::

Again, please stop using "RTE". I really wonder why I see this in a lot of patches. In user doc, it doesn't make sense at all.
If you really want to distinguish API and driver implementation, use "API".

Quoted 3 lines
doc/guides/nics/mlx5.rst +3 -0
+
+   FLEX_PARSER_PROFILE_ENABLE=4
+   PROG_PARSE_GRAPH=1
#2 lore raw

PATCH v2 1/1 doc: add mlx5 PMD flex item documentation

In reply to Gregory Etelson

Describe firmware configuration requirements.
List mlx5 hardware and PMD limitations.

---
v2: Style fixes.

---
 doc/guides/nics/mlx5.rst | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
doc/guides/nics/mlx5.rst +16 -0
index 552e06c0db..855ee9a119 100644
@@ -494,6 +494,17 @@ Limitations
     from the reference "Clock Queue" completions,
     the scheduled send timestamps should not be specified with non-zero MSB.
 
+- Flex item API:
+
+  - Hardware support: BlueField 2.
+  - Flex item is supported on PF only.
+  - Hardware limits ``header_length_mask_width`` up to 6 bits.
+  - Firmware supports 8 global sample fields.
+    Each flex item allocates non-shared sample fields from that pool.
+  - Supported flex item can have 1 input link - ``eth`` or ``udp`` and up to 2 output links - ``ipv4`` or ``ipv6``.
+  - Flex item fields (``next_header``, ``next_protocol``, ``samples``) do not participate in RSS hash functions.
+  - In flex item configuration, ``next_header.field_base`` value must be byte aligned (multiple of 8).
+
 Statistics
 ----------
 
@@ -1260,6 +1271,11 @@ Below are some firmware configurations listed.
 
    REAL_TIME_CLOCK_ENABLE=1
 
+- enable dynamic flex parser for flex item::
+
+   FLEX_PARSER_PROFILE_ENABLE=4
+   PROG_PARSE_GRAPH=1
+
 Linux Prerequisites
 -------------------
 
Signature · 1 line
2.33.1
Acked-by on v2 1/1
#3 lore raw
Quoted 9 lines

-----Original Message-----
From: Gregory Etelson <[email protected]>
Sent: Tuesday, November 16, 2021 17:45
To: [email protected]; Gregory Etelson <[email protected]>
Cc: Raslan Darawsheh <[email protected]>; NBU-Contact-Thomas Monjalon <[email protected]>; Matan Azrad <[email protected]>; Slava Ovsiienko <[email protected]>
Subject: [PATCH v2] doc: add mlx5 PMD flex item documentation

Quoted 4 lines

Describe firmware configuration requirements. List mlx5 hardware and PMD limitations.

#4 lore raw

PATCH v3 1/1 doc: add mlx5 PMD flex item documentation

In reply to Gregory Etelson

Describe firmware configuration requirements. List mlx5 hardware and PMD limitations.

---
v2: Style fixes.
v3: Update hardware and port support.

---
 doc/guides/nics/mlx5.rst | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
doc/guides/nics/mlx5.rst +17 -0
index 552e06c0db..7b2647dad6 100644
@@ -494,6 +494,18 @@ Limitations
     from the reference "Clock Queue" completions,
     the scheduled send timestamps should not be specified with non-zero MSB.
 
+- Flex item API:
+
+  - Firmware configuration: ``FLEX_PARSER_PROFILE_ENABLE=4 PROG_PARSE_GRAPH=1``.
+  - Hardware support: BlueField 2.
+  - Flex item is supported for DPDK ports created over ECPF (Uplink representor, VF representor,
+    SF representor, HPF representor).
+  - Hardware limits ``header_length_mask_width`` up to 6 bits.
+  - Firmware supports 8 global sample fields. Each flex item allocates non-shared sample fields from that pool.
+  - Supported flex item can have 1 IN arc - ``eth`` or ``udp`` and up to 2 OUT arcs - ``ipv4`` or ``ipv6``.
+  - Flex item fields do not participate in RSS hash functions.
+  - In RTE flex item configuration, ``next_header.field_base`` value must be byte aligned (multiple of 8).
+
 Statistics
 ----------
 
@@ -1260,6 +1272,11 @@ Below are some firmware configurations listed.
 
    REAL_TIME_CLOCK_ENABLE=1
 
+- enable dynamic flex parser for RTE flex item::
+
+   FLEX_PARSER_PROFILE_ENABLE=4
+   PROG_PARSE_GRAPH=1
+
 Linux Prerequisites
 -------------------
 
Signature · 1 line
2.34.0