[v2,1/1] ethdev: add IPv6 FL and TC field identifiers
Checks
Commit Message
Add new "rte_flow_field_id" enumeration values to describe both IPv6
traffic class and IPv6 flow label fields.
The TC value is "RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS" in flow API and
"ipv6_traffic_class" in testpmd command.
The FL value is "RTE_FLOW_FIELD_IPV6_FLOW_LABEL" in flow API and
"ipv6_flow_label" in testpmd command.
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
app/test-pmd/cmdline_flow.c | 1 +
doc/guides/rel_notes/release_24_03.rst | 2 ++
lib/ethdev/rte_flow.h | 4 +++-
3 files changed, 6 insertions(+), 1 deletion(-)
Comments
On 2/7/2024 3:51 PM, Michael Baum wrote:
> Add new "rte_flow_field_id" enumeration values to describe both IPv6
> traffic class and IPv6 flow label fields.
>
> The TC value is "RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS" in flow API and
> "ipv6_traffic_class" in testpmd command.
> The FL value is "RTE_FLOW_FIELD_IPV6_FLOW_LABEL" in flow API and
> "ipv6_flow_label" in testpmd command.
>
> Signed-off-by: Michael Baum <michaelba@nvidia.com>
> Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
> ---
> app/test-pmd/cmdline_flow.c | 1 +
> doc/guides/rel_notes/release_24_03.rst | 2 ++
> lib/ethdev/rte_flow.h | 4 +++-
> 3 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
> index 102b4d67c9..ab8bece28e 100644
> --- a/app/test-pmd/cmdline_flow.c
> +++ b/app/test-pmd/cmdline_flow.c
> @@ -992,6 +992,7 @@ static const char *const flow_field_ids[] = {
> "random",
> "ipv4_proto",
> "esp_spi", "esp_seq_num", "esp_proto",
> + "ipv6_flow_label", "ipv6_traffic_class",
> NULL
> };
>
> diff --git a/doc/guides/rel_notes/release_24_03.rst b/doc/guides/rel_notes/release_24_03.rst
> index 0909a2245d..f548eacc5e 100644
> --- a/doc/guides/rel_notes/release_24_03.rst
> +++ b/doc/guides/rel_notes/release_24_03.rst
> @@ -68,6 +68,8 @@ New Features
> * Added ``RTE_FLOW_FIELD_ESP_SPI`` to represent it in field ID struct.
> * Added ``RTE_FLOW_FIELD_ESP_SEQ_NUM`` to represent it in field ID struct.
> * Added ``RTE_FLOW_FIELD_ESP_PROTO`` to represent it in field ID struct.
> + * Added ``RTE_FLOW_FIELD_IPV6_FLOW_LABEL`` to represent it in field ID struct.
> + * Added ``RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS`` to represent it in field ID struct.
>
On which tree is this patch based on, I don't see above notes.
Can you please rebase on latest next-net?
> * ** Support for getting the number of used descriptors of a Tx queue. **
>
> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
> index b8fc16b819..8b32a69d8d 100644
> --- a/lib/ethdev/rte_flow.h
> +++ b/lib/ethdev/rte_flow.h
> @@ -2425,7 +2425,9 @@ enum rte_flow_field_id {
> RTE_FLOW_FIELD_IPV4_PROTO, /**< IPv4 next protocol. */
> RTE_FLOW_FIELD_ESP_SPI, /**< ESP SPI. */
> RTE_FLOW_FIELD_ESP_SEQ_NUM, /**< ESP Sequence Number. */
> - RTE_FLOW_FIELD_ESP_PROTO /**< ESP next protocol value. */
> + RTE_FLOW_FIELD_ESP_PROTO, /**< ESP next protocol value. */
> + RTE_FLOW_FIELD_IPV6_FLOW_LABEL, /**< IPv6 flow label. */
> + RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS/**< IPv6 traffic class. */
> };
>
> /**
On 2/9/2024 3:51 PM, Ferruh Yigit wrote:
>
> On 2/8/2024 22:38 PM, Michael Baum wrote:
> > Add new "rte_flow_field_id" enumeration values to describe both IPv6
> > traffic class and IPv6 flow label fields.
> >
> > The TC value is "RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS" in flow API and
> > "ipv6_traffic_class" in testpmd command.
> > The FL value is "RTE_FLOW_FIELD_IPV6_FLOW_LABEL" in flow API and
> > "ipv6_flow_label" in testpmd command.
> >
> > Signed-off-by: Michael Baum <michaelba@nvidia.com>
> > Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
> > ---
> > app/test-pmd/cmdline_flow.c | 1 +
> > doc/guides/rel_notes/release_24_03.rst | 2 ++
> > lib/ethdev/rte_flow.h | 4 +++-
> > 3 files changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
> > index 102b4d67c9..ab8bece28e 100644
> > --- a/app/test-pmd/cmdline_flow.c
> > +++ b/app/test-pmd/cmdline_flow.c
> > @@ -992,6 +992,7 @@ static const char *const flow_field_ids[] = {
> > "random",
> > "ipv4_proto",
> > "esp_spi", "esp_seq_num", "esp_proto",
> > + "ipv6_flow_label", "ipv6_traffic_class",
> > NULL
> > };
> >
> > diff --git a/doc/guides/rel_notes/release_24_03.rst
> > b/doc/guides/rel_notes/release_24_03.rst
> > index 0909a2245d..f548eacc5e 100644
> > --- a/doc/guides/rel_notes/release_24_03.rst
> > +++ b/doc/guides/rel_notes/release_24_03.rst
> > @@ -68,6 +68,8 @@ New Features
> > * Added ``RTE_FLOW_FIELD_ESP_SPI`` to represent it in field ID struct.
> > * Added ``RTE_FLOW_FIELD_ESP_SEQ_NUM`` to represent it in field ID
> struct.
> > * Added ``RTE_FLOW_FIELD_ESP_PROTO`` to represent it in field ID struct.
> > + * Added ``RTE_FLOW_FIELD_IPV6_FLOW_LABEL`` to represent it in field ID
> struct.
> > + * Added ``RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS`` to represent it in field
> ID struct.
> >
>
> On which tree is this patch based on, I don't see above notes.
I added in the cover letter this dependency:
Depends-on: series-31008 ("ethdev: add modify IPv4 next protocol field")
But it has new version now:
https://patchwork.dpdk.org/project/dpdk/list/?series=31037
> Can you please rebase on latest next-net?
Do you prefer me to send a new version without dependency?
>
> > * ** Support for getting the number of used descriptors of a Tx
> > queue. **
> >
> > diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index
> > b8fc16b819..8b32a69d8d 100644
> > --- a/lib/ethdev/rte_flow.h
> > +++ b/lib/ethdev/rte_flow.h
> > @@ -2425,7 +2425,9 @@ enum rte_flow_field_id {
> > RTE_FLOW_FIELD_IPV4_PROTO, /**< IPv4 next protocol. */
> > RTE_FLOW_FIELD_ESP_SPI, /**< ESP SPI. */
> > RTE_FLOW_FIELD_ESP_SEQ_NUM, /**< ESP Sequence Number. */
> > - RTE_FLOW_FIELD_ESP_PROTO /**< ESP next protocol value. */
> > + RTE_FLOW_FIELD_ESP_PROTO, /**< ESP next protocol value. */
> > + RTE_FLOW_FIELD_IPV6_FLOW_LABEL, /**< IPv6 flow label. */
> > + RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS/**< IPv6 traffic class. */
> > };
> >
> > /**
On 2/11/2024 8:05 AM, Michael Baum wrote:
> On 2/9/2024 3:51 PM, Ferruh Yigit wrote:
>>
>> On 2/8/2024 22:38 PM, Michael Baum wrote:
>>> Add new "rte_flow_field_id" enumeration values to describe both IPv6
>>> traffic class and IPv6 flow label fields.
>>>
>>> The TC value is "RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS" in flow API and
>>> "ipv6_traffic_class" in testpmd command.
>>> The FL value is "RTE_FLOW_FIELD_IPV6_FLOW_LABEL" in flow API and
>>> "ipv6_flow_label" in testpmd command.
>>>
>>> Signed-off-by: Michael Baum <michaelba@nvidia.com>
>>> Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
>>> ---
>>> app/test-pmd/cmdline_flow.c | 1 +
>>> doc/guides/rel_notes/release_24_03.rst | 2 ++
>>> lib/ethdev/rte_flow.h | 4 +++-
>>> 3 files changed, 6 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
>>> index 102b4d67c9..ab8bece28e 100644
>>> --- a/app/test-pmd/cmdline_flow.c
>>> +++ b/app/test-pmd/cmdline_flow.c
>>> @@ -992,6 +992,7 @@ static const char *const flow_field_ids[] = {
>>> "random",
>>> "ipv4_proto",
>>> "esp_spi", "esp_seq_num", "esp_proto",
>>> + "ipv6_flow_label", "ipv6_traffic_class",
>>> NULL
>>> };
>>>
>>> diff --git a/doc/guides/rel_notes/release_24_03.rst
>>> b/doc/guides/rel_notes/release_24_03.rst
>>> index 0909a2245d..f548eacc5e 100644
>>> --- a/doc/guides/rel_notes/release_24_03.rst
>>> +++ b/doc/guides/rel_notes/release_24_03.rst
>>> @@ -68,6 +68,8 @@ New Features
>>> * Added ``RTE_FLOW_FIELD_ESP_SPI`` to represent it in field ID struct.
>>> * Added ``RTE_FLOW_FIELD_ESP_SEQ_NUM`` to represent it in field ID
>> struct.
>>> * Added ``RTE_FLOW_FIELD_ESP_PROTO`` to represent it in field ID struct.
>>> + * Added ``RTE_FLOW_FIELD_IPV6_FLOW_LABEL`` to represent it in field ID
>> struct.
>>> + * Added ``RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS`` to represent it in field
>> ID struct.
>>>
>>
>> On which tree is this patch based on, I don't see above notes.
>
> I added in the cover letter this dependency:
> Depends-on: series-31008 ("ethdev: add modify IPv4 next protocol field")
> But it has new version now:
> https://patchwork.dpdk.org/project/dpdk/list/?series=31037
>
>> Can you please rebase on latest next-net?
>
> Do you prefer me to send a new version without dependency?
>
Right, I missed the depends-on tag.
Dependent patch is delegated to Raslan, and this patch is straightforward.
Let me ack the patch and assign it to Raslan, assuming he is OK, he can
get this one after he merged the dependent patch.
@Raslan, please let me know if I am missing something.
On 2/7/2024 3:51 PM, Michael Baum wrote:
> Add new "rte_flow_field_id" enumeration values to describe both IPv6
> traffic class and IPv6 flow label fields.
>
> The TC value is "RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS" in flow API and
> "ipv6_traffic_class" in testpmd command.
> The FL value is "RTE_FLOW_FIELD_IPV6_FLOW_LABEL" in flow API and
> "ipv6_flow_label" in testpmd command.
>
> Signed-off-by: Michael Baum <michaelba@nvidia.com>
> Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
HI,
> Add new "rte_flow_field_id" enumeration values to describe both IPv6
>traffic class and IPv6 flow label fields.
>
>The TC value is "RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS" in flow API and
>"ipv6_traffic_class" in testpmd command.
>The FL value is "RTE_FLOW_FIELD_IPV6_FLOW_LABEL" in flow API and
>"ipv6_flow_label" in testpmd command.
>Signed-off-by: Michael Baum <michaelba@nvidia.com>
>Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh
@@ -992,6 +992,7 @@ static const char *const flow_field_ids[] = {
"random",
"ipv4_proto",
"esp_spi", "esp_seq_num", "esp_proto",
+ "ipv6_flow_label", "ipv6_traffic_class",
NULL
};
@@ -68,6 +68,8 @@ New Features
* Added ``RTE_FLOW_FIELD_ESP_SPI`` to represent it in field ID struct.
* Added ``RTE_FLOW_FIELD_ESP_SEQ_NUM`` to represent it in field ID struct.
* Added ``RTE_FLOW_FIELD_ESP_PROTO`` to represent it in field ID struct.
+ * Added ``RTE_FLOW_FIELD_IPV6_FLOW_LABEL`` to represent it in field ID struct.
+ * Added ``RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS`` to represent it in field ID struct.
* ** Support for getting the number of used descriptors of a Tx queue. **
@@ -2425,7 +2425,9 @@ enum rte_flow_field_id {
RTE_FLOW_FIELD_IPV4_PROTO, /**< IPv4 next protocol. */
RTE_FLOW_FIELD_ESP_SPI, /**< ESP SPI. */
RTE_FLOW_FIELD_ESP_SEQ_NUM, /**< ESP Sequence Number. */
- RTE_FLOW_FIELD_ESP_PROTO /**< ESP next protocol value. */
+ RTE_FLOW_FIELD_ESP_PROTO, /**< ESP next protocol value. */
+ RTE_FLOW_FIELD_IPV6_FLOW_LABEL, /**< IPv6 flow label. */
+ RTE_FLOW_FIELD_IPV6_TRAFFIC_CLASS/**< IPv6 traffic class. */
};
/**