net: txgbe: Add netdev features support
authorMengyuan Lou <mengyuanlou@net-swift.com>
Tue, 30 May 2023 02:26:31 +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/txgbe/txgbe_main.c

index 5b8a121..bcc9c29 100644 (file)
@@ -491,6 +491,7 @@ static const struct net_device_ops txgbe_netdev_ops = {
        .ndo_change_mtu         = wx_change_mtu,
        .ndo_start_xmit         = wx_xmit_frame,
        .ndo_set_rx_mode        = wx_set_rx_mode,
        .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,
        .ndo_validate_addr      = eth_validate_addr,
        .ndo_set_mac_address    = wx_set_mac,
        .ndo_get_stats64        = wx_get_stats64,
@@ -596,11 +597,25 @@ static int txgbe_probe(struct pci_dev *pdev,
                goto err_free_mac_table;
        }
 
                goto err_free_mac_table;
        }
 
-       netdev->features |= NETIF_F_HIGHDMA;
-       netdev->features = NETIF_F_SG;
-
+       netdev->features = NETIF_F_SG |
+                          NETIF_F_TSO |
+                          NETIF_F_TSO6 |
+                          NETIF_F_RXHASH |
+                          NETIF_F_RXCSUM |
+                          NETIF_F_HW_CSUM;
+
+       netdev->gso_partial_features =  NETIF_F_GSO_ENCAP_ALL;
+       netdev->features |= netdev->gso_partial_features;
+       netdev->features |= NETIF_F_SCTP_CRC;
+       netdev->vlan_features |= netdev->features | NETIF_F_TSO_MANGLEID;
+       netdev->hw_enc_features |= netdev->vlan_features;
+       netdev->features |= NETIF_F_VLAN_FEATURES;
        /* copy netdev features into list of user selectable features */
        netdev->hw_features |= netdev->features | NETIF_F_RXALL;
        /* copy netdev features into list of user selectable features */
        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;
 
        netdev->priv_flags |= IFF_UNICAST_FLT;
        netdev->priv_flags |= IFF_SUPP_NOFCS;