mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-29 14:05:05 -04:00
net: hns3: remove unsupported NETIF_F_GSO_UDP_TUNNEL_CSUM
Currently, device V1 and V2 do not support segmentation offload for UDP based tunnel packet who needs outer UDP checksum offload, so there is a workaround in the driver to set the checksum of the outer UDP checksum as zero. This is not what the user wants, so remove this feature for device V1 and V2, add support for it later(when the device has the ability to do that). Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
66d52f3bf3
commit
57e72c121c
@@ -723,17 +723,7 @@ static int hns3_set_tso(struct sk_buff *skb, u32 *paylen,
|
||||
/* tunnel packet */
|
||||
if (skb_shinfo(skb)->gso_type & (SKB_GSO_GRE |
|
||||
SKB_GSO_GRE_CSUM |
|
||||
SKB_GSO_UDP_TUNNEL |
|
||||
SKB_GSO_UDP_TUNNEL_CSUM)) {
|
||||
if ((!(skb_shinfo(skb)->gso_type &
|
||||
SKB_GSO_PARTIAL)) &&
|
||||
(skb_shinfo(skb)->gso_type &
|
||||
SKB_GSO_UDP_TUNNEL_CSUM)) {
|
||||
/* Software should clear the udp's checksum
|
||||
* field when tso is needed.
|
||||
*/
|
||||
l4.udp->check = 0;
|
||||
}
|
||||
SKB_GSO_UDP_TUNNEL)) {
|
||||
/* reset l3&l4 pointers from outer to inner headers */
|
||||
l3.hdr = skb_inner_network_header(skb);
|
||||
l4.hdr = skb_inner_transport_header(skb);
|
||||
@@ -2357,8 +2347,7 @@ static void hns3_set_default_feature(struct net_device *netdev)
|
||||
netdev->hw_enc_features |= NETIF_F_RXCSUM | NETIF_F_SG | NETIF_F_GSO |
|
||||
NETIF_F_GRO | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GSO_GRE |
|
||||
NETIF_F_GSO_GRE_CSUM | NETIF_F_GSO_UDP_TUNNEL |
|
||||
NETIF_F_GSO_UDP_TUNNEL_CSUM | NETIF_F_SCTP_CRC |
|
||||
NETIF_F_TSO_MANGLEID | NETIF_F_FRAGLIST;
|
||||
NETIF_F_SCTP_CRC | NETIF_F_TSO_MANGLEID | NETIF_F_FRAGLIST;
|
||||
|
||||
netdev->gso_partial_features |= NETIF_F_GSO_GRE_CSUM;
|
||||
|
||||
@@ -2367,23 +2356,20 @@ static void hns3_set_default_feature(struct net_device *netdev)
|
||||
NETIF_F_RXCSUM | NETIF_F_SG | NETIF_F_GSO |
|
||||
NETIF_F_GRO | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GSO_GRE |
|
||||
NETIF_F_GSO_GRE_CSUM | NETIF_F_GSO_UDP_TUNNEL |
|
||||
NETIF_F_GSO_UDP_TUNNEL_CSUM | NETIF_F_SCTP_CRC |
|
||||
NETIF_F_FRAGLIST;
|
||||
NETIF_F_SCTP_CRC | NETIF_F_FRAGLIST;
|
||||
|
||||
netdev->vlan_features |= NETIF_F_RXCSUM |
|
||||
NETIF_F_SG | NETIF_F_GSO | NETIF_F_GRO |
|
||||
NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GSO_GRE |
|
||||
NETIF_F_GSO_GRE_CSUM | NETIF_F_GSO_UDP_TUNNEL |
|
||||
NETIF_F_GSO_UDP_TUNNEL_CSUM | NETIF_F_SCTP_CRC |
|
||||
NETIF_F_FRAGLIST;
|
||||
NETIF_F_SCTP_CRC | NETIF_F_FRAGLIST;
|
||||
|
||||
netdev->hw_features |= NETIF_F_HW_VLAN_CTAG_TX |
|
||||
NETIF_F_HW_VLAN_CTAG_RX |
|
||||
NETIF_F_RXCSUM | NETIF_F_SG | NETIF_F_GSO |
|
||||
NETIF_F_GRO | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_GSO_GRE |
|
||||
NETIF_F_GSO_GRE_CSUM | NETIF_F_GSO_UDP_TUNNEL |
|
||||
NETIF_F_GSO_UDP_TUNNEL_CSUM | NETIF_F_SCTP_CRC |
|
||||
NETIF_F_FRAGLIST;
|
||||
NETIF_F_SCTP_CRC | NETIF_F_FRAGLIST;
|
||||
|
||||
if (ae_dev->dev_version >= HNAE3_DEVICE_VERSION_V2) {
|
||||
netdev->hw_features |= NETIF_F_GRO_HW;
|
||||
|
||||
Reference in New Issue
Block a user