Lines Matching refs:br

34 	struct net_bridge *br;
59 br = p->br;
63 br_mtu_auto_adjust(br);
67 if (br->dev->addr_assign_type == NET_ADDR_SET)
70 err = dev_pre_changeaddr_notify(br->dev,
78 spin_lock_bh(&br->lock);
80 changed_addr = br_stp_recalculate_bridge_id(br);
81 spin_unlock_bh(&br->lock);
84 call_netdevice_notifiers(NETDEV_CHANGEADDR, br->dev);
93 netdev_update_features(br->dev);
97 spin_lock_bh(&br->lock);
98 if (br->dev->flags & IFF_UP) {
102 spin_unlock_bh(&br->lock);
106 if (netif_running(br->dev) && netif_oper_up(dev)) {
107 spin_lock_bh(&br->lock);
110 spin_unlock_bh(&br->lock);
115 br_del_if(br, dev);
130 call_netdevice_notifiers(event, br->dev);
155 struct net_bridge *br;
163 br = p->br;
168 err = br_fdb_external_learn_add(br, p, fdb_info->addr,
174 br_fdb_offloaded_set(br, p, fdb_info->addr,
179 err = br_fdb_external_learn_del(br, p, fdb_info->addr,
186 br_fdb_offloaded_set(br, p, fdb_info->addr,
192 br_fdb_delete_by_port(br, p, fdb_info->vid, 0);
206 * @br: bridge device
214 int br_boolopt_toggle(struct net_bridge *br, enum br_boolopt_id opt, bool on,
219 br_opt_toggle(br, BROPT_NO_LL_LEARN, on);
230 int br_boolopt_get(const struct net_bridge *br, enum br_boolopt_id opt)
234 return br_opt_get(br, BROPT_NO_LL_LEARN);
244 int br_boolopt_multi_toggle(struct net_bridge *br,
255 err = br_boolopt_toggle(br, opt_id, on, extack);
257 br_debug(br, "boolopt multi-toggle error: option: %d current: %d new: %d error: %d\n",
258 opt_id, br_boolopt_get(br, opt_id), on, err);
266 void br_boolopt_multi_get(const struct net_bridge *br,
273 optval |= (br_boolopt_get(br, opt_id) << opt_id);
280 void br_opt_toggle(struct net_bridge *br, enum net_bridge_opts opt, bool on)
282 bool cur = !!br_opt_get(br, opt);
284 br_debug(br, "toggle option: %d state: %d -> %d\n",
291 set_bit(opt, &br->options);
293 clear_bit(opt, &br->options);