Lines Matching refs:br

30 	struct net_bridge *br = netdev_priv(dev);
33 struct pcpu_sw_netstats *brstats = this_cpu_ptr(br->stats);
60 if (!br_allowed_ingress(br, br_vlan_group_rcu(br), skb, &vid, &state))
66 br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED)) {
67 br_do_proxy_suppress_arp(skb, br, vid, NULL);
70 br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED) &&
78 br_do_suppress_nd(skb, br, vid, NULL, msg);
83 br_flood(br, skb, BR_PKT_BROADCAST, false, true);
86 br_flood(br, skb, BR_PKT_MULTICAST, false, true);
89 if (br_multicast_rcv(br, NULL, skb, vid)) {
94 mdst = br_mdb_get(br, skb, vid);
96 br_multicast_querier_exists(br, eth_hdr(skb)))
99 br_flood(br, skb, BR_PKT_MULTICAST, false, true);
100 } else if ((dst = br_fdb_find_rcu(br, dest, vid)) != NULL) {
103 br_flood(br, skb, BR_PKT_UNICAST, false, true);
119 struct net_bridge *br = netdev_priv(dev);
122 br->stats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
123 if (!br->stats)
126 err = br_fdb_hash_init(br);
128 free_percpu(br->stats);
132 err = br_mdb_hash_init(br);
134 free_percpu(br->stats);
135 br_fdb_hash_fini(br);
139 err = br_vlan_init(br);
141 free_percpu(br->stats);
142 br_mdb_hash_fini(br);
143 br_fdb_hash_fini(br);
147 err = br_multicast_init_stats(br);
149 free_percpu(br->stats);
150 br_vlan_flush(br);
151 br_mdb_hash_fini(br);
152 br_fdb_hash_fini(br);
161 struct net_bridge *br = netdev_priv(dev);
163 br_multicast_dev_del(br);
164 br_multicast_uninit_stats(br);
165 br_vlan_flush(br);
166 br_mdb_hash_fini(br);
167 br_fdb_hash_fini(br);
168 free_percpu(br->stats);
173 struct net_bridge *br = netdev_priv(dev);
177 br_stp_enable_bridge(br);
178 br_multicast_open(br);
180 if (br_opt_get(br, BROPT_MULTICAST_ENABLED))
181 br_multicast_join_snoopers(br);
198 struct net_bridge *br = netdev_priv(dev);
200 br_stp_disable_bridge(br);
201 br_multicast_stop(br);
203 if (br_opt_get(br, BROPT_MULTICAST_ENABLED))
204 br_multicast_leave_snoopers(br);
214 struct net_bridge *br = netdev_priv(dev);
217 dev_fetch_sw_netstats(stats, br->stats);
222 struct net_bridge *br = netdev_priv(dev);
227 br_opt_toggle(br, BROPT_MTU_SET_BY_USER, true);
230 dst_metric_set(&br->fake_rtable.dst, RTAX_MTU, new_mtu);
239 struct net_bridge *br = netdev_priv(dev);
251 spin_lock_bh(&br->lock);
254 br_stp_change_bridge_id(br, addr->sa_data);
256 spin_unlock_bh(&br->lock);
272 struct net_bridge *br = netdev_priv(dev);
279 list_for_each_entry(p, &br->port_list, list) {
303 struct net_bridge *br = netdev_priv(dev);
305 return br_features_recompute(br, features);
315 struct net_bridge *br = netdev_priv(dev);
318 list_for_each_entry(p, &br->port_list, list)
343 if (!p->br->dev->npinfo)
351 struct net_bridge *br = netdev_priv(dev);
355 list_for_each_entry(p, &br->port_list, list) {
389 struct net_bridge *br = netdev_priv(dev);
391 return br_add_if(br, slave_dev, extack);
396 struct net_bridge *br = netdev_priv(dev);
398 return br_del_if(br, slave_dev);
443 struct net_bridge *br = netdev_priv(dev);
460 br->dev = dev;
461 spin_lock_init(&br->lock);
462 INIT_LIST_HEAD(&br->port_list);
463 INIT_HLIST_HEAD(&br->fdb_list);
465 INIT_LIST_HEAD(&br->mrp_list);
467 spin_lock_init(&br->hash_lock);
469 br->bridge_id.prio[0] = 0x80;
470 br->bridge_id.prio[1] = 0x00;
472 ether_addr_copy(br->group_addr, eth_stp_addr);
474 br->stp_enabled = BR_NO_STP;
475 br->group_fwd_mask = BR_GROUPFWD_DEFAULT;
476 br->group_fwd_mask_required = BR_GROUPFWD_DEFAULT;
478 br->designated_root = br->bridge_id;
479 br->bridge_max_age = br->max_age = 20 * HZ;
480 br->bridge_hello_time = br->hello_time = 2 * HZ;
481 br->bridge_forward_delay = br->forward_delay = 15 * HZ;
482 br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME;
485 br_netfilter_rtable_init(br);
486 br_stp_timer_init(br);
487 br_multicast_init(br);
488 INIT_DELAYED_WORK(&br->gc_work, br_fdb_cleanup);