ethdev: add IPv6 DSCP option for modify field action
Checks
Commit Message
IPv6 DSCP field ID is missing from the original list of Field IDs
for MODIFY_FIELD action. Add it to support IPv6 header fully.
Fixes: 73b68f4c54a ("ethdev: introduce generic modify flow action")
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
---
lib/librte_ethdev/rte_flow.h | 1 +
1 file changed, 1 insertion(+)
Comments
On Tue, 26 Jan 2021 03:38:24 +0000
Alexander Kozyrev <akozyrev@nvidia.com> wrote:
> IPv6 DSCP field ID is missing from the original list of Field IDs
> for MODIFY_FIELD action. Add it to support IPv6 header fully.
>
> Fixes: 73b68f4c54a ("ethdev: introduce generic modify flow action")
>
> Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
> ---
> lib/librte_ethdev/rte_flow.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
> index 46e8ee70ab..68c68cdd6c 100644
> --- a/lib/librte_ethdev/rte_flow.h
> +++ b/lib/librte_ethdev/rte_flow.h
> @@ -2842,6 +2842,7 @@ enum rte_flow_field_id {
> RTE_FLOW_FIELD_IPV4_TTL,
> RTE_FLOW_FIELD_IPV4_SRC,
> RTE_FLOW_FIELD_IPV4_DST,
> + RTE_FLOW_FIELD_IPV6_DSCP,
> RTE_FLOW_FIELD_IPV6_HOPLIMIT,
> RTE_FLOW_FIELD_IPV6_SRC,
> RTE_FLOW_FIELD_IPV6_DST,
Adding field in middle of enum will break ABI.
> From: Stephen Hemminger <stephen@networkplumber.org> on Monday, January 25, 2021 22:44
>
> On Tue, 26 Jan 2021 03:38:24 +0000
> Alexander Kozyrev <akozyrev@nvidia.com> wrote:
>
> > IPv6 DSCP field ID is missing from the original list of Field IDs
> > for MODIFY_FIELD action. Add it to support IPv6 header fully.
> >
> > Fixes: 73b68f4c54a ("ethdev: introduce generic modify flow action")
> >
> > Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
> > ---
> > lib/librte_ethdev/rte_flow.h | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
> > index 46e8ee70ab..68c68cdd6c 100644
> > --- a/lib/librte_ethdev/rte_flow.h
> > +++ b/lib/librte_ethdev/rte_flow.h
> > @@ -2842,6 +2842,7 @@ enum rte_flow_field_id {
> > RTE_FLOW_FIELD_IPV4_TTL,
> > RTE_FLOW_FIELD_IPV4_SRC,
> > RTE_FLOW_FIELD_IPV4_DST,
> > + RTE_FLOW_FIELD_IPV6_DSCP,
> > RTE_FLOW_FIELD_IPV6_HOPLIMIT,
> > RTE_FLOW_FIELD_IPV6_SRC,
> > RTE_FLOW_FIELD_IPV6_DST,
>
> Adding field in middle of enum will break ABI.
I added the rte_flow_field_id enum a week ago into 20.11-rc1.
I believe it is not too late to make it right without breaking ABI, don't you think so?
On Mon, Jan 25, 2021 at 9:21 PM Alexander Kozyrev <akozyrev@nvidia.com> wrote:
>
> > From: Stephen Hemminger <stephen@networkplumber.org> on Monday, January 25, 2021 22:44
> >
> > On Tue, 26 Jan 2021 03:38:24 +0000
> > Alexander Kozyrev <akozyrev@nvidia.com> wrote:
> >
> > > IPv6 DSCP field ID is missing from the original list of Field IDs
> > > for MODIFY_FIELD action. Add it to support IPv6 header fully.
> > >
> > > Fixes: 73b68f4c54a ("ethdev: introduce generic modify flow action")
> > >
> > > Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
> > > ---
> > > lib/librte_ethdev/rte_flow.h | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
> > > index 46e8ee70ab..68c68cdd6c 100644
> > > --- a/lib/librte_ethdev/rte_flow.h
> > > +++ b/lib/librte_ethdev/rte_flow.h
> > > @@ -2842,6 +2842,7 @@ enum rte_flow_field_id {
> > > RTE_FLOW_FIELD_IPV4_TTL,
> > > RTE_FLOW_FIELD_IPV4_SRC,
> > > RTE_FLOW_FIELD_IPV4_DST,
> > > + RTE_FLOW_FIELD_IPV6_DSCP,
> > > RTE_FLOW_FIELD_IPV6_HOPLIMIT,
> > > RTE_FLOW_FIELD_IPV6_SRC,
> > > RTE_FLOW_FIELD_IPV6_DST,
> >
> > Adding field in middle of enum will break ABI.
>
> I added the rte_flow_field_id enum a week ago into 20.11-rc1.
21.02-rc1
> I believe it is not too late to make it right without breaking ABI, don't you think so?
On Mon, Jan 25, 2021 at 7:38 PM Alexander Kozyrev <akozyrev@nvidia.com> wrote:
>
> IPv6 DSCP field ID is missing from the original list of Field IDs
> for MODIFY_FIELD action. Add it to support IPv6 header fully.
>
> Fixes: 73b68f4c54a ("ethdev: introduce generic modify flow action")
>
> Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> ---
> lib/librte_ethdev/rte_flow.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
> index 46e8ee70ab..68c68cdd6c 100644
> --- a/lib/librte_ethdev/rte_flow.h
> +++ b/lib/librte_ethdev/rte_flow.h
> @@ -2842,6 +2842,7 @@ enum rte_flow_field_id {
> RTE_FLOW_FIELD_IPV4_TTL,
> RTE_FLOW_FIELD_IPV4_SRC,
> RTE_FLOW_FIELD_IPV4_DST,
> + RTE_FLOW_FIELD_IPV6_DSCP,
> RTE_FLOW_FIELD_IPV6_HOPLIMIT,
> RTE_FLOW_FIELD_IPV6_SRC,
> RTE_FLOW_FIELD_IPV6_DST,
> --
> 2.24.1
>
On Tue, 26 Jan 2021 05:21:23 +0000
Alexander Kozyrev <akozyrev@nvidia.com> wrote:
> > From: Stephen Hemminger <stephen@networkplumber.org> on Monday, January 25, 2021 22:44
> >
> > On Tue, 26 Jan 2021 03:38:24 +0000
> > Alexander Kozyrev <akozyrev@nvidia.com> wrote:
> >
> > > IPv6 DSCP field ID is missing from the original list of Field IDs
> > > for MODIFY_FIELD action. Add it to support IPv6 header fully.
> > >
> > > Fixes: 73b68f4c54a ("ethdev: introduce generic modify flow action")
> > >
> > > Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
> > > ---
> > > lib/librte_ethdev/rte_flow.h | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
> > > index 46e8ee70ab..68c68cdd6c 100644
> > > --- a/lib/librte_ethdev/rte_flow.h
> > > +++ b/lib/librte_ethdev/rte_flow.h
> > > @@ -2842,6 +2842,7 @@ enum rte_flow_field_id {
> > > RTE_FLOW_FIELD_IPV4_TTL,
> > > RTE_FLOW_FIELD_IPV4_SRC,
> > > RTE_FLOW_FIELD_IPV4_DST,
> > > + RTE_FLOW_FIELD_IPV6_DSCP,
> > > RTE_FLOW_FIELD_IPV6_HOPLIMIT,
> > > RTE_FLOW_FIELD_IPV6_SRC,
> > > RTE_FLOW_FIELD_IPV6_DST,
> >
> > Adding field in middle of enum will break ABI.
>
> I added the rte_flow_field_id enum a week ago into 20.11-rc1.
> I believe it is not too late to make it right without breaking ABI, don't you think so?
Ok if not in release yet
@@ -2842,6 +2842,7 @@ enum rte_flow_field_id {
RTE_FLOW_FIELD_IPV4_TTL,
RTE_FLOW_FIELD_IPV4_SRC,
RTE_FLOW_FIELD_IPV4_DST,
+ RTE_FLOW_FIELD_IPV6_DSCP,
RTE_FLOW_FIELD_IPV6_HOPLIMIT,
RTE_FLOW_FIELD_IPV6_SRC,
RTE_FLOW_FIELD_IPV6_DST,