@@ -280,8 +280,8 @@ void nsim_ipsec_init(struct netdevsim *ns)
NETIF_F_HW_ESP_TX_CSUM | \
NETIF_F_GSO_ESP)
- ns->netdev->features |= NSIM_ESP_FEATURES;
- ns->netdev->hw_enc_features |= NSIM_ESP_FEATURES;
+ netdev_feature_set_bits(NSIM_ESP_FEATURES, &ns->netdev->features);
+ netdev_feature_set_bits(NSIM_ESP_FEATURES, &ns->netdev->hw_enc_features);
ns->ipsec.pfile = debugfs_create_file("ipsec", 0400,
ns->nsim_dev_port->ddir, ns,
@@ -232,7 +232,8 @@ nsim_set_features(struct net_device *dev, netdev_features_t features)
{
struct netdevsim *ns = netdev_priv(dev);
- if ((dev->features & NETIF_F_HW_TC) > (features & NETIF_F_HW_TC))
+ if (netdev_feature_test_bit(NETIF_F_HW_TC_BIT, dev->features) &&
+ !netdev_feature_test_bit(NETIF_F_HW_TC_BIT, features))
return nsim_bpf_disable_tc(ns);
return 0;
@@ -288,12 +289,12 @@ static void nsim_setup(struct net_device *dev)
dev->flags &= ~IFF_MULTICAST;
dev->priv_flags |= IFF_LIVE_ADDR_CHANGE |
IFF_NO_QUEUE;
- dev->features |= NETIF_F_HIGHDMA |
- NETIF_F_SG |
- NETIF_F_FRAGLIST |
- NETIF_F_HW_CSUM |
- NETIF_F_TSO;
- dev->hw_features |= NETIF_F_HW_TC;
+ netdev_feature_set_bits(NETIF_F_HIGHDMA |
+ NETIF_F_SG |
+ NETIF_F_FRAGLIST |
+ NETIF_F_HW_CSUM |
+ NETIF_F_TSO, &dev->features);
+ netdev_feature_set_bit(NETIF_F_HW_TC_BIT, &dev->hw_features);
dev->max_mtu = ETH_MAX_MTU;
}
Use netdev_feature_xxx helpers to replace the logical operation for netdev features. Signed-off-by: Jian Shen <shenjian15@huawei.com> --- drivers/net/netdevsim/ipsec.c | 4 ++-- drivers/net/netdevsim/netdev.c | 15 ++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-)