[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zyzvvu/1Q4GmbUJz@lizhi-Precision-Tower-5810>
Date: Thu, 7 Nov 2024 11:50:06 -0500
From: Frank Li <Frank.li@....com>
To: Wei Fang <wei.fang@....com>
Cc: claudiu.manoil@....com, vladimir.oltean@....com, xiaoning.wang@....com,
andrew+netdev@...n.ch, davem@...emloft.net, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, imx@...ts.linux.dev
Subject: Re: [PATCH net-next 5/5] net: enetc: add UDP segmentation offload
support
On Thu, Nov 07, 2024 at 11:38:17AM +0800, Wei Fang wrote:
> For LS1028A, the enetc driver implements TCP segmentation via the tso
> interfaces provided by the kernel, but since the commit 3d5b459ba0e3
> ("net: tso: add UDP segmentation support"), the LS1028A enetc driver
> also supports UDP segmentation.
> For i.MX95, the enetc driver implements TCP segmentation via the LSO
> feature, and LSO also supports UDP segmentation.
> Therefore, setting the NETIF_F_GSO_UDP_L4 bit in the enetc net_device
> indicates that enetc supports UDP segmentation offload.
Set NETIF_F_GSO_UDP_L4 bit of hw_features because i.MX95 enetc and LS1028A
driver implements UDP segmenation.
- i.MX95 enetc supports UDP segmentation via LSO.
- LS1028A enetc supports UDP segmenation since the commit 3d5b459ba0e3 ....
>
> Signed-off-by: Wei Fang <wei.fang@....com>
> ---
> drivers/net/ethernet/freescale/enetc/enetc_pf_common.c | 6 ++++--
> drivers/net/ethernet/freescale/enetc/enetc_vf.c | 6 ++++--
> 2 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf_common.c b/drivers/net/ethernet/freescale/enetc/enetc_pf_common.c
> index 82a67356abe4..76fc3c6fdec1 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc_pf_common.c
> +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf_common.c
> @@ -110,11 +110,13 @@ void enetc_pf_netdev_setup(struct enetc_si *si, struct net_device *ndev,
> ndev->hw_features = NETIF_F_SG | NETIF_F_RXCSUM |
> NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX |
> NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_LOOPBACK |
> - NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6;
> + NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6 |
> + NETIF_F_GSO_UDP_L4;
> ndev->features = NETIF_F_HIGHDMA | NETIF_F_SG | NETIF_F_RXCSUM |
> NETIF_F_HW_VLAN_CTAG_TX |
> NETIF_F_HW_VLAN_CTAG_RX |
> - NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6;
> + NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6 |
> + NETIF_F_GSO_UDP_L4;
> ndev->vlan_features = NETIF_F_SG | NETIF_F_HW_CSUM |
> NETIF_F_TSO | NETIF_F_TSO6;
>
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc_vf.c b/drivers/net/ethernet/freescale/enetc/enetc_vf.c
> index 052833acd220..ba71c04994c4 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc_vf.c
> +++ b/drivers/net/ethernet/freescale/enetc/enetc_vf.c
> @@ -138,11 +138,13 @@ static void enetc_vf_netdev_setup(struct enetc_si *si, struct net_device *ndev,
> ndev->hw_features = NETIF_F_SG | NETIF_F_RXCSUM |
> NETIF_F_HW_VLAN_CTAG_TX |
> NETIF_F_HW_VLAN_CTAG_RX |
> - NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6;
> + NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6 |
> + NETIF_F_GSO_UDP_L4;
> ndev->features = NETIF_F_HIGHDMA | NETIF_F_SG | NETIF_F_RXCSUM |
> NETIF_F_HW_VLAN_CTAG_TX |
> NETIF_F_HW_VLAN_CTAG_RX |
> - NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6;
> + NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6 |
> + NETIF_F_GSO_UDP_L4;
> ndev->vlan_features = NETIF_F_SG | NETIF_F_HW_CSUM |
> NETIF_F_TSO | NETIF_F_TSO6;
>
> --
> 2.34.1
>
Powered by blists - more mailing lists