Lines Matching refs:br

36 	struct net_bridge *br = netdev_priv(dev);  in br_dev_xmit()  local
39 struct pcpu_sw_netstats *brstats = this_cpu_ptr(br->stats); in br_dev_xmit()
64 if (!br_allowed_ingress(br, br_vlan_group_rcu(br), skb, &vid)) in br_dev_xmit()
70 br->neigh_suppress_enabled) { in br_dev_xmit()
71 br_do_proxy_suppress_arp(skb, br, vid, NULL); in br_dev_xmit()
74 br->neigh_suppress_enabled && in br_dev_xmit()
82 br_do_suppress_nd(skb, br, vid, NULL, msg); in br_dev_xmit()
87 br_flood(br, skb, BR_PKT_BROADCAST, false, true); in br_dev_xmit()
90 br_flood(br, skb, BR_PKT_MULTICAST, false, true); in br_dev_xmit()
93 if (br_multicast_rcv(br, NULL, skb, vid)) { in br_dev_xmit()
98 mdst = br_mdb_get(br, skb, vid); in br_dev_xmit()
100 br_multicast_querier_exists(br, eth_hdr(skb))) in br_dev_xmit()
103 br_flood(br, skb, BR_PKT_MULTICAST, false, true); in br_dev_xmit()
104 } else if ((dst = br_fdb_find_rcu(br, dest, vid)) != NULL) { in br_dev_xmit()
107 br_flood(br, skb, BR_PKT_UNICAST, false, true); in br_dev_xmit()
121 struct net_bridge *br = netdev_priv(dev); in br_dev_init() local
124 br->stats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats); in br_dev_init()
125 if (!br->stats) in br_dev_init()
128 err = br_fdb_hash_init(br); in br_dev_init()
130 free_percpu(br->stats); in br_dev_init()
134 err = br_vlan_init(br); in br_dev_init()
136 free_percpu(br->stats); in br_dev_init()
137 br_fdb_hash_fini(br); in br_dev_init()
141 err = br_multicast_init_stats(br); in br_dev_init()
143 free_percpu(br->stats); in br_dev_init()
144 br_vlan_flush(br); in br_dev_init()
145 br_fdb_hash_fini(br); in br_dev_init()
154 struct net_bridge *br = netdev_priv(dev); in br_dev_uninit() local
156 br_multicast_dev_del(br); in br_dev_uninit()
157 br_multicast_uninit_stats(br); in br_dev_uninit()
158 br_vlan_flush(br); in br_dev_uninit()
159 br_fdb_hash_fini(br); in br_dev_uninit()
160 free_percpu(br->stats); in br_dev_uninit()
165 struct net_bridge *br = netdev_priv(dev); in br_dev_open() local
169 br_stp_enable_bridge(br); in br_dev_open()
170 br_multicast_open(br); in br_dev_open()
187 struct net_bridge *br = netdev_priv(dev); in br_dev_stop() local
189 br_stp_disable_bridge(br); in br_dev_stop()
190 br_multicast_stop(br); in br_dev_stop()
200 struct net_bridge *br = netdev_priv(dev); in br_get_stats64() local
207 = per_cpu_ptr(br->stats, cpu); in br_get_stats64()
226 struct net_bridge *br = netdev_priv(dev); in br_change_mtu() local
231 br->mtu_set_by_user = true; in br_change_mtu()
234 dst_metric_set(&br->fake_rtable.dst, RTAX_MTU, new_mtu); in br_change_mtu()
243 struct net_bridge *br = netdev_priv(dev); in br_set_mac_address() local
249 spin_lock_bh(&br->lock); in br_set_mac_address()
252 br_stp_change_bridge_id(br, addr->sa_data); in br_set_mac_address()
254 spin_unlock_bh(&br->lock); in br_set_mac_address()
270 struct net_bridge *br = netdev_priv(dev); in br_fix_features() local
272 return br_features_recompute(br, features); in br_fix_features()
282 struct net_bridge *br = netdev_priv(dev); in br_netpoll_cleanup() local
285 list_for_each_entry(p, &br->port_list, list) in br_netpoll_cleanup()
310 if (!p->br->dev->npinfo) in br_netpoll_enable()
318 struct net_bridge *br = netdev_priv(dev); in br_netpoll_setup() local
322 list_for_each_entry(p, &br->port_list, list) { in br_netpoll_setup()
356 struct net_bridge *br = netdev_priv(dev); in br_add_slave() local
358 return br_add_if(br, slave_dev, extack); in br_add_slave()
363 struct net_bridge *br = netdev_priv(dev); in br_del_slave() local
365 return br_del_if(br, slave_dev); in br_del_slave()
408 struct net_bridge *br = netdev_priv(dev); in br_dev_setup() local
425 br->dev = dev; in br_dev_setup()
426 spin_lock_init(&br->lock); in br_dev_setup()
427 INIT_LIST_HEAD(&br->port_list); in br_dev_setup()
428 INIT_HLIST_HEAD(&br->fdb_list); in br_dev_setup()
429 spin_lock_init(&br->hash_lock); in br_dev_setup()
431 br->bridge_id.prio[0] = 0x80; in br_dev_setup()
432 br->bridge_id.prio[1] = 0x00; in br_dev_setup()
434 ether_addr_copy(br->group_addr, eth_stp_addr); in br_dev_setup()
436 br->stp_enabled = BR_NO_STP; in br_dev_setup()
437 br->group_fwd_mask = BR_GROUPFWD_DEFAULT; in br_dev_setup()
438 br->group_fwd_mask_required = BR_GROUPFWD_DEFAULT; in br_dev_setup()
440 br->designated_root = br->bridge_id; in br_dev_setup()
441 br->bridge_max_age = br->max_age = 20 * HZ; in br_dev_setup()
442 br->bridge_hello_time = br->hello_time = 2 * HZ; in br_dev_setup()
443 br->bridge_forward_delay = br->forward_delay = 15 * HZ; in br_dev_setup()
444 br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME; in br_dev_setup()
447 br_netfilter_rtable_init(br); in br_dev_setup()
448 br_stp_timer_init(br); in br_dev_setup()
449 br_multicast_init(br); in br_dev_setup()
450 INIT_DELAYED_WORK(&br->gc_work, br_fdb_cleanup); in br_dev_setup()