bridge: add bridge_flags_bit enum

We want to use atomic operations for lockless p->flags changes
and reads.

Add definitions for bits in addition of masks so that we can use
test_bit(), clear_bit() and set_bit() in subsequent patches.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Link: https://patch.msgid.link/20260604141343.2124500-3-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Eric Dumazet 2026-06-04 14:13:34 +00:00 committed by Jakub Kicinski
parent 032c8f6f21
commit 87020def25

View File

@ -36,32 +36,60 @@ struct br_ip_list {
struct br_ip addr;
};
#define BR_HAIRPIN_MODE BIT(0)
#define BR_BPDU_GUARD BIT(1)
#define BR_ROOT_BLOCK BIT(2)
#define BR_MULTICAST_FAST_LEAVE BIT(3)
#define BR_ADMIN_COST BIT(4)
#define BR_LEARNING BIT(5)
#define BR_FLOOD BIT(6)
enum bridge_flags_bit {
BR_HAIRPIN_MODE_BIT,
BR_BPDU_GUARD_BIT,
BR_ROOT_BLOCK_BIT,
BR_MULTICAST_FAST_LEAVE_BIT,
BR_ADMIN_COST_BIT,
BR_LEARNING_BIT,
BR_FLOOD_BIT,
BR_PROMISC_BIT,
BR_PROXYARP_BIT,
BR_LEARNING_SYNC_BIT,
BR_PROXYARP_WIFI_BIT,
BR_MCAST_FLOOD_BIT,
BR_MULTICAST_TO_UNICAST_BIT,
BR_VLAN_TUNNEL_BIT,
BR_BCAST_FLOOD_BIT,
BR_NEIGH_SUPPRESS_BIT,
BR_ISOLATED_BIT,
BR_MRP_AWARE_BIT,
BR_MRP_LOST_CONT_BIT,
BR_MRP_LOST_IN_CONT_BIT,
BR_TX_FWD_OFFLOAD_BIT,
BR_PORT_LOCKED_BIT,
BR_PORT_MAB_BIT,
BR_NEIGH_VLAN_SUPPRESS_BIT,
BR_NEIGH_FORWARD_GRAT_BIT,
};
#define BR_HAIRPIN_MODE BIT(BR_HAIRPIN_MODE_BIT)
#define BR_BPDU_GUARD BIT(BR_BPDU_GUARD_BIT)
#define BR_ROOT_BLOCK BIT(BR_ROOT_BLOCK_BIT)
#define BR_MULTICAST_FAST_LEAVE BIT(BR_MULTICAST_FAST_LEAVE_BIT)
#define BR_ADMIN_COST BIT(BR_ADMIN_COST_BIT)
#define BR_LEARNING BIT(BR_LEARNING_BIT)
#define BR_FLOOD BIT(BR_FLOOD_BIT)
#define BR_AUTO_MASK (BR_FLOOD | BR_LEARNING)
#define BR_PROMISC BIT(7)
#define BR_PROXYARP BIT(8)
#define BR_LEARNING_SYNC BIT(9)
#define BR_PROXYARP_WIFI BIT(10)
#define BR_MCAST_FLOOD BIT(11)
#define BR_MULTICAST_TO_UNICAST BIT(12)
#define BR_VLAN_TUNNEL BIT(13)
#define BR_BCAST_FLOOD BIT(14)
#define BR_NEIGH_SUPPRESS BIT(15)
#define BR_ISOLATED BIT(16)
#define BR_MRP_AWARE BIT(17)
#define BR_MRP_LOST_CONT BIT(18)
#define BR_MRP_LOST_IN_CONT BIT(19)
#define BR_TX_FWD_OFFLOAD BIT(20)
#define BR_PORT_LOCKED BIT(21)
#define BR_PORT_MAB BIT(22)
#define BR_NEIGH_VLAN_SUPPRESS BIT(23)
#define BR_NEIGH_FORWARD_GRAT BIT(24)
#define BR_PROMISC BIT(BR_PROMISC_BIT)
#define BR_PROXYARP BIT(BR_PROXYARP_BIT)
#define BR_LEARNING_SYNC BIT(BR_LEARNING_SYNC_BIT)
#define BR_PROXYARP_WIFI BIT(BR_PROXYARP_WIFI_BIT)
#define BR_MCAST_FLOOD BIT(BR_MCAST_FLOOD_BIT)
#define BR_MULTICAST_TO_UNICAST BIT(BR_MULTICAST_TO_UNICAST_BIT)
#define BR_VLAN_TUNNEL BIT(BR_VLAN_TUNNEL_BIT)
#define BR_BCAST_FLOOD BIT(BR_BCAST_FLOOD_BIT)
#define BR_NEIGH_SUPPRESS BIT(BR_NEIGH_SUPPRESS_BIT)
#define BR_ISOLATED BIT(BR_ISOLATED_BIT)
#define BR_MRP_AWARE BIT(BR_MRP_AWARE_BIT)
#define BR_MRP_LOST_CONT BIT(BR_MRP_LOST_CONT_BIT)
#define BR_MRP_LOST_IN_CONT BIT(BR_MRP_LOST_IN_CONT_BIT)
#define BR_TX_FWD_OFFLOAD BIT(BR_TX_FWD_OFFLOAD_BIT)
#define BR_PORT_LOCKED BIT(BR_PORT_LOCKED_BIT)
#define BR_PORT_MAB BIT(BR_PORT_MAB_BIT)
#define BR_NEIGH_VLAN_SUPPRESS BIT(BR_NEIGH_VLAN_SUPPRESS_BIT)
#define BR_NEIGH_FORWARD_GRAT BIT(BR_NEIGH_FORWARD_GRAT_BIT)
#define BR_DEFAULT_AGEING_TIME (300 * HZ)