* [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
@ 2025-03-19 12:45 Maxim Mikityanskiy
2025-03-19 14:24 ` Daniel Borkmann
` (4 more replies)
0 siblings, 5 replies; 12+ messages in thread
From: Maxim Mikityanskiy @ 2025-03-19 12:45 UTC (permalink / raw)
To: Saeed Mahameed, Tariq Toukan
Cc: Leon Romanovsky, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, netdev, Maxim Mikityanskiy
There commands can be used to add an RSS context and steer some traffic
into it:
# ethtool -X eth0 context new
New RSS context is 1
# ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
Added rule with ID 1023
However, the second command fails with EINVAL on mlx5e:
# ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
rmgr: Cannot insert RX class rule: Invalid argument
Cannot insert classification rule
It happens when flow_get_tirn calls flow_type_to_traffic_type with
flow_type = IP_USER_FLOW or IPV6_USER_FLOW. That function only handles
IPV4_FLOW and IPV6_FLOW cases, but unlike all other cases which are
common for hash and spec, IPv4 and IPv6 defines different contants for
hash and for spec:
#define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
#define UDP_V4_FLOW 0x02 /* hash or spec (udp_ip4_spec) */
...
#define IPV4_USER_FLOW 0x0d /* spec only (usr_ip4_spec) */
#define IP_USER_FLOW IPV4_USER_FLOW
#define IPV6_USER_FLOW 0x0e /* spec only (usr_ip6_spec; nfc only) */
#define IPV4_FLOW 0x10 /* hash only */
#define IPV6_FLOW 0x11 /* hash only */
Extend the switch in flow_type_to_traffic_type to support both, which
fixes the failing ethtool -N command with flow-type ip4 or ip6.
Fixes: 248d3b4c9a39 ("net/mlx5e: Support flow classification into RSS contexts")
Signed-off-by: Maxim Mikityanskiy <maxim@isovalent.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
index 773624bb2c5d..d68230a7b9f4 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
@@ -884,8 +884,10 @@ static int flow_type_to_traffic_type(u32 flow_type)
case ESP_V6_FLOW:
return MLX5_TT_IPV6_IPSEC_ESP;
case IPV4_FLOW:
+ case IP_USER_FLOW:
return MLX5_TT_IPV4;
case IPV6_FLOW:
+ case IPV6_USER_FLOW:
return MLX5_TT_IPV6;
default:
return -EINVAL;
--
2.48.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
2025-03-19 12:45 [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context Maxim Mikityanskiy
@ 2025-03-19 14:24 ` Daniel Borkmann
2025-03-19 15:46 ` Joe Damato
` (3 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Daniel Borkmann @ 2025-03-19 14:24 UTC (permalink / raw)
To: Maxim Mikityanskiy, Saeed Mahameed, Tariq Toukan
Cc: Leon Romanovsky, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, netdev, Maxim Mikityanskiy
On 3/19/25 1:45 PM, Maxim Mikityanskiy wrote:
> There commands can be used to add an RSS context and steer some traffic
> into it:
>
> # ethtool -X eth0 context new
> New RSS context is 1
> # ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
> Added rule with ID 1023
>
> However, the second command fails with EINVAL on mlx5e:
>
> # ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
> rmgr: Cannot insert RX class rule: Invalid argument
> Cannot insert classification rule
>
> It happens when flow_get_tirn calls flow_type_to_traffic_type with
> flow_type = IP_USER_FLOW or IPV6_USER_FLOW. That function only handles
> IPV4_FLOW and IPV6_FLOW cases, but unlike all other cases which are
> common for hash and spec, IPv4 and IPv6 defines different contants for
> hash and for spec:
>
> #define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
> #define UDP_V4_FLOW 0x02 /* hash or spec (udp_ip4_spec) */
> ...
> #define IPV4_USER_FLOW 0x0d /* spec only (usr_ip4_spec) */
> #define IP_USER_FLOW IPV4_USER_FLOW
> #define IPV6_USER_FLOW 0x0e /* spec only (usr_ip6_spec; nfc only) */
> #define IPV4_FLOW 0x10 /* hash only */
> #define IPV6_FLOW 0x11 /* hash only */
>
> Extend the switch in flow_type_to_traffic_type to support both, which
> fixes the failing ethtool -N command with flow-type ip4 or ip6.
>
> Fixes: 248d3b4c9a39 ("net/mlx5e: Support flow classification into RSS contexts")
> Signed-off-by: Maxim Mikityanskiy <maxim@isovalent.com>
Awesome, thanks Max!
Tested-by: Daniel Borkmann <daniel@iogearbox.net>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
2025-03-19 12:45 [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context Maxim Mikityanskiy
2025-03-19 14:24 ` Daniel Borkmann
@ 2025-03-19 15:46 ` Joe Damato
2025-03-20 7:32 ` Tariq Toukan
` (2 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Joe Damato @ 2025-03-19 15:46 UTC (permalink / raw)
To: Maxim Mikityanskiy
Cc: Saeed Mahameed, Tariq Toukan, Leon Romanovsky, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
netdev, Maxim Mikityanskiy
On Wed, Mar 19, 2025 at 02:45:08PM +0200, Maxim Mikityanskiy wrote:
> There commands can be used to add an RSS context and steer some traffic
> into it:
>
> # ethtool -X eth0 context new
> New RSS context is 1
> # ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
> Added rule with ID 1023
>
> However, the second command fails with EINVAL on mlx5e:
>
> # ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
> rmgr: Cannot insert RX class rule: Invalid argument
> Cannot insert classification rule
>
> It happens when flow_get_tirn calls flow_type_to_traffic_type with
> flow_type = IP_USER_FLOW or IPV6_USER_FLOW. That function only handles
> IPV4_FLOW and IPV6_FLOW cases, but unlike all other cases which are
> common for hash and spec, IPv4 and IPv6 defines different contants for
> hash and for spec:
>
> #define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
> #define UDP_V4_FLOW 0x02 /* hash or spec (udp_ip4_spec) */
> ...
> #define IPV4_USER_FLOW 0x0d /* spec only (usr_ip4_spec) */
> #define IP_USER_FLOW IPV4_USER_FLOW
> #define IPV6_USER_FLOW 0x0e /* spec only (usr_ip6_spec; nfc only) */
> #define IPV4_FLOW 0x10 /* hash only */
> #define IPV6_FLOW 0x11 /* hash only */
>
> Extend the switch in flow_type_to_traffic_type to support both, which
> fixes the failing ethtool -N command with flow-type ip4 or ip6.
>
> Fixes: 248d3b4c9a39 ("net/mlx5e: Support flow classification into RSS contexts")
> Signed-off-by: Maxim Mikityanskiy <maxim@isovalent.com>
> ---
> drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> index 773624bb2c5d..d68230a7b9f4 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> @@ -884,8 +884,10 @@ static int flow_type_to_traffic_type(u32 flow_type)
> case ESP_V6_FLOW:
> return MLX5_TT_IPV6_IPSEC_ESP;
> case IPV4_FLOW:
> + case IP_USER_FLOW:
> return MLX5_TT_IPV4;
> case IPV6_FLOW:
> + case IPV6_USER_FLOW:
> return MLX5_TT_IPV6;
> default:
> return -EINVAL;
Good catch.
Reviewed-by: Joe Damato <jdamato@fastly.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
2025-03-19 12:45 [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context Maxim Mikityanskiy
2025-03-19 14:24 ` Daniel Borkmann
2025-03-19 15:46 ` Joe Damato
@ 2025-03-20 7:32 ` Tariq Toukan
2025-03-20 7:43 ` Maxim Mikityanskiy
2025-03-20 8:25 ` Gal Pressman
2025-03-24 20:50 ` patchwork-bot+netdevbpf
4 siblings, 1 reply; 12+ messages in thread
From: Tariq Toukan @ 2025-03-20 7:32 UTC (permalink / raw)
To: Maxim Mikityanskiy, Saeed Mahameed
Cc: Leon Romanovsky, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, netdev, Maxim Mikityanskiy,
Tariq Toukan
On 19/03/2025 14:45, Maxim Mikityanskiy wrote:
> There commands can be used to add an RSS context and steer some traffic
> into it:
>
> # ethtool -X eth0 context new
> New RSS context is 1
> # ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
> Added rule with ID 1023
>
> However, the second command fails with EINVAL on mlx5e:
>
> # ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
> rmgr: Cannot insert RX class rule: Invalid argument
> Cannot insert classification rule
>
> It happens when flow_get_tirn calls flow_type_to_traffic_type with
> flow_type = IP_USER_FLOW or IPV6_USER_FLOW. That function only handles
> IPV4_FLOW and IPV6_FLOW cases, but unlike all other cases which are
> common for hash and spec, IPv4 and IPv6 defines different contants for
> hash and for spec:
>
> #define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
> #define UDP_V4_FLOW 0x02 /* hash or spec (udp_ip4_spec) */
> ...
> #define IPV4_USER_FLOW 0x0d /* spec only (usr_ip4_spec) */
> #define IP_USER_FLOW IPV4_USER_FLOW
> #define IPV6_USER_FLOW 0x0e /* spec only (usr_ip6_spec; nfc only) */
> #define IPV4_FLOW 0x10 /* hash only */
> #define IPV6_FLOW 0x11 /* hash only */
>
> Extend the switch in flow_type_to_traffic_type to support both, which
> fixes the failing ethtool -N command with flow-type ip4 or ip6.
>
Hi Maxim,
Thanks for your patch!
> Fixes: 248d3b4c9a39 ("net/mlx5e: Support flow classification into RSS contexts")
Seems that the issue originates in commit 756c41603a18 ("net/mlx5e:
ethtool, Support user configuration for RX hash fields"), when directly
classifying into an RQ, before the multi RSS context support.
> Signed-off-by: Maxim Mikityanskiy <maxim@isovalent.com>
> ---
> drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> index 773624bb2c5d..d68230a7b9f4 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> @@ -884,8 +884,10 @@ static int flow_type_to_traffic_type(u32 flow_type)
> case ESP_V6_FLOW:
> return MLX5_TT_IPV6_IPSEC_ESP;
> case IPV4_FLOW:
> + case IP_USER_FLOW:
> return MLX5_TT_IPV4;
> case IPV6_FLOW:
> + case IPV6_USER_FLOW:
> return MLX5_TT_IPV6;
> default:
> return -EINVAL;
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
2025-03-20 7:32 ` Tariq Toukan
@ 2025-03-20 7:43 ` Maxim Mikityanskiy
2025-03-20 8:09 ` Tariq Toukan
0 siblings, 1 reply; 12+ messages in thread
From: Maxim Mikityanskiy @ 2025-03-20 7:43 UTC (permalink / raw)
To: Tariq Toukan
Cc: Saeed Mahameed, Leon Romanovsky, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, netdev,
Maxim Mikityanskiy, Tariq Toukan
On Thu, 20 Mar 2025 at 09:32, Tariq Toukan <ttoukan.linux@gmail.com> wrote:
>
>
>
> On 19/03/2025 14:45, Maxim Mikityanskiy wrote:
> > There commands can be used to add an RSS context and steer some traffic
> > into it:
> >
> > # ethtool -X eth0 context new
> > New RSS context is 1
> > # ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
> > Added rule with ID 1023
> >
> > However, the second command fails with EINVAL on mlx5e:
> >
> > # ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
> > rmgr: Cannot insert RX class rule: Invalid argument
> > Cannot insert classification rule
> >
> > It happens when flow_get_tirn calls flow_type_to_traffic_type with
> > flow_type = IP_USER_FLOW or IPV6_USER_FLOW. That function only handles
> > IPV4_FLOW and IPV6_FLOW cases, but unlike all other cases which are
> > common for hash and spec, IPv4 and IPv6 defines different contants for
> > hash and for spec:
> >
> > #define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
> > #define UDP_V4_FLOW 0x02 /* hash or spec (udp_ip4_spec) */
> > ...
> > #define IPV4_USER_FLOW 0x0d /* spec only (usr_ip4_spec) */
> > #define IP_USER_FLOW IPV4_USER_FLOW
> > #define IPV6_USER_FLOW 0x0e /* spec only (usr_ip6_spec; nfc only) */
> > #define IPV4_FLOW 0x10 /* hash only */
> > #define IPV6_FLOW 0x11 /* hash only */
> >
> > Extend the switch in flow_type_to_traffic_type to support both, which
> > fixes the failing ethtool -N command with flow-type ip4 or ip6.
> >
>
> Hi Maxim,
> Thanks for your patch!
>
> > Fixes: 248d3b4c9a39 ("net/mlx5e: Support flow classification into RSS contexts")
>
> Seems that the issue originates in commit 756c41603a18 ("net/mlx5e:
> ethtool, Support user configuration for RX hash fields"),
Not really; commit 756c41603a18 configures the hash (not flow
direction), and IPV4_FLOW/IPV6_FLOW are already correct constants for
IP-based hashes. Moreover, we don't support them anyway, see
mlx5e_set_rss_hash_opt:
/* RSS does not support anything other than hashing to queues
* on src IP, dest IP, TCP/UDP src port and TCP/UDP dest
* port.
*/
if (flow_type != TCP_V4_FLOW &&
flow_type != TCP_V6_FLOW &&
flow_type != UDP_V4_FLOW &&
flow_type != UDP_V6_FLOW)
return -EOPNOTSUPP;
> when directly
> classifying into an RQ, before the multi RSS context support.
Direct classification into an RQ actually works before my fix, because
it goes to another branch in flow_get_tirn, that doesn't call
flow_type_to_traffic_type. It's only steering to an RSS context that
was broken for flow-type ip4/ip6.
> > Signed-off-by: Maxim Mikityanskiy <maxim@isovalent.com>
> > ---
> > drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> > index 773624bb2c5d..d68230a7b9f4 100644
> > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> > @@ -884,8 +884,10 @@ static int flow_type_to_traffic_type(u32 flow_type)
> > case ESP_V6_FLOW:
> > return MLX5_TT_IPV6_IPSEC_ESP;
> > case IPV4_FLOW:
> > + case IP_USER_FLOW:
> > return MLX5_TT_IPV4;
> > case IPV6_FLOW:
> > + case IPV6_USER_FLOW:
> > return MLX5_TT_IPV6;
> > default:
> > return -EINVAL;
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
2025-03-20 7:43 ` Maxim Mikityanskiy
@ 2025-03-20 8:09 ` Tariq Toukan
0 siblings, 0 replies; 12+ messages in thread
From: Tariq Toukan @ 2025-03-20 8:09 UTC (permalink / raw)
To: Maxim Mikityanskiy
Cc: Saeed Mahameed, Leon Romanovsky, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, netdev,
Maxim Mikityanskiy, Tariq Toukan
On 20/03/2025 9:43, Maxim Mikityanskiy wrote:
> On Thu, 20 Mar 2025 at 09:32, Tariq Toukan <ttoukan.linux@gmail.com> wrote:
>>
>>
>>
>> On 19/03/2025 14:45, Maxim Mikityanskiy wrote:
>>> There commands can be used to add an RSS context and steer some traffic
>>> into it:
>>>
>>> # ethtool -X eth0 context new
>>> New RSS context is 1
>>> # ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
>>> Added rule with ID 1023
>>>
>>> However, the second command fails with EINVAL on mlx5e:
>>>
>>> # ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
>>> rmgr: Cannot insert RX class rule: Invalid argument
>>> Cannot insert classification rule
>>>
>>> It happens when flow_get_tirn calls flow_type_to_traffic_type with
>>> flow_type = IP_USER_FLOW or IPV6_USER_FLOW. That function only handles
>>> IPV4_FLOW and IPV6_FLOW cases, but unlike all other cases which are
>>> common for hash and spec, IPv4 and IPv6 defines different contants for
>>> hash and for spec:
>>>
>>> #define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
>>> #define UDP_V4_FLOW 0x02 /* hash or spec (udp_ip4_spec) */
>>> ...
>>> #define IPV4_USER_FLOW 0x0d /* spec only (usr_ip4_spec) */
>>> #define IP_USER_FLOW IPV4_USER_FLOW
>>> #define IPV6_USER_FLOW 0x0e /* spec only (usr_ip6_spec; nfc only) */
>>> #define IPV4_FLOW 0x10 /* hash only */
>>> #define IPV6_FLOW 0x11 /* hash only */
>>>
>>> Extend the switch in flow_type_to_traffic_type to support both, which
>>> fixes the failing ethtool -N command with flow-type ip4 or ip6.
>>>
>>
>> Hi Maxim,
>> Thanks for your patch!
>>
>>> Fixes: 248d3b4c9a39 ("net/mlx5e: Support flow classification into RSS contexts")
>>
>> Seems that the issue originates in commit 756c41603a18 ("net/mlx5e:
>> ethtool, Support user configuration for RX hash fields"),
>
> Not really; commit 756c41603a18 configures the hash (not flow
> direction), and IPV4_FLOW/IPV6_FLOW are already correct constants for
> IP-based hashes. Moreover, we don't support them anyway, see
> mlx5e_set_rss_hash_opt:
>
> /* RSS does not support anything other than hashing to queues
> * on src IP, dest IP, TCP/UDP src port and TCP/UDP dest
> * port.
> */
> if (flow_type != TCP_V4_FLOW &&
> flow_type != TCP_V6_FLOW &&
> flow_type != UDP_V4_FLOW &&
> flow_type != UDP_V6_FLOW)
> return -EOPNOTSUPP;
>
>> when directly
>> classifying into an RQ, before the multi RSS context support.
>
> Direct classification into an RQ actually works before my fix, because
> it goes to another branch in flow_get_tirn, that doesn't call
> flow_type_to_traffic_type. It's only steering to an RSS context that
> was broken for flow-type ip4/ip6.
>
Thanks for your patch.
LGTM.
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Regards,
Tariq
>>> Signed-off-by: Maxim Mikityanskiy <maxim@isovalent.com>
>>> ---
>>> drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
>>> index 773624bb2c5d..d68230a7b9f4 100644
>>> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
>>> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
>>> @@ -884,8 +884,10 @@ static int flow_type_to_traffic_type(u32 flow_type)
>>> case ESP_V6_FLOW:
>>> return MLX5_TT_IPV6_IPSEC_ESP;
>>> case IPV4_FLOW:
>>> + case IP_USER_FLOW:
>>> return MLX5_TT_IPV4;
>>> case IPV6_FLOW:
>>> + case IPV6_USER_FLOW:
>>> return MLX5_TT_IPV6;
>>> default:
>>> return -EINVAL;
>>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
2025-03-19 12:45 [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context Maxim Mikityanskiy
` (2 preceding siblings ...)
2025-03-20 7:32 ` Tariq Toukan
@ 2025-03-20 8:25 ` Gal Pressman
2025-03-20 8:28 ` Maxim Mikityanskiy
2025-03-24 20:50 ` patchwork-bot+netdevbpf
4 siblings, 1 reply; 12+ messages in thread
From: Gal Pressman @ 2025-03-20 8:25 UTC (permalink / raw)
To: Maxim Mikityanskiy, Saeed Mahameed, Tariq Toukan
Cc: Leon Romanovsky, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, netdev, Maxim Mikityanskiy
Hey Maxim!
On 19/03/2025 14:45, Maxim Mikityanskiy wrote:
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> index 773624bb2c5d..d68230a7b9f4 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> @@ -884,8 +884,10 @@ static int flow_type_to_traffic_type(u32 flow_type)
> case ESP_V6_FLOW:
> return MLX5_TT_IPV6_IPSEC_ESP;
> case IPV4_FLOW:
> + case IP_USER_FLOW:
They're the same, but I think IPV4_USER_FLOW is the "modern" define that
should be used.
> return MLX5_TT_IPV4;
> case IPV6_FLOW:
> + case IPV6_USER_FLOW:
> return MLX5_TT_IPV6;
> default:
> return -EINVAL;
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
2025-03-20 8:25 ` Gal Pressman
@ 2025-03-20 8:28 ` Maxim Mikityanskiy
2025-03-20 8:44 ` Gal Pressman
0 siblings, 1 reply; 12+ messages in thread
From: Maxim Mikityanskiy @ 2025-03-20 8:28 UTC (permalink / raw)
To: Gal Pressman
Cc: Saeed Mahameed, Tariq Toukan, Leon Romanovsky, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
netdev, Maxim Mikityanskiy
On Thu, 20 Mar 2025 at 10:25, Gal Pressman <gal@nvidia.com> wrote:
>
> Hey Maxim!
>
> On 19/03/2025 14:45, Maxim Mikityanskiy wrote:
> > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> > index 773624bb2c5d..d68230a7b9f4 100644
> > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> > @@ -884,8 +884,10 @@ static int flow_type_to_traffic_type(u32 flow_type)
> > case ESP_V6_FLOW:
> > return MLX5_TT_IPV6_IPSEC_ESP;
> > case IPV4_FLOW:
> > + case IP_USER_FLOW:
>
> They're the same, but I think IPV4_USER_FLOW is the "modern" define that
> should be used.
Yeah, I used IP_USER_FLOW for consistency with other places in this
file. If you prefer that, I can resubmit with IPV4_USER_FLOW.
>
> > return MLX5_TT_IPV4;
> > case IPV6_FLOW:
> > + case IPV6_USER_FLOW:
> > return MLX5_TT_IPV6;
> > default:
> > return -EINVAL;
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
2025-03-20 8:28 ` Maxim Mikityanskiy
@ 2025-03-20 8:44 ` Gal Pressman
2025-03-20 8:58 ` Tariq Toukan
0 siblings, 1 reply; 12+ messages in thread
From: Gal Pressman @ 2025-03-20 8:44 UTC (permalink / raw)
To: Maxim Mikityanskiy
Cc: Saeed Mahameed, Tariq Toukan, Leon Romanovsky, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
netdev, Maxim Mikityanskiy
On 20/03/2025 10:28, Maxim Mikityanskiy wrote:
> On Thu, 20 Mar 2025 at 10:25, Gal Pressman <gal@nvidia.com> wrote:
>>
>> Hey Maxim!
>>
>> On 19/03/2025 14:45, Maxim Mikityanskiy wrote:
>>> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
>>> index 773624bb2c5d..d68230a7b9f4 100644
>>> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
>>> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
>>> @@ -884,8 +884,10 @@ static int flow_type_to_traffic_type(u32 flow_type)
>>> case ESP_V6_FLOW:
>>> return MLX5_TT_IPV6_IPSEC_ESP;
>>> case IPV4_FLOW:
>>> + case IP_USER_FLOW:
>>
>> They're the same, but I think IPV4_USER_FLOW is the "modern" define that
>> should be used.
>
> Yeah, I used IP_USER_FLOW for consistency with other places in this
> file. If you prefer that, I can resubmit with IPV4_USER_FLOW.
I don't mind, up to Tariq.
We can followup with a patch that converts all usages.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
2025-03-20 8:44 ` Gal Pressman
@ 2025-03-20 8:58 ` Tariq Toukan
2025-03-20 9:20 ` Maxim Mikityanskiy
0 siblings, 1 reply; 12+ messages in thread
From: Tariq Toukan @ 2025-03-20 8:58 UTC (permalink / raw)
To: Gal Pressman, Maxim Mikityanskiy
Cc: Saeed Mahameed, Tariq Toukan, Leon Romanovsky, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
netdev, Maxim Mikityanskiy
On 20/03/2025 10:44, Gal Pressman wrote:
> On 20/03/2025 10:28, Maxim Mikityanskiy wrote:
>> On Thu, 20 Mar 2025 at 10:25, Gal Pressman <gal@nvidia.com> wrote:
>>>
>>> Hey Maxim!
>>>
>>> On 19/03/2025 14:45, Maxim Mikityanskiy wrote:
>>>> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
>>>> index 773624bb2c5d..d68230a7b9f4 100644
>>>> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
>>>> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
>>>> @@ -884,8 +884,10 @@ static int flow_type_to_traffic_type(u32 flow_type)
>>>> case ESP_V6_FLOW:
>>>> return MLX5_TT_IPV6_IPSEC_ESP;
>>>> case IPV4_FLOW:
>>>> + case IP_USER_FLOW:
>>>
>>> They're the same, but I think IPV4_USER_FLOW is the "modern" define that
>>> should be used.
>>
>> Yeah, I used IP_USER_FLOW for consistency with other places in this
>> file. If you prefer that, I can resubmit with IPV4_USER_FLOW.
>
> I don't mind, up to Tariq.
> We can followup with a patch that converts all usages.
>
Please keep using IP_USER_FLOW for consistency with existing code.
We may converts them all together later.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
2025-03-20 8:58 ` Tariq Toukan
@ 2025-03-20 9:20 ` Maxim Mikityanskiy
0 siblings, 0 replies; 12+ messages in thread
From: Maxim Mikityanskiy @ 2025-03-20 9:20 UTC (permalink / raw)
To: Tariq Toukan
Cc: Gal Pressman, Saeed Mahameed, Tariq Toukan, Leon Romanovsky,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, netdev, Maxim Mikityanskiy
On Thu, 20 Mar 2025 at 10:58, Tariq Toukan <ttoukan.linux@gmail.com> wrote:
>
>
>
> On 20/03/2025 10:44, Gal Pressman wrote:
> > On 20/03/2025 10:28, Maxim Mikityanskiy wrote:
> >> On Thu, 20 Mar 2025 at 10:25, Gal Pressman <gal@nvidia.com> wrote:
> >>>
> >>> Hey Maxim!
> >>>
> >>> On 19/03/2025 14:45, Maxim Mikityanskiy wrote:
> >>>> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> >>>> index 773624bb2c5d..d68230a7b9f4 100644
> >>>> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> >>>> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c
> >>>> @@ -884,8 +884,10 @@ static int flow_type_to_traffic_type(u32 flow_type)
> >>>> case ESP_V6_FLOW:
> >>>> return MLX5_TT_IPV6_IPSEC_ESP;
> >>>> case IPV4_FLOW:
> >>>> + case IP_USER_FLOW:
> >>>
> >>> They're the same, but I think IPV4_USER_FLOW is the "modern" define that
> >>> should be used.
> >>
> >> Yeah, I used IP_USER_FLOW for consistency with other places in this
> >> file. If you prefer that, I can resubmit with IPV4_USER_FLOW.
> >
> > I don't mind, up to Tariq.
> > We can followup with a patch that converts all usages.
> >
>
> Please keep using IP_USER_FLOW for consistency with existing code.
> We may converts them all together later.
OK, sounds good to me, keeping as is.
Thanks for the reviews!
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
2025-03-19 12:45 [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context Maxim Mikityanskiy
` (3 preceding siblings ...)
2025-03-20 8:25 ` Gal Pressman
@ 2025-03-24 20:50 ` patchwork-bot+netdevbpf
4 siblings, 0 replies; 12+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-03-24 20:50 UTC (permalink / raw)
To: Maxim Mikityanskiy
Cc: saeedm, tariqt, leon, andrew+netdev, davem, edumazet, kuba,
pabeni, netdev, maxim
Hello:
This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Wed, 19 Mar 2025 14:45:08 +0200 you wrote:
> There commands can be used to add an RSS context and steer some traffic
> into it:
>
> # ethtool -X eth0 context new
> New RSS context is 1
> # ethtool -N eth0 flow-type ip4 dst-ip 1.1.1.1 context 1
> Added rule with ID 1023
>
> [...]
Here is the summary with links:
- [net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context
https://git.kernel.org/netdev/net/c/3865bec60683
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2025-03-24 20:49 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-19 12:45 [PATCH net] net/mlx5e: Fix ethtool -N flow-type ip4 to RSS context Maxim Mikityanskiy
2025-03-19 14:24 ` Daniel Borkmann
2025-03-19 15:46 ` Joe Damato
2025-03-20 7:32 ` Tariq Toukan
2025-03-20 7:43 ` Maxim Mikityanskiy
2025-03-20 8:09 ` Tariq Toukan
2025-03-20 8:25 ` Gal Pressman
2025-03-20 8:28 ` Maxim Mikityanskiy
2025-03-20 8:44 ` Gal Pressman
2025-03-20 8:58 ` Tariq Toukan
2025-03-20 9:20 ` Maxim Mikityanskiy
2025-03-24 20:50 ` patchwork-bot+netdevbpf
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).