2021-01-26 21:32:06

by Eric Dumazet

[permalink] [raw]
Subject: [PATCH net] iwlwifi: provide gso_type to GSO packets

From: Eric Dumazet <[email protected]>

net/core/tso.c got recent support for USO, and this broke iwlfifi
because the driver implemented a limited form of GSO.

Providing ->gso_type allows for skb_is_gso_tcp() to provide
a correct result.

Fixes: 3d5b459ba0e3 ("net: tso: add UDP segmentation support")
Signed-off-by: Eric Dumazet <[email protected]>
Reported-by: Ben Greear <[email protected]>
Bisected-by: Ben Greear <[email protected]>
Tested-by: Ben Greear <[email protected]>
Cc: Luca Coelho <[email protected]>
Cc: [email protected]
Cc: Johannes Berg <[email protected]>
---
drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
index a983c215df310776ffe67f3b3ffa203eab609bfc..3712adc3ccc2511d46bcc855efbfba41c487d8e6 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
@@ -773,6 +773,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,

next = skb_gso_segment(skb, netdev_flags);
skb_shinfo(skb)->gso_size = mss;
+ skb_shinfo(skb)->gso_type = ipv4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6;
if (WARN_ON_ONCE(IS_ERR(next)))
return -EINVAL;
else if (next)
@@ -795,6 +796,8 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,

if (tcp_payload_len > mss) {
skb_shinfo(tmp)->gso_size = mss;
+ skb_shinfo(tmp)->gso_type = ipv4 ? SKB_GSO_TCPV4 :
+ SKB_GSO_TCPV6;
} else {
if (qos) {
u8 *qc;
--
2.30.0.280.ga3ce27912f-goog


2021-01-26 22:55:04

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH net] iwlwifi: provide gso_type to GSO packets

On Tue, 2021-01-26 at 12:32 -0800, Jakub Kicinski wrote:
> On Mon, 25 Jan 2021 07:09:49 -0800 Eric Dumazet wrote:
> > From: Eric Dumazet <[email protected]>
> >
> > net/core/tso.c got recent support for USO, and this broke iwlfifi
> > because the driver implemented a limited form of GSO.
> >
> > Providing ->gso_type allows for skb_is_gso_tcp() to provide
> > a correct result.
> >
> > Fixes: 3d5b459ba0e3 ("net: tso: add UDP segmentation support")
> > Signed-off-by: Eric Dumazet <[email protected]>
> > Reported-by: Ben Greear <[email protected]>
> > Bisected-by: Ben Greear <[email protected]>
> > Tested-by: Ben Greear <[email protected]>
> > Cc: Luca Coelho <[email protected]>
> > Cc: [email protected]
> > Cc: Johannes Berg <[email protected]>
>
> Johannes, Eric tagged this for net, are you okay with me taking it?
> No strong preference here.

I guess that really would normally go through Luca's and Kalle's trees,
but yes, please just take it, it's been long and it won't conflict with
anything.

johannes

2021-01-27 07:46:52

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH net] iwlwifi: provide gso_type to GSO packets

Hello:

This patch was applied to netdev/net.git (refs/heads/master):

On Mon, 25 Jan 2021 07:09:49 -0800 you wrote:
> From: Eric Dumazet <[email protected]>
>
> net/core/tso.c got recent support for USO, and this broke iwlfifi
> because the driver implemented a limited form of GSO.
>
> Providing ->gso_type allows for skb_is_gso_tcp() to provide
> a correct result.
>
> [...]

Here is the summary with links:
- [net] iwlwifi: provide gso_type to GSO packets
https://git.kernel.org/netdev/net/c/81a86e1bd8e7

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html


2021-01-27 08:25:31

by Luciano Coelho

[permalink] [raw]
Subject: Re: [PATCH net] iwlwifi: provide gso_type to GSO packets

On Tue, 2021-01-26 at 21:55 +0100, Johannes Berg wrote:
> On Tue, 2021-01-26 at 12:32 -0800, Jakub Kicinski wrote:
> > On Mon, 25 Jan 2021 07:09:49 -0800 Eric Dumazet wrote:
> > > From: Eric Dumazet <[email protected]>
> > >
> > > net/core/tso.c got recent support for USO, and this broke iwlfifi
> > > because the driver implemented a limited form of GSO.
> > >
> > > Providing ->gso_type allows for skb_is_gso_tcp() to provide
> > > a correct result.
> > >
> > > Fixes: 3d5b459ba0e3 ("net: tso: add UDP segmentation support")
> > > Signed-off-by: Eric Dumazet <[email protected]>
> > > Reported-by: Ben Greear <[email protected]>
> > > Bisected-by: Ben Greear <[email protected]>
> > > Tested-by: Ben Greear <[email protected]>
> > > Cc: Luca Coelho <[email protected]>
> > > Cc: [email protected]
> > > Cc: Johannes Berg <[email protected]>
> >
> > Johannes, Eric tagged this for net, are you okay with me taking it?
> > No strong preference here.
>
> I guess that really would normally go through Luca's and Kalle's trees,
> but yes, please just take it, it's been long and it won't conflict with
> anything.

Yes, that's fine by me too. Just take it via net and we'll get it into
our trees eventually.

--
Cheers,
Luca.

2021-01-27 13:05:33

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH net] iwlwifi: provide gso_type to GSO packets

On Mon, 25 Jan 2021 07:09:49 -0800 Eric Dumazet wrote:
> From: Eric Dumazet <[email protected]>
>
> net/core/tso.c got recent support for USO, and this broke iwlfifi
> because the driver implemented a limited form of GSO.
>
> Providing ->gso_type allows for skb_is_gso_tcp() to provide
> a correct result.
>
> Fixes: 3d5b459ba0e3 ("net: tso: add UDP segmentation support")
> Signed-off-by: Eric Dumazet <[email protected]>
> Reported-by: Ben Greear <[email protected]>
> Bisected-by: Ben Greear <[email protected]>
> Tested-by: Ben Greear <[email protected]>
> Cc: Luca Coelho <[email protected]>
> Cc: [email protected]
> Cc: Johannes Berg <[email protected]>

Johannes, Eric tagged this for net, are you okay with me taking it?
No strong preference here.