net: bridge: convert group_addr_set option to a bit
Convert group_addr_set internal bridge opt to a bit. Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
8df3510f28
Коммит
be3664a038
|
@ -1139,7 +1139,7 @@ static int br_changelink(struct net_device *brdev, struct nlattr *tb[],
|
|||
spin_lock_bh(&br->lock);
|
||||
memcpy(br->group_addr, new_addr, sizeof(br->group_addr));
|
||||
spin_unlock_bh(&br->lock);
|
||||
br->group_addr_set = true;
|
||||
br_opt_toggle(br, BROPT_GROUP_ADDR_SET, true);
|
||||
br_recalculate_fwd_mask(br);
|
||||
}
|
||||
|
||||
|
|
|
@ -312,6 +312,7 @@ enum net_bridge_opts {
|
|||
BROPT_NF_CALL_IPTABLES,
|
||||
BROPT_NF_CALL_IP6TABLES,
|
||||
BROPT_NF_CALL_ARPTABLES,
|
||||
BROPT_GROUP_ADDR_SET,
|
||||
};
|
||||
|
||||
struct net_bridge {
|
||||
|
@ -355,7 +356,6 @@ struct net_bridge {
|
|||
unsigned long bridge_ageing_time;
|
||||
|
||||
u8 group_addr[ETH_ALEN];
|
||||
bool group_addr_set;
|
||||
|
||||
enum {
|
||||
BR_NO_STP, /* no spanning tree */
|
||||
|
|
|
@ -303,7 +303,7 @@ static ssize_t group_addr_store(struct device *d,
|
|||
ether_addr_copy(br->group_addr, new_addr);
|
||||
spin_unlock_bh(&br->lock);
|
||||
|
||||
br->group_addr_set = true;
|
||||
br_opt_toggle(br, BROPT_GROUP_ADDR_SET, true);
|
||||
br_recalculate_fwd_mask(br);
|
||||
netdev_state_change(br->dev);
|
||||
|
||||
|
|
|
@ -695,7 +695,7 @@ struct net_bridge_vlan *br_vlan_find(struct net_bridge_vlan_group *vg, u16 vid)
|
|||
/* Must be protected by RTNL. */
|
||||
static void recalculate_group_addr(struct net_bridge *br)
|
||||
{
|
||||
if (br->group_addr_set)
|
||||
if (br_opt_get(br, BROPT_GROUP_ADDR_SET))
|
||||
return;
|
||||
|
||||
spin_lock_bh(&br->lock);
|
||||
|
|
Загрузка…
Ссылка в новой задаче