* Deprecated packet modification flow actions
@ 2024-03-08 16:17 Dariusz Sosnowski
2024-03-11 1:42 ` Chaoyong He
0 siblings, 1 reply; 4+ messages in thread
From: Dariusz Sosnowski @ 2024-03-08 16:17 UTC (permalink / raw)
To: NBU-Contact-Thomas Monjalon (EXTERNAL),
Ferruh Yigit, Andrew Rybchenko, Ori Kam, Ajit Khaparde,
Somnath Kotur, Rahul Lakkireddy, Chaoyong He
Cc: dev, techboard
Hi all,
I would like to start a discussion about legacy flow actions for packet modification.
As of DPDK 21.11 many packet modification flow actions were deprecated in favor of generic
RTE_FLOW_ACTION_TYPE_MODIFY_FIELD action (see [1]).
I compiled a review of the current state of all deprecated actions along with changes since 21.11:
RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL removed in 22.11
RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL removed in 22.11
RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL removed in 22.11
RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL bnxt*, sfc
RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT removed in 22.11
RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN removed in 22.11
RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC bnxt, cxgbe, mlx5, nfp (from 22.11), sfc (from 23.07)
RTE_FLOW_ACTION_TYPE_SET_IPV4_DST bnxt, cxgbe, mlx5, nfp (from 22.11), sfc (from 23.07)
RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC bnxt*, cxgbe, mlx5, nfp (from 22.11)
RTE_FLOW_ACTION_TYPE_SET_IPV6_DST bnxt*, cxgbe, mlx5, nfp (from 22.11)
RTE_FLOW_ACTION_TYPE_SET_TP_SRC bnxt, cxgbe, mlx5, nfp (from 22.11), sfc (from 23.07)
RTE_FLOW_ACTION_TYPE_SET_TP_DST bnxt, cxgbe, mlx5, nfp (from 22.11), sfc (from 23.07)
RTE_FLOW_ACTION_TYPE_DEC_TTL bnxt, mlx5, sfc
RTE_FLOW_ACTION_TYPE_SET_TTL bnxt*, mlx5, nfp (from 22.11)
RTE_FLOW_ACTION_TYPE_SET_MAC_SRC bnxt, cxgbe, mlx5, nfp (from 22.11), sfc
RTE_FLOW_ACTION_TYPE_SET_MAC_DST bnxt, cxgbe, mlx5, nfp (from 22.11), sfc
RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ bnxt*, mlx5
RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ bnxt*, mlx5
RTE_FLOW_ACTION_TYPE_INC_TCP_ACK bnxt*, mlx5
RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK bnxt*, mlx5
RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP mlx5, nfp (from 22.11)
RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP mlx5, nfp (from 22.11)
RTE_FLOW_ACTION_TYPE_SET_TAG mlx5
RTE_FLOW_ACTION_TYPE_SET_META mlx5
bnxt* - Based on my analysis, this action type is used only to reject unsupported actions.
RTE_FLOW_ACTION_TYPE_MODIFY_FIELD flow action itself is supported only by mlx5 PMD.
Question to ethdev and flow API maintainers, and to technical board:
As of now, MODIFY_FIELD action support in mlx5 PMD covers all deprecated modify actions.
Legacy flow actions can be removed from mlx5 PMD.
What in your opinion would be an appropriate timeline for removing them? Should we wait until 24.11 LTS release?
Question to driver maintainers:
Do you have plans to add support for RTE_FLOW_ACTION_TYPE_MODIFY_FIELD flow action in future releases?
[1]: commit bef7c9ff285a ("ethdev: announce migration to generic flow modify action")
Best regards,
Dariusz Sosnowski
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: Deprecated packet modification flow actions
2024-03-08 16:17 Deprecated packet modification flow actions Dariusz Sosnowski
@ 2024-03-11 1:42 ` Chaoyong He
2024-03-15 9:24 ` Dariusz Sosnowski
0 siblings, 1 reply; 4+ messages in thread
From: Chaoyong He @ 2024-03-11 1:42 UTC (permalink / raw)
To: Dariusz Sosnowski, NBU-Contact-Thomas Monjalon (EXTERNAL),
Ferruh Yigit, Andrew Rybchenko, Ori Kam, Ajit Khaparde,
Somnath Kotur, Rahul Lakkireddy
Cc: dev, techboard
> -----Original Message-----
> From: Dariusz Sosnowski <dsosnowski@nvidia.com>
> Sent: Saturday, March 9, 2024 12:17 AM
> To: NBU-Contact-Thomas Monjalon (EXTERNAL) <thomas@monjalon.net>;
> Ferruh Yigit <ferruh.yigit@amd.com>; Andrew Rybchenko
> <andrew.rybchenko@oktetlabs.ru>; Ori Kam <orika@nvidia.com>; Ajit
> Khaparde <ajit.khaparde@broadcom.com>; Somnath Kotur
> <somnath.kotur@broadcom.com>; Rahul Lakkireddy
> <rahul.lakkireddy@chelsio.com>; Chaoyong He <chaoyong.he@corigine.com>
> Cc: dev@dpdk.org; techboard@dpdk.org
> Subject: Deprecated packet modification flow actions
>
> Hi all,
>
> I would like to start a discussion about legacy flow actions for packet
> modification.
> As of DPDK 21.11 many packet modification flow actions were deprecated in
> favor of generic RTE_FLOW_ACTION_TYPE_MODIFY_FIELD action (see [1]).
> I compiled a review of the current state of all deprecated actions along with
> changes since 21.11:
>
> RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL removed in 22.11
> RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL removed in 22.11
> RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL removed in 22.11
> RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL bnxt*, sfc
> RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT removed in 22.11
> RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN removed in 22.11
> RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC bnxt, cxgbe, mlx5, nfp (from
> 22.11), sfc (from 23.07)
> RTE_FLOW_ACTION_TYPE_SET_IPV4_DST bnxt, cxgbe, mlx5, nfp (from
> 22.11), sfc (from 23.07)
> RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC bnxt*, cxgbe, mlx5, nfp (from
> 22.11)
> RTE_FLOW_ACTION_TYPE_SET_IPV6_DST bnxt*, cxgbe, mlx5, nfp (from
> 22.11)
> RTE_FLOW_ACTION_TYPE_SET_TP_SRC bnxt, cxgbe, mlx5, nfp (from
> 22.11), sfc (from 23.07)
> RTE_FLOW_ACTION_TYPE_SET_TP_DST bnxt, cxgbe, mlx5, nfp (from
> 22.11), sfc (from 23.07)
> RTE_FLOW_ACTION_TYPE_DEC_TTL bnxt, mlx5, sfc
> RTE_FLOW_ACTION_TYPE_SET_TTL bnxt*, mlx5, nfp (from 22.11)
> RTE_FLOW_ACTION_TYPE_SET_MAC_SRC bnxt, cxgbe, mlx5, nfp (from
> 22.11), sfc
> RTE_FLOW_ACTION_TYPE_SET_MAC_DST bnxt, cxgbe, mlx5, nfp (from
> 22.11), sfc
> RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ bnxt*, mlx5
> RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ bnxt*, mlx5
> RTE_FLOW_ACTION_TYPE_INC_TCP_ACK bnxt*, mlx5
> RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK bnxt*, mlx5
> RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP mlx5, nfp (from 22.11)
> RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP mlx5, nfp (from 22.11)
> RTE_FLOW_ACTION_TYPE_SET_TAG mlx5
> RTE_FLOW_ACTION_TYPE_SET_META mlx5
>
> bnxt* - Based on my analysis, this action type is used only to reject
> unsupported actions.
>
> RTE_FLOW_ACTION_TYPE_MODIFY_FIELD flow action itself is supported only
> by mlx5 PMD.
>
> Question to ethdev and flow API maintainers, and to technical board:
>
> As of now, MODIFY_FIELD action support in mlx5 PMD covers all deprecated
> modify actions.
> Legacy flow actions can be removed from mlx5 PMD.
> What in your opinion would be an appropriate timeline for removing them?
> Should we wait until 24.11 LTS release?
>
> Question to driver maintainers:
>
> Do you have plans to add support for
> RTE_FLOW_ACTION_TYPE_MODIFY_FIELD flow action in future releases?
NFP plans support RTE_FLOW_ACTION_TYPE_MODIFY_FIELD flow action in 24.07 or 24.11.
For remove of legacy flow, does there also correspond patches in OVS project?
>
> [1]: commit bef7c9ff285a ("ethdev: announce migration to generic flow
> modify action")
>
> Best regards,
> Dariusz Sosnowski
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: Deprecated packet modification flow actions
2024-03-11 1:42 ` Chaoyong He
@ 2024-03-15 9:24 ` Dariusz Sosnowski
2024-03-15 13:34 ` Kevin Traynor
0 siblings, 1 reply; 4+ messages in thread
From: Dariusz Sosnowski @ 2024-03-15 9:24 UTC (permalink / raw)
To: Chaoyong He, NBU-Contact-Thomas Monjalon (EXTERNAL),
Ferruh Yigit, Andrew Rybchenko, Ori Kam, Ajit Khaparde,
Somnath Kotur, Rahul Lakkireddy
Cc: dev, techboard
> NFP plans support RTE_FLOW_ACTION_TYPE_MODIFY_FIELD flow action in
> 24.07 or 24.11.
> For remove of legacy flow, does there also correspond patches in OVS project?
I am not familiar with any patches to OVS. Thanks for raising this.
For the record, in latest commit on main branch in OVS (commit fa0dfa18d534) I see that the following modify actions are used:
RTE_FLOW_ACTION_TYPE_SET_MAC_SRC
RTE_FLOW_ACTION_TYPE_SET_MAC_DST
RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC
RTE_FLOW_ACTION_TYPE_SET_IPV4_DST
RTE_FLOW_ACTION_TYPE_SET_TTL
RTE_FLOW_ACTION_TYPE_SET_TP_SRC
RTE_FLOW_ACTION_TYPE_SET_TP_DST
RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC
RTE_FLOW_ACTION_TYPE_SET_IPV6_DST
We'd need to sync with OVS developers, but I assume we cannot just remove these without providing a proper replacement, so the functionality is not broken.
I think that, once there's an agreement on the timeline of implementing MODIFY_FIELD in PMDs, we'd need to work
with OVS to migrate it to MODIFY_FIELD. After OVS uses MODIFY_FIELD actions, deprecated actions could be safely removed from OVS and DPDK.
What do you all think?
Also, this opens a question about other upstream projects using deprecated actions. Do you know if there are other projects besides OVS?
Best regards,
Dariusz Sosnowski
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Deprecated packet modification flow actions
2024-03-15 9:24 ` Dariusz Sosnowski
@ 2024-03-15 13:34 ` Kevin Traynor
0 siblings, 0 replies; 4+ messages in thread
From: Kevin Traynor @ 2024-03-15 13:34 UTC (permalink / raw)
To: Dariusz Sosnowski, Chaoyong He,
NBU-Contact-Thomas Monjalon (EXTERNAL),
Ferruh Yigit, Andrew Rybchenko, Ori Kam, Ajit Khaparde,
Somnath Kotur, Rahul Lakkireddy
Cc: dev, techboard
On 15/03/2024 09:24, Dariusz Sosnowski wrote:
>> NFP plans support RTE_FLOW_ACTION_TYPE_MODIFY_FIELD flow action in
>> 24.07 or 24.11.
>> For remove of legacy flow, does there also correspond patches in OVS project?
> I am not familiar with any patches to OVS. Thanks for raising this.
>
> For the record, in latest commit on main branch in OVS (commit fa0dfa18d534) I see that the following modify actions are used:
>
> RTE_FLOW_ACTION_TYPE_SET_MAC_SRC
> RTE_FLOW_ACTION_TYPE_SET_MAC_DST
> RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC
> RTE_FLOW_ACTION_TYPE_SET_IPV4_DST
> RTE_FLOW_ACTION_TYPE_SET_TTL
> RTE_FLOW_ACTION_TYPE_SET_TP_SRC
> RTE_FLOW_ACTION_TYPE_SET_TP_DST
> RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC
> RTE_FLOW_ACTION_TYPE_SET_IPV6_DST
>
> We'd need to sync with OVS developers, but I assume we cannot just remove these without providing a proper replacement, so the functionality is not broken.
Yes, but I'd add that this is a general point about the API, regardless
of OVS or other projects.
> I think that, once there's an agreement on the timeline of implementing MODIFY_FIELD in PMDs, we'd need to work
> with OVS to migrate it to MODIFY_FIELD. After OVS uses MODIFY_FIELD actions, deprecated actions could be safely removed from OVS and DPDK.
>
Ideally, there would be some overlap where both methods are present and
fully supported for a couple of releases. That would ease integration
for users, rather than having an abrupt switchover date.
OVS only takes DPDK LTS versions, so it could only take the next YY.11
release with this change.
Any OVS patches to switchover would need to be ready/reviewed in OVS
before the DPDK YY.11 release integration, otherwise it could delay
updating DPDK version and missing other new functionality/new drivers etc.
There is an OVS 'dpdk-latest' experimental branch that is paired with
head of DPDK main branch. You can send OVS patches to it for new DPDK
changes to refine and test with, in advance of a DPDK YY.11 release.
> What do you all think?
> > Also, this opens a question about other upstream projects using
deprecated actions. Do you know if there are other projects besides OVS?
>
A quick search through some projects and I didn't see them used elsewhere.
thanks,
Kevin.
> Best regards,
> Dariusz Sosnowski
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-03-15 13:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-08 16:17 Deprecated packet modification flow actions Dariusz Sosnowski
2024-03-11 1:42 ` Chaoyong He
2024-03-15 9:24 ` Dariusz Sosnowski
2024-03-15 13:34 ` Kevin Traynor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).