net: ngbe: Add netdev features support
authorMengyuan Lou <mengyuanlou@net-swift.com>
Tue, 30 May 2023 02:26:29 +0000 (10:26 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 1 Jun 2023 06:02:26 +0000 (23:02 -0700)
Add features and hw_features that ngbe can support.

Signed-off-by: Mengyuan Lou <mengyuanlou@net-swift.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/wangxun/ngbe/ngbe_main.c

index df6b870aa871163df5b186be2c433190d33a4dff..f234c9c4b9426da86dea5c2c73505398969f0ff6 100644 (file)
@@ -473,6 +473,7 @@ static const struct net_device_ops ngbe_netdev_ops = {
        .ndo_change_mtu         = wx_change_mtu,
        .ndo_start_xmit         = wx_xmit_frame,
        .ndo_set_rx_mode        = wx_set_rx_mode,
+       .ndo_set_features       = wx_set_features,
        .ndo_validate_addr      = eth_validate_addr,
        .ndo_set_mac_address    = wx_set_mac,
        .ndo_get_stats64        = wx_get_stats64,
@@ -551,12 +552,18 @@ static int ngbe_probe(struct pci_dev *pdev,
        ngbe_set_ethtool_ops(netdev);
        netdev->netdev_ops = &ngbe_netdev_ops;
 
-       netdev->features |= NETIF_F_HIGHDMA;
-       netdev->features = NETIF_F_SG;
-
+       netdev->features = NETIF_F_SG | NETIF_F_IP_CSUM |
+                          NETIF_F_TSO | NETIF_F_TSO6 |
+                          NETIF_F_RXHASH | NETIF_F_RXCSUM;
+       netdev->features |= NETIF_F_SCTP_CRC | NETIF_F_TSO_MANGLEID;
+       netdev->vlan_features |= netdev->features;
+       netdev->features |= NETIF_F_IPV6_CSUM | NETIF_F_VLAN_FEATURES;
        /* copy netdev features into list of user selectable features */
-       netdev->hw_features |= netdev->features |
-                              NETIF_F_RXALL;
+       netdev->hw_features |= netdev->features | NETIF_F_RXALL;
+       netdev->hw_features |= NETIF_F_NTUPLE | NETIF_F_HW_TC;
+       netdev->features |= NETIF_F_HIGHDMA;
+       netdev->hw_features |= NETIF_F_GRO;
+       netdev->features |= NETIF_F_GRO;
 
        netdev->priv_flags |= IFF_UNICAST_FLT;
        netdev->priv_flags |= IFF_SUPP_NOFCS;