.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,
        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;