Message ID | 20241204052932.112446-6-wei.fang@nxp.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add more feautues for ENETC v4 - round 1 | expand |
On Wed, Dec 04, 2024 at 01:29:32PM +0800, Wei Fang wrote: > Set NETIF_F_GSO_UDP_L4 bit of hw_features and features because i.MX95 > enetc and LS1028A driver implements UDP segmentation. > > - i.MX95 ENETC supports UDP segmentation via LSO. > - LS1028A ENETC supports UDP segmentation since the commit 3d5b459ba0e3 > ("net: tso: add UDP segmentation support"). > > Signed-off-by: Wei Fang <wei.fang@nxp.com> > Reviewed-by: Frank Li <Frank.Li@nxp.com> > --- > v2: rephrase the commit message > v3: no changes > v4: fix typo in commit message > v5: no changes > v6: no changes > --- > 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; I didn't see any wording about it in the commit message / cover letter so I will ask: Any reason not to enable UDP segmentation offload on upper VLAN devices by setting the feature in 'ndev->vlan_features'? > > diff --git a/drivers/net/ethernet/freescale/enetc/enetc_vf.c b/drivers/net/ethernet/freescale/enetc/enetc_vf.c > index 63d78b2b8670..3768752b6008 100644 > --- a/drivers/net/ethernet/freescale/enetc/enetc_vf.c > +++ b/drivers/net/ethernet/freescale/enetc/enetc_vf.c > @@ -145,11 +145,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 > >
On Sun, Dec 8, 2024 at 4:09 PM Ido Schimmel <idosch@idosch.org> wrote: > > On Wed, Dec 04, 2024 at 01:29:32PM +0800, Wei Fang wrote: > > Set NETIF_F_GSO_UDP_L4 bit of hw_features and features because i.MX95 > > enetc and LS1028A driver implements UDP segmentation. > > > > - i.MX95 ENETC supports UDP segmentation via LSO. > > - LS1028A ENETC supports UDP segmentation since the commit 3d5b459ba0e3 > > ("net: tso: add UDP segmentation support"). > > > > Signed-off-by: Wei Fang <wei.fang@nxp.com> > > Reviewed-by: Frank Li <Frank.Li@nxp.com> > > --- > > v2: rephrase the commit message > > v3: no changes > > v4: fix typo in commit message > > v5: no changes > > v6: no changes > > --- > > 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; > > I didn't see any wording about it in the commit message / cover letter > so I will ask: Any reason not to enable UDP segmentation offload on > upper VLAN devices by setting the feature in 'ndev->vlan_features'? Going to back to my commit, it stated that net/core/tso.c was only dealing with basic stuff. Adding vlan support would need some changes there, I guess this should be done if there is enough interest and testing. commit 3d5b459ba0e3788ab471e8cb98eee89964a9c5e8 net: tso: add UDP segmentation support Note that like TCP, we do not support additional encapsulations, and that checksums must be offloaded to the NIC.
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 63d78b2b8670..3768752b6008 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_vf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_vf.c @@ -145,11 +145,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;