Lines Matching full:br
34 struct net_bridge *br = netdev_priv(dev); in br_dev_xmit() local
35 struct net_bridge_mcast *brmctx = &br->multicast_ctx; in br_dev_xmit()
68 if (!br_allowed_ingress(br, br_vlan_group_rcu(br), skb, &vid, in br_dev_xmit()
75 br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED)) { in br_dev_xmit()
76 br_do_proxy_suppress_arp(skb, br, vid, NULL); in br_dev_xmit()
79 br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED) && in br_dev_xmit()
87 br_do_suppress_nd(skb, br, vid, NULL, msg); in br_dev_xmit()
92 br_flood(br, skb, BR_PKT_BROADCAST, false, true, vid); in br_dev_xmit()
95 br_flood(br, skb, BR_PKT_MULTICAST, false, true, vid); in br_dev_xmit()
108 br_flood(br, skb, BR_PKT_MULTICAST, false, true, vid); in br_dev_xmit()
109 } else if ((dst = br_fdb_find_rcu(br, dest, vid)) != NULL) { in br_dev_xmit()
112 br_flood(br, skb, BR_PKT_UNICAST, false, true, vid); in br_dev_xmit()
121 struct net_bridge *br = netdev_priv(dev); in br_dev_init() local
124 err = br_fdb_hash_init(br); in br_dev_init()
128 err = br_mdb_hash_init(br); in br_dev_init()
130 br_fdb_hash_fini(br); in br_dev_init()
134 err = br_vlan_init(br); in br_dev_init()
136 br_mdb_hash_fini(br); 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 br_vlan_flush(br); in br_dev_init()
144 br_mdb_hash_fini(br); in br_dev_init()
145 br_fdb_hash_fini(br); in br_dev_init()
155 struct net_bridge *br = netdev_priv(dev); in br_dev_uninit() local
157 br_multicast_dev_del(br); in br_dev_uninit()
158 br_multicast_uninit_stats(br); in br_dev_uninit()
159 br_vlan_flush(br); in br_dev_uninit()
160 br_mdb_hash_fini(br); in br_dev_uninit()
161 br_fdb_hash_fini(br); in br_dev_uninit()
166 struct net_bridge *br = netdev_priv(dev); in br_dev_open() local
170 br_stp_enable_bridge(br); in br_dev_open()
171 br_multicast_open(br); in br_dev_open()
173 if (br_opt_get(br, BROPT_MULTICAST_ENABLED)) in br_dev_open()
174 br_multicast_join_snoopers(br); in br_dev_open()
191 struct net_bridge *br = netdev_priv(dev); in br_dev_stop() local
193 br_stp_disable_bridge(br); in br_dev_stop()
194 br_multicast_stop(br); in br_dev_stop()
196 if (br_opt_get(br, BROPT_MULTICAST_ENABLED)) in br_dev_stop()
197 br_multicast_leave_snoopers(br); in br_dev_stop()
206 struct net_bridge *br = netdev_priv(dev); in br_change_mtu() local
211 br_opt_toggle(br, BROPT_MTU_SET_BY_USER, true); in br_change_mtu()
214 dst_metric_set(&br->fake_rtable.dst, RTAX_MTU, new_mtu); in br_change_mtu()
223 struct net_bridge *br = netdev_priv(dev); in br_set_mac_address() local
235 spin_lock_bh(&br->lock); in br_set_mac_address()
238 br_stp_change_bridge_id(br, addr->sa_data); in br_set_mac_address()
240 spin_unlock_bh(&br->lock); in br_set_mac_address()
256 struct net_bridge *br = netdev_priv(dev); in br_get_link_ksettings() local
263 list_for_each_entry(p, &br->port_list, list) { in br_get_link_ksettings()
287 struct net_bridge *br = netdev_priv(dev); in br_fix_features() local
289 return br_features_recompute(br, features); in br_fix_features()
299 struct net_bridge *br = netdev_priv(dev); in br_netpoll_cleanup() local
302 list_for_each_entry(p, &br->port_list, list) in br_netpoll_cleanup()
327 if (!p->br->dev->npinfo) in br_netpoll_enable()
335 struct net_bridge *br = netdev_priv(dev); in br_netpoll_setup() local
339 list_for_each_entry(p, &br->port_list, list) { in br_netpoll_setup()
373 struct net_bridge *br = netdev_priv(dev); in br_add_slave() local
375 return br_add_if(br, slave_dev, extack); in br_add_slave()
380 struct net_bridge *br = netdev_priv(dev); in br_del_slave() local
382 return br_del_if(br, slave_dev); in br_del_slave()
390 struct net_bridge *br; in br_fill_forward_path() local
395 br = netdev_priv(ctx->dev); in br_fill_forward_path()
397 br_vlan_fill_forward_path_pvid(br, ctx, path); in br_fill_forward_path()
399 f = br_fdb_find_rcu(br, ctx->daddr, path->bridge.vlan_id); in br_fill_forward_path()
407 if (br_vlan_fill_forward_path_mode(br, dst, path)) in br_fill_forward_path()
411 path->dev = dst->br->dev; in br_fill_forward_path()
482 struct net_bridge *br = netdev_priv(dev); in br_dev_setup() local
502 br->dev = dev; in br_dev_setup()
503 spin_lock_init(&br->lock); in br_dev_setup()
504 INIT_LIST_HEAD(&br->port_list); in br_dev_setup()
505 INIT_HLIST_HEAD(&br->fdb_list); in br_dev_setup()
506 INIT_HLIST_HEAD(&br->frame_type_list); in br_dev_setup()
508 INIT_HLIST_HEAD(&br->mrp_list); in br_dev_setup()
511 INIT_HLIST_HEAD(&br->mep_list); in br_dev_setup()
513 spin_lock_init(&br->hash_lock); in br_dev_setup()
515 br->bridge_id.prio[0] = 0x80; in br_dev_setup()
516 br->bridge_id.prio[1] = 0x00; in br_dev_setup()
518 ether_addr_copy(br->group_addr, eth_stp_addr); in br_dev_setup()
520 br->stp_enabled = BR_NO_STP; in br_dev_setup()
521 br->group_fwd_mask = BR_GROUPFWD_DEFAULT; in br_dev_setup()
522 br->group_fwd_mask_required = BR_GROUPFWD_DEFAULT; in br_dev_setup()
524 br->designated_root = br->bridge_id; in br_dev_setup()
525 br->bridge_max_age = br->max_age = 20 * HZ; in br_dev_setup()
526 br->bridge_hello_time = br->hello_time = 2 * HZ; in br_dev_setup()
527 br->bridge_forward_delay = br->forward_delay = 15 * HZ; in br_dev_setup()
528 br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME; in br_dev_setup()
531 br_netfilter_rtable_init(br); in br_dev_setup()
532 br_stp_timer_init(br); in br_dev_setup()
533 br_multicast_init(br); in br_dev_setup()
534 INIT_DELAYED_WORK(&br->gc_work, br_fdb_cleanup); in br_dev_setup()