On 2021/9/22 22:57, Jian Shen wrote:
Use netdev_feature_xxx helpers to replace the logical operation for netdev features.
Signed-off-by: Jian Shen shenjian15@huawei.com
drivers/net/vxlan.c | 21 ++++++++++++--------- include/net/vxlan.h | 4 ++-- 2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 5a8df5a195cb..e5f7235ba2d9 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -3294,15 +3294,18 @@ static void vxlan_setup(struct net_device *dev) dev->needs_free_netdev = true; SET_NETDEV_DEVTYPE(dev, &vxlan_type);
- dev->features |= NETIF_F_LLTX;
- dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_FRAGLIST;
- dev->features |= NETIF_F_RXCSUM;
- dev->features |= NETIF_F_GSO_SOFTWARE;
- dev->vlan_features = dev->features;
- dev->hw_features |= NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_FRAGLIST;
- dev->hw_features |= NETIF_F_RXCSUM;
- dev->hw_features |= NETIF_F_GSO_SOFTWARE;
- netdev_feature_set_bit(NETIF_F_LLTX_BIT, &dev->features);
- netdev_feature_set_bits(NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_FRAGLIST,
&dev->features);
- netdev_feature_set_bit(NETIF_F_LLTX_BIT, &dev->features);
NETIF_F_LLTX_BIT -> NETIF_F_RXCSUM_BIT?
- netdev_feature_set_bits(NETIF_F_GSO_SOFTWARE, &dev->features);
- netdev_feature_copy(&dev->vlan_features, dev->features);
- netdev_feature_set_bits(NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_FRAGLIST,
&dev->hw_features);
- netdev_feature_set_bit(NETIF_F_RXCSUM_BIT, &dev->hw_features);
- netdev_feature_set_bits(NETIF_F_GSO_SOFTWARE, &dev->hw_features);
- netif_keep_dst(dev); dev->priv_flags |= IFF_NO_QUEUE;
diff --git a/include/net/vxlan.h b/include/net/vxlan.h index a801e59e2313..dba14ed12c5d 100644 --- a/include/net/vxlan.h +++ b/include/net/vxlan.h @@ -322,8 +322,8 @@ static inline void vxlan_features_check(struct sk_buff *skb, sizeof(struct udphdr) + sizeof(struct vxlanhdr)) || (skb->ip_summed != CHECKSUM_NONE && !can_checksum_protocol(*features, inner_eth_hdr(skb)->h_proto))))
*features &= ~(NETIF_F_CSUM_MASK | NETIF_F_GSO_MASK);
netdev_feature_clear_bits(NETIF_F_CSUM_MASK | NETIF_F_GSO_MASK,
features);
}
/* IP header + UDP + VXLAN + Ethernet header */