net/tap: add deprecation notice for RTE_FLOW_ACTION_RSS
Checks
Commit Message
The BPF infrastructure in kernel changed which broke the method
being used to load the RSS part of rte_flow in the TAP device.
Since this is a little used feature, and fixing the problem would
be moderately complex and create new dependency on libbpf,
mark the feature as deprecated and plan for removal.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/deprecation.rst | 5 +++++
1 file changed, 5 insertions(+)
Comments
On 12/14/2023 5:49 PM, Stephen Hemminger wrote:
> The BPF infrastructure in kernel changed which broke the method
> being used to load the RSS part of rte_flow in the TAP device.
> Since this is a little used feature, and fixing the problem would
> be moderately complex and create new dependency on libbpf,
> mark the feature as deprecated and plan for removal.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> doc/guides/rel_notes/deprecation.rst | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index 81b93515cbd9..7d9012ada2d7 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -146,3 +146,8 @@ Deprecation Notices
> will be deprecated and subsequently removed in DPDK 24.11 release.
> Before this, the new port library API (functions rte_swx_port_*)
> will gradually transition from experimental to stable status.
> +
> +* tap: The support for RTE_FLOW_ACTION_TYPE_RSS is deprecated and
> + will be removed in DPDK 24.11 release. It is already broken on recent
> + Linux kernels due to changes in how BPF programs are loaded,
> + and will not be fixed.
>
It wasn't even building until Stephen fixed it. It is an effort to keep
it functional, unless someone commits on maintaining the feature I am
for removing it.
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
On Thu, Dec 14, 2023, 11:20 PM Stephen Hemminger <stephen@networkplumber.org>
wrote:
> The BPF infrastructure in kernel changed which broke the method
> being used to load the RSS part of rte_flow in the TAP device.
> Since this is a little used feature, and fixing the problem would
> be moderately complex and create new dependency on libbpf,
> mark the feature as deprecated and plan for removal.
Does this mean that RSS will not work with netvsc as netvsc is using
tap and mellanox ? Or will that not be affected .
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> doc/guides/rel_notes/deprecation.rst | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/doc/guides/rel_notes/deprecation.rst
> b/doc/guides/rel_notes/deprecation.rst
> index 81b93515cbd9..7d9012ada2d7 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -146,3 +146,8 @@ Deprecation Notices
> will be deprecated and subsequently removed in DPDK 24.11 release.
> Before this, the new port library API (functions rte_swx_port_*)
> will gradually transition from experimental to stable status.
> +
> +* tap: The support for RTE_FLOW_ACTION_TYPE_RSS is deprecated and
> + will be removed in DPDK 24.11 release. It is already broken on recent
> + Linux kernels due to changes in how BPF programs are loaded,
> + and will not be fixed.
> --
> 2.43.0
>
>
On Fri, 15 Dec 2023 00:18:41 +0530
kumaraparameshwaran rathinavel <kumaraparamesh92@gmail.com> wrote:
> On Thu, Dec 14, 2023, 11:20 PM Stephen Hemminger <stephen@networkplumber.org>
> wrote:
>
> > The BPF infrastructure in kernel changed which broke the method
> > being used to load the RSS part of rte_flow in the TAP device.
> > Since this is a little used feature, and fixing the problem would
> > be moderately complex and create new dependency on libbpf,
> > mark the feature as deprecated and plan for removal.
>
> Does this mean that RSS will not work with netvsc as netvsc is using
> tap and mellanox ? Or will that not be affected .
The netvsc driver does not support rte_flow because the packets arrive
direct from host (over vmbus). It does have normal RSS.
It many ways netvsc is equivalent in functionality to virtio and vmxnet3.
The tap BPF stuff was only useful for doing flow steering to a set of
queues. It was a hack to get the kernel to do flow steering.
On Thu, 14 Dec 2023 09:49:51 -0800
Stephen Hemminger <stephen@networkplumber.org> wrote:
> The BPF infrastructure in kernel changed which broke the method
> being used to load the RSS part of rte_flow in the TAP device.
> Since this is a little used feature, and fixing the problem would
> be moderately complex and create new dependency on libbpf,
> mark the feature as deprecated and plan for removal.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> doc/guides/rel_notes/deprecation.rst | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index 81b93515cbd9..7d9012ada2d7 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -146,3 +146,8 @@ Deprecation Notices
> will be deprecated and subsequently removed in DPDK 24.11 release.
> Before this, the new port library API (functions rte_swx_port_*)
> will gradually transition from experimental to stable status.
> +
> +* tap: The support for RTE_FLOW_ACTION_TYPE_RSS is deprecated and
> + will be removed in DPDK 24.11 release. It is already broken on recent
> + Linux kernels due to changes in how BPF programs are loaded,
> + and will not be fixed.
See DPDK bugzilla 1329
https://bugs.dpdk.org/show_bug.cgi?id=1329
On Fri, Dec 15, 2023, 8:31 AM Stephen Hemminger <stephen@networkplumber.org>
wrote:
> On Fri, 15 Dec 2023 00:18:41 +0530
> kumaraparameshwaran rathinavel <kumaraparamesh92@gmail.com> wrote:
>
> > On Thu, Dec 14, 2023, 11:20 PM Stephen Hemminger <
> stephen@networkplumber.org>
> > wrote:
> >
> > > The BPF infrastructure in kernel changed which broke the method
> > > being used to load the RSS part of rte_flow in the TAP device.
> > > Since this is a little used feature, and fixing the problem would
> > > be moderately complex and create new dependency on libbpf,
> > > mark the feature as deprecated and plan for removal.
> >
> > Does this mean that RSS will not work with netvsc as netvsc is using
> > tap and mellanox ? Or will that not be affected .
>
>
> The netvsc driver does not support rte_flow because the packets arrive
> direct from host (over vmbus). It does have normal RSS.
> It many ways netvsc is equivalent in functionality to virtio and vmxnet3.
>
> The tap BPF stuff was only useful for doing flow steering to a set of
> queues. It was a hack to get the kernel to do flow steering.
>
Sure. I wanted to mean that the failsafe PMD that uses tap and mellanox
relies on offloads of both the devices. So will this cause failsafe PMD to
not use RSS and hence some performance impact ?
>
@@ -146,3 +146,8 @@ Deprecation Notices
will be deprecated and subsequently removed in DPDK 24.11 release.
Before this, the new port library API (functions rte_swx_port_*)
will gradually transition from experimental to stable status.
+
+* tap: The support for RTE_FLOW_ACTION_TYPE_RSS is deprecated and
+ will be removed in DPDK 24.11 release. It is already broken on recent
+ Linux kernels due to changes in how BPF programs are loaded,
+ and will not be fixed.