Skip to contentSkip to conversation

net/tap: add deprecation notice for RTE_FLOW_ACTION_RSS

PATCH In review Stephen Hemminger 3 participants 6 messages Dec 14, 2023 – Dec 15, 2023

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 net/tap: add deprecation notice for RTE_FLOW_ACTION_RSS

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.

---
 doc/guides/rel_notes/deprecation.rst | 5 +++++
 1 file changed, 5 insertions(+)
doc/guides/rel_notes/deprecation.rst +5 -0
index 81b93515cbd9..7d9012ada2d7 100644
@@ -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.
Signature · 1 line
2.43.0
Acked-by on v1 1/1
#1 lore raw
Quoted 17 lines · Stephen Hemminger

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.

---
 doc/guides/rel_notes/deprecation.rst | 5 +++++
 1 file changed, 5 insertions(+)
doc/guides/rel_notes/deprecation.rst +0 -0
index 81b93515cbd9..7d9012ada2d7 100644

doc/guides/rel_notes/deprecation.rst Deprecation Notices · line 153

Quoted 8 lines
doc/guides/rel_notes/deprecation.rst +5 -0
@@ -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.

#2 lore raw
In reply to Stephen Hemminger
Quoted 5 lines · Stephen Hemminger

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 .

Quoted 24 lines
---
 doc/guides/rel_notes/deprecation.rst | 5 +++++
 1 file changed, 5 insertions(+)
doc/guides/rel_notes/deprecation.rst +5 -1
index 81b93515cbd9..7d9012ada2d7 100644
@@ -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

#3 lore raw
Quoted 11 lines · On Fri, 15 Dec 2023 00:18:41 +0530 kumaraparameshwaran rathinavel…
Quoted 5 lines · Stephen Hemminger

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.

#4 lore raw
Quoted 17 lines · Stephen Hemminger
Quoted 1 line · On Fri, 15 Dec 2023 00:18:41 +0530 kumaraparameshwaran rathinavel…

On Thu, Dec 14, 2023, 11:20 PM Stephen Hemminger <

[email protected]>

Quoted 10 lines
Quoted 5 lines · 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 .

Quoted 7 lines

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 ?

Quoted 1 line
#5 lore raw
In reply to Stephen Hemminger
Quoted 16 lines · On Thu, 14 Dec 2023 09:49:51 -0800 Stephen Hemminger…

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.

---
 doc/guides/rel_notes/deprecation.rst | 5 +++++
 1 file changed, 5 insertions(+)
doc/guides/rel_notes/deprecation.rst +0 -0
index 81b93515cbd9..7d9012ada2d7 100644

doc/guides/rel_notes/deprecation.rst Deprecation Notices · line 153

Quoted 8 lines
doc/guides/rel_notes/deprecation.rst +5 -0
@@ -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