All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] nfp: support VxLAN inner TSO with GSO_PARTIAL offload
@ 2022-04-30 23:11 Simon Horman
  2022-04-30 23:14 ` [PATCH net-next] " Simon Horman
  2022-05-02 11:10 ` [PATCH] " patchwork-bot+netdevbpf
  0 siblings, 2 replies; 3+ messages in thread
From: Simon Horman @ 2022-04-30 23:11 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: netdev, oss-drivers, Fei Qin

From: Fei Qin <fei.qin@corigine.com>

VxLAN belongs to UDP-based encapsulation protocol. Inner TSO for VxLAN
packet with udpcsum requires offloading of outer header csum.

The device doesn't support outer header csum offload. However, inner TSO
for VxLAN with udpcsum can still work with GSO_PARTIAL offload, which
means outer udp csum computed by stack and inner tcp segmentation finished
by hardware. Thus, the patch enable features "NETIF_F_GSO_UDP_TUNNEL_CSUM"
and "NETIF_F_GSO_PARTIAL" and set gso_partial_features.

Signed-off-by: Fei Qin <fei.qin@corigine.com>
Signed-off-by: Yinjun Zhang <yinjun.zhang@corigine.com>
Signed-off-by: Louis Peens <louis.peens@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
---
 drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
index b412670d89b2..5528d12d1f48 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
@@ -2259,8 +2259,12 @@ static void nfp_net_netdev_init(struct nfp_net *nn)
 	if (nn->cap & NFP_NET_CFG_CTRL_RSS_ANY)
 		netdev->hw_features |= NETIF_F_RXHASH;
 	if (nn->cap & NFP_NET_CFG_CTRL_VXLAN) {
-		if (nn->cap & NFP_NET_CFG_CTRL_LSO)
-			netdev->hw_features |= NETIF_F_GSO_UDP_TUNNEL;
+		if (nn->cap & NFP_NET_CFG_CTRL_LSO) {
+			netdev->hw_features |= NETIF_F_GSO_UDP_TUNNEL |
+					       NETIF_F_GSO_UDP_TUNNEL_CSUM |
+					       NETIF_F_GSO_PARTIAL;
+			netdev->gso_partial_features = NETIF_F_GSO_UDP_TUNNEL_CSUM;
+		}
 		netdev->udp_tunnel_nic_info = &nfp_udp_tunnels;
 		nn->dp.ctrl |= NFP_NET_CFG_CTRL_VXLAN;
 	}
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next] nfp: support VxLAN inner TSO with GSO_PARTIAL offload
  2022-04-30 23:11 [PATCH] nfp: support VxLAN inner TSO with GSO_PARTIAL offload Simon Horman
@ 2022-04-30 23:14 ` Simon Horman
  2022-05-02 11:10 ` [PATCH] " patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: Simon Horman @ 2022-04-30 23:14 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: netdev, oss-drivers, Fei Qin

On Sun, May 01, 2022 at 08:11:50AM +0900, Simon Horman wrote:
> From: Fei Qin <fei.qin@corigine.com>
> 
> VxLAN belongs to UDP-based encapsulation protocol. Inner TSO for VxLAN
> packet with udpcsum requires offloading of outer header csum.
> 
> The device doesn't support outer header csum offload. However, inner TSO
> for VxLAN with udpcsum can still work with GSO_PARTIAL offload, which
> means outer udp csum computed by stack and inner tcp segmentation finished
> by hardware. Thus, the patch enable features "NETIF_F_GSO_UDP_TUNNEL_CSUM"
> and "NETIF_F_GSO_PARTIAL" and set gso_partial_features.
> 
> Signed-off-by: Fei Qin <fei.qin@corigine.com>
> Signed-off-by: Yinjun Zhang <yinjun.zhang@corigine.com>
> Signed-off-by: Louis Peens <louis.peens@corigine.com>
> Signed-off-by: Simon Horman <simon.horman@corigine.com>

Sorry, missed the annotation in the subject for some reason.
This is targeted at net-next.

> ---
>  drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
> index b412670d89b2..5528d12d1f48 100644
> --- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
> +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
> @@ -2259,8 +2259,12 @@ static void nfp_net_netdev_init(struct nfp_net *nn)
>  	if (nn->cap & NFP_NET_CFG_CTRL_RSS_ANY)
>  		netdev->hw_features |= NETIF_F_RXHASH;
>  	if (nn->cap & NFP_NET_CFG_CTRL_VXLAN) {
> -		if (nn->cap & NFP_NET_CFG_CTRL_LSO)
> -			netdev->hw_features |= NETIF_F_GSO_UDP_TUNNEL;
> +		if (nn->cap & NFP_NET_CFG_CTRL_LSO) {
> +			netdev->hw_features |= NETIF_F_GSO_UDP_TUNNEL |
> +					       NETIF_F_GSO_UDP_TUNNEL_CSUM |
> +					       NETIF_F_GSO_PARTIAL;
> +			netdev->gso_partial_features = NETIF_F_GSO_UDP_TUNNEL_CSUM;
> +		}
>  		netdev->udp_tunnel_nic_info = &nfp_udp_tunnels;
>  		nn->dp.ctrl |= NFP_NET_CFG_CTRL_VXLAN;
>  	}
> -- 
> 2.30.2
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] nfp: support VxLAN inner TSO with GSO_PARTIAL offload
  2022-04-30 23:11 [PATCH] nfp: support VxLAN inner TSO with GSO_PARTIAL offload Simon Horman
  2022-04-30 23:14 ` [PATCH net-next] " Simon Horman
@ 2022-05-02 11:10 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-05-02 11:10 UTC (permalink / raw)
  To: Simon Horman; +Cc: davem, kuba, netdev, oss-drivers, fei.qin

Hello:

This patch was applied to netdev/net-next.git (master)
by Paolo Abeni <pabeni@redhat.com>:

On Sun,  1 May 2022 08:11:50 +0900 you wrote:
> From: Fei Qin <fei.qin@corigine.com>
> 
> VxLAN belongs to UDP-based encapsulation protocol. Inner TSO for VxLAN
> packet with udpcsum requires offloading of outer header csum.
> 
> The device doesn't support outer header csum offload. However, inner TSO
> for VxLAN with udpcsum can still work with GSO_PARTIAL offload, which
> means outer udp csum computed by stack and inner tcp segmentation finished
> by hardware. Thus, the patch enable features "NETIF_F_GSO_UDP_TUNNEL_CSUM"
> and "NETIF_F_GSO_PARTIAL" and set gso_partial_features.
> 
> [...]

Here is the summary with links:
  - nfp: support VxLAN inner TSO with GSO_PARTIAL offload
    https://git.kernel.org/netdev/net-next/c/ae664d9d8559

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] 3+ messages in thread

end of thread, other threads:[~2022-05-02 11:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-30 23:11 [PATCH] nfp: support VxLAN inner TSO with GSO_PARTIAL offload Simon Horman
2022-04-30 23:14 ` [PATCH net-next] " Simon Horman
2022-05-02 11:10 ` [PATCH] " patchwork-bot+netdevbpf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.