Lines Matching refs:br
34 struct net_bridge *br; in br_device_event() local
56 br = p->br; in br_device_event()
60 br_mtu_auto_adjust(br); in br_device_event()
64 if (br->dev->addr_assign_type == NET_ADDR_SET) in br_device_event()
67 err = dev_pre_changeaddr_notify(br->dev, in br_device_event()
75 spin_lock_bh(&br->lock); in br_device_event()
77 changed_addr = br_stp_recalculate_bridge_id(br); in br_device_event()
78 spin_unlock_bh(&br->lock); in br_device_event()
81 call_netdevice_notifiers(NETDEV_CHANGEADDR, br->dev); in br_device_event()
90 netdev_update_features(br->dev); in br_device_event()
94 spin_lock_bh(&br->lock); in br_device_event()
95 if (br->dev->flags & IFF_UP) { in br_device_event()
99 spin_unlock_bh(&br->lock); in br_device_event()
103 if (netif_running(br->dev) && netif_oper_up(dev)) { in br_device_event()
104 spin_lock_bh(&br->lock); in br_device_event()
107 spin_unlock_bh(&br->lock); in br_device_event()
112 br_del_if(br, dev); in br_device_event()
127 call_netdevice_notifiers(event, br->dev); in br_device_event()
152 struct net_bridge *br; in br_switchdev_event() local
160 br = p->br; in br_switchdev_event()
165 err = br_fdb_external_learn_add(br, p, fdb_info->addr, in br_switchdev_event()
171 br_fdb_offloaded_set(br, p, fdb_info->addr, in br_switchdev_event()
176 err = br_fdb_external_learn_del(br, p, fdb_info->addr, in br_switchdev_event()
183 br_fdb_offloaded_set(br, p, fdb_info->addr, in br_switchdev_event()
189 br_fdb_delete_by_port(br, p, fdb_info->vid, 0); in br_switchdev_event()
211 int br_boolopt_toggle(struct net_bridge *br, enum br_boolopt_id opt, bool on, in br_boolopt_toggle() argument
216 br_opt_toggle(br, BROPT_NO_LL_LEARN, on); in br_boolopt_toggle()
227 int br_boolopt_get(const struct net_bridge *br, enum br_boolopt_id opt) in br_boolopt_get() argument
231 return br_opt_get(br, BROPT_NO_LL_LEARN); in br_boolopt_get()
241 int br_boolopt_multi_toggle(struct net_bridge *br, in br_boolopt_multi_toggle() argument
252 err = br_boolopt_toggle(br, opt_id, on, extack); in br_boolopt_multi_toggle()
254 br_debug(br, "boolopt multi-toggle error: option: %d current: %d new: %d error: %d\n", in br_boolopt_multi_toggle()
255 opt_id, br_boolopt_get(br, opt_id), on, err); in br_boolopt_multi_toggle()
263 void br_boolopt_multi_get(const struct net_bridge *br, in br_boolopt_multi_get() argument
270 optval |= (br_boolopt_get(br, opt_id) << opt_id); in br_boolopt_multi_get()
277 void br_opt_toggle(struct net_bridge *br, enum net_bridge_opts opt, bool on) in br_opt_toggle() argument
279 bool cur = !!br_opt_get(br, opt); in br_opt_toggle()
281 br_debug(br, "toggle option: %d state: %d -> %d\n", in br_opt_toggle()
288 set_bit(opt, &br->options); in br_opt_toggle()
290 clear_bit(opt, &br->options); in br_opt_toggle()