diff options
author | Alexander Lobakin <aleksander.lobakin@intel.com> | 2024-08-29 14:33:36 +0200 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2024-09-03 11:36:43 +0200 |
commit | beb5a9bea8239cdf4adf6b62672e30db3e9fa5ce (patch) | |
tree | 0b926da32eb766c8fa65ba909606be8011cf59c9 /drivers/net/macvlan.c | |
parent | 075e3d30e4a3da8eadd12f2f063dc8e2ea9e1f08 (diff) | |
download | linux-beb5a9bea8239cdf4adf6b62672e30db3e9fa5ce.tar.gz linux-beb5a9bea8239cdf4adf6b62672e30db3e9fa5ce.tar.bz2 linux-beb5a9bea8239cdf4adf6b62672e30db3e9fa5ce.zip |
netdevice: convert private flags > BIT(31) to bitfields
Make dev->priv_flags `u32` back and define bits higher than 31 as
bitfield booleans as per Jakub's suggestion. This simplifies code
which accesses these bits with no optimization loss (testb both
before/after), allows to not extend &netdev_priv_flags each time,
but also scales better as bits > 63 in the future would only add
a new u64 to the structure with no complications, comparing to
that extending ::priv_flags would require converting it to a bitmap.
Note that I picked `unsigned long :1` to not lose any potential
optimizations comparing to `bool :1` etc.
Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/macvlan.c')
-rw-r--r-- | drivers/net/macvlan.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 24298a33e0e9..b45f137f365e 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -1213,7 +1213,8 @@ void macvlan_common_setup(struct net_device *dev) dev->max_mtu = ETH_MAX_MTU; dev->priv_flags &= ~IFF_TX_SKB_SHARING; netif_keep_dst(dev); - dev->priv_flags |= IFF_UNICAST_FLT | IFF_CHANGE_PROTO_DOWN; + dev->priv_flags |= IFF_UNICAST_FLT; + dev->change_proto_down = true; dev->netdev_ops = &macvlan_netdev_ops; dev->needs_free_netdev = true; dev->priv_destructor = macvlan_dev_free; |