Home
last modified time | relevance | path

Searched refs:br (Results 1 – 25 of 31) sorted by relevance

12

/net/bridge/
Dbr_stp.c34 br_info(p->br, "port %u(%s) entered %s state\n", in br_log_state()
45 struct net_bridge_port *br_get_port(struct net_bridge *br, u16 port_no) in br_get_port() argument
49 list_for_each_entry_rcu(p, &br->port_list, list) { in br_get_port()
61 struct net_bridge *br; in br_should_become_root_port() local
65 br = p->br; in br_should_become_root_port()
70 if (memcmp(&br->bridge_id, &p->designated_root, 8) <= 0) in br_should_become_root_port()
76 rp = br_get_port(br, root_port); in br_should_become_root_port()
108 static void br_root_port_block(const struct net_bridge *br, in br_root_port_block() argument
112 br_notice(br, "port %u(%s) tried to become root port (blocked)", in br_root_port_block()
119 if (br->forward_delay > 0) in br_root_port_block()
[all …]
Dbr_stp_if.c46 void br_stp_enable_bridge(struct net_bridge *br) in br_stp_enable_bridge() argument
50 spin_lock_bh(&br->lock); in br_stp_enable_bridge()
51 mod_timer(&br->hello_timer, jiffies + br->hello_time); in br_stp_enable_bridge()
52 mod_timer(&br->gc_timer, jiffies + HZ/10); in br_stp_enable_bridge()
54 br_config_bpdu_generation(br); in br_stp_enable_bridge()
56 list_for_each_entry(p, &br->port_list, list) { in br_stp_enable_bridge()
61 spin_unlock_bh(&br->lock); in br_stp_enable_bridge()
65 void br_stp_disable_bridge(struct net_bridge *br) in br_stp_disable_bridge() argument
69 spin_lock_bh(&br->lock); in br_stp_disable_bridge()
70 list_for_each_entry(p, &br->port_list, list) { in br_stp_disable_bridge()
[all …]
Dbr_stp_timer.c21 static int br_is_designated_for_some_port(const struct net_bridge *br) in br_is_designated_for_some_port() argument
25 list_for_each_entry(p, &br->port_list, list) { in br_is_designated_for_some_port()
27 !memcmp(&p->designated_bridge, &br->bridge_id, 8)) in br_is_designated_for_some_port()
36 struct net_bridge *br = (struct net_bridge *)arg; in br_hello_timer_expired() local
38 br_debug(br, "hello timer expired\n"); in br_hello_timer_expired()
39 spin_lock(&br->lock); in br_hello_timer_expired()
40 if (br->dev->flags & IFF_UP) { in br_hello_timer_expired()
41 br_config_bpdu_generation(br); in br_hello_timer_expired()
43 mod_timer(&br->hello_timer, round_jiffies(jiffies + br->hello_time)); in br_hello_timer_expired()
45 spin_unlock(&br->lock); in br_hello_timer_expired()
[all …]
Dbr_multicast.c38 static void br_multicast_start_querier(struct net_bridge *br,
138 struct net_bridge_mdb_entry *br_mdb_get(struct net_bridge *br, in br_mdb_get() argument
141 struct net_bridge_mdb_htable *mdb = rcu_dereference(br->mdb); in br_mdb_get()
144 if (br->multicast_disabled) in br_mdb_get()
228 struct net_bridge *br = mp->br; in br_multicast_group_expired() local
231 spin_lock(&br->multicast_lock); in br_multicast_group_expired()
232 if (!netif_running(br->dev) || timer_pending(&mp->timer)) in br_multicast_group_expired()
240 mdb = mlock_dereference(br->mdb, br); in br_multicast_group_expired()
248 spin_unlock(&br->multicast_lock); in br_multicast_group_expired()
251 static void br_multicast_del_pg(struct net_bridge *br, in br_multicast_del_pg() argument
[all …]
Dbr_device.c31 struct net_bridge *br = netdev_priv(dev); in br_dev_xmit() local
35 struct pcpu_sw_netstats *brstats = this_cpu_ptr(br->stats); in br_dev_xmit()
58 if (!br_allowed_ingress(br, br_get_vlan_info(br), skb, &vid)) in br_dev_xmit()
62 br_flood_deliver(br, skb, false); in br_dev_xmit()
65 br_flood_deliver(br, skb, false); in br_dev_xmit()
68 if (br_multicast_rcv(br, NULL, skb, vid)) { in br_dev_xmit()
73 mdst = br_mdb_get(br, skb, vid); in br_dev_xmit()
75 br_multicast_querier_exists(br, eth_hdr(skb))) in br_dev_xmit()
78 br_flood_deliver(br, skb, false); in br_dev_xmit()
79 } else if ((dst = __br_fdb_get(br, dest, vid)) != NULL) in br_dev_xmit()
[all …]
Dbr_vlan.c42 struct net_bridge *br; in __vlan_add() local
53 br = p->br; in __vlan_add()
56 br = v->parent.br; in __vlan_add()
57 dev = br->dev; in __vlan_add()
65 err = vlan_vid_add(dev, br->vlan_proto, vid); in __vlan_add()
70 err = br_fdb_insert(br, p, dev->dev_addr, vid); in __vlan_add()
72 br_err(br, "failed insert local address into bridge " in __vlan_add()
85 vlan_vid_del(dev, br->vlan_proto, vid); in __vlan_add()
99 vlan_vid_del(p->dev, p->br->vlan_proto, vid); in __vlan_del()
108 RCU_INIT_POINTER(v->parent.br->vlan_info, NULL); in __vlan_del()
[all …]
Dbr_if.c68 struct net_bridge *br = p->br; in br_port_carrier_check() local
74 if (!netif_running(br->dev)) in br_port_carrier_check()
77 spin_lock_bh(&br->lock); in br_port_carrier_check()
85 spin_unlock_bh(&br->lock); in br_port_carrier_check()
99 br_fdb_unsync_static(p->br, p); in br_port_set_promisc()
118 err = br_fdb_sync_static(p->br, p); in br_port_clear_promisc()
131 void br_manage_promisc(struct net_bridge *br) in br_manage_promisc() argument
139 if ((br->dev->flags & IFF_PROMISC) || !br_vlan_enabled(br)) in br_manage_promisc()
142 list_for_each_entry(p, &br->port_list, list) { in br_manage_promisc()
156 if (br->auto_cnt == 0 || in br_manage_promisc()
[all …]
Dbr_sysfs_br.c35 struct net_bridge *br = to_bridge(d); in store_bridge_parm() local
40 if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN)) in store_bridge_parm()
47 err = (*set)(br, val); in store_bridge_parm()
55 struct net_bridge *br = to_bridge(d); in forward_delay_show() local
56 return sprintf(buf, "%lu\n", jiffies_to_clock_t(br->forward_delay)); in forward_delay_show()
99 struct net_bridge *br = to_bridge(d); in ageing_time_show() local
100 return sprintf(buf, "%lu\n", jiffies_to_clock_t(br->ageing_time)); in ageing_time_show()
103 static int set_ageing_time(struct net_bridge *br, unsigned long val) in set_ageing_time() argument
105 br->ageing_time = clock_t_to_jiffies(val); in set_ageing_time()
120 struct net_bridge *br = to_bridge(d); in stp_state_show() local
[all …]
Dbr_fdb.c33 static int fdb_insert(struct net_bridge *br, struct net_bridge_port *source,
35 static void fdb_notify(struct net_bridge *br,
62 static inline unsigned long hold_time(const struct net_bridge *br) in hold_time() argument
64 return br->topology_change ? br->forward_delay : br->ageing_time; in hold_time()
67 static inline int has_expired(const struct net_bridge *br, in has_expired() argument
71 time_before_eq(fdb->updated + hold_time(br), jiffies); in has_expired()
93 static void fdb_add_hw(struct net_bridge *br, const unsigned char *addr) in fdb_add_hw() argument
100 list_for_each_entry(p, &br->port_list, list) { in fdb_add_hw()
110 list_for_each_entry_continue_reverse(p, &br->port_list, list) { in fdb_add_hw()
121 static void fdb_del_hw(struct net_bridge *br, const unsigned char *addr) in fdb_del_hw() argument
[all …]
Dbr_private.h84 struct net_bridge *br; member
120 struct net_bridge *br; member
141 struct net_bridge *br; member
330 #define br_printk(level, br, format, args...) \ argument
331 printk(level "%s: " format, (br)->dev->name, ##args)
342 #define br_debug(br, format, args...) \ argument
343 pr_debug("%s: " format, (br)->dev->name, ##args)
346 static inline int br_is_root_bridge(const struct net_bridge *br) in br_is_root_bridge() argument
348 return !memcmp(&br->bridge_id, &br->designated_root, 8); in br_is_root_bridge()
386 void br_fdb_flush(struct net_bridge *br);
[all …]
Dbr_ioctl.c42 static void get_port_ifindices(struct net_bridge *br, int *ifindices, int num) in get_port_ifindices() argument
46 list_for_each_entry(p, &br->port_list, list) { in get_port_ifindices()
59 static int get_fdb_entries(struct net_bridge *br, void __user *userbuf, in get_fdb_entries() argument
76 num = br_fdb_fillbuf(br, buf, maxnum, offset); in get_fdb_entries()
87 static int add_del_if(struct net_bridge *br, int ifindex, int isadd) in add_del_if() argument
89 struct net *net = dev_net(br->dev); in add_del_if()
101 ret = br_add_if(br, dev); in add_del_if()
103 ret = br_del_if(br, dev); in add_del_if()
115 struct net_bridge *br = netdev_priv(dev); in old_dev_ioctl() local
124 return add_del_if(br, args[1], args[0] == BRCTL_ADD_IF); in old_dev_ioctl()
[all …]
Dbr_input.c30 struct net_bridge *br = netdev_priv(brdev); in br_pass_frame_up() local
31 struct pcpu_sw_netstats *brstats = this_cpu_ptr(br->stats); in br_pass_frame_up()
43 pv = br_get_vlan_info(br); in br_pass_frame_up()
45 !br_allowed_egress(br, pv, skb)) { in br_pass_frame_up()
52 skb = br_handle_vlan(br, pv, skb); in br_pass_frame_up()
65 struct net_bridge *br; in br_handle_frame_finish() local
75 if (!br_allowed_ingress(p->br, nbp_get_vlan_info(p), skb, &vid)) in br_handle_frame_finish()
79 br = p->br; in br_handle_frame_finish()
81 br_fdb_update(br, p, eth_hdr(skb)->h_source, vid, false); in br_handle_frame_finish()
84 br_multicast_rcv(br, p, skb, vid)) in br_handle_frame_finish()
[all …]
Dbr.c35 struct net_bridge *br; in br_device_event() local
50 br = p->br; in br_device_event()
54 dev_set_mtu(br->dev, br_min_mtu(br)); in br_device_event()
58 spin_lock_bh(&br->lock); in br_device_event()
60 changed_addr = br_stp_recalculate_bridge_id(br); in br_device_event()
61 spin_unlock_bh(&br->lock); in br_device_event()
64 call_netdevice_notifiers(NETDEV_CHANGEADDR, br->dev); in br_device_event()
73 netdev_update_features(br->dev); in br_device_event()
77 spin_lock_bh(&br->lock); in br_device_event()
78 if (br->dev->flags & IFF_UP) in br_device_event()
[all …]
Dbr_mdb.c20 struct net_bridge *br = netdev_priv(dev); in br_rports_fill_info() local
24 if (!br->multicast_router || hlist_empty(&br->router_list)) in br_rports_fill_info()
31 hlist_for_each_entry_rcu(p, &br->router_list, rlist) { in br_rports_fill_info()
46 struct net_bridge *br = netdev_priv(dev); in br_mdb_fill_info() local
52 if (br->multicast_disabled) in br_mdb_fill_info()
55 mdb = rcu_dereference(br->mdb); in br_mdb_fill_info()
318 static int br_mdb_add_group(struct net_bridge *br, struct net_bridge_port *port, in br_mdb_add_group() argument
327 mdb = mlock_dereference(br->mdb, br); in br_mdb_add_group()
330 mp = br_multicast_new_group(br, port, group); in br_mdb_add_group()
337 (p = mlock_dereference(*pp, br)) != NULL; in br_mdb_add_group()
[all …]
Dbr_netlink.c78 const struct net_bridge *br; in br_fill_ifinfo() local
84 br = port->br; in br_fill_ifinfo()
86 br = netdev_priv(dev); in br_fill_ifinfo()
88 br_debug(br, "br_fill_info event %d port %s master %s\n", in br_fill_ifinfo()
89 event, dev->name, br->dev->name); in br_fill_ifinfo()
104 nla_put_u32(skb, IFLA_MASTER, br->dev->ifindex) || in br_fill_ifinfo()
133 pv = br_get_vlan_info(br); in br_fill_ifinfo()
181 br_debug(port->br, "port %u(%s) event %d\n", in br_ifinfo_notify()
227 static int br_afspec(struct net_bridge *br, in br_afspec() argument
255 err = br_vlan_add(p->br, vinfo->vid, in br_afspec()
[all …]
Dbr_stp_bpdu.c53 llc_mac_hdr_init(skb, p->dev->dev_addr, p->br->group_addr); in br_send_bpdu()
80 if (p->br->stp_enabled != BR_KERNEL_STP) in br_send_config_bpdu()
125 if (p->br->stp_enabled != BR_KERNEL_STP) in br_send_tcn_bpdu()
145 struct net_bridge *br; in br_stp_rcv() local
160 br = p->br; in br_stp_rcv()
161 spin_lock(&br->lock); in br_stp_rcv()
163 if (br->stp_enabled != BR_KERNEL_STP) in br_stp_rcv()
166 if (!(br->dev->flags & IFF_UP)) in br_stp_rcv()
172 if (!ether_addr_equal(dest, br->group_addr)) in br_stp_rcv()
176 br_notice(br, "BPDU received on blocked port %u(%s)\n", in br_stp_rcv()
[all …]
Dbr_forward.c34 br_allowed_egress(p->br, nbp_get_vlan_info(p), skb) && in should_deliver()
64 skb = br_handle_vlan(to->br, nbp_get_vlan_info(to), skb); in __br_deliver()
70 if (unlikely(netpoll_tx_running(to->br->dev))) { in __br_deliver()
93 skb = br_handle_vlan(to->br, nbp_get_vlan_info(to), skb); in __br_forward()
172 static void br_flood(struct net_bridge *br, struct sk_buff *skb, in br_flood() argument
183 list_for_each_entry_rcu(p, &br->port_list, list) { in br_flood()
208 void br_flood_deliver(struct net_bridge *br, struct sk_buff *skb, bool unicast) in br_flood_deliver() argument
210 br_flood(br, skb, NULL, __br_deliver, unicast); in br_flood_deliver()
214 void br_flood_forward(struct net_bridge *br, struct sk_buff *skb, in br_flood_forward() argument
217 br_flood(br, skb, skb2, __br_forward, unicast); in br_flood_forward()
[all …]
Dbr_sysfs_if.c163 br_fdb_delete_by_port(p->br, p, 0); // Don't delete local entry in store_flush()
248 if (p->dev && p->br && brport_attr->store) { in brport_store()
249 spin_lock_bh(&p->br->lock); in brport_store()
251 spin_unlock_bh(&p->br->lock); in brport_store()
272 struct net_bridge *br = p->br; in br_sysfs_addif() local
276 err = sysfs_create_link(&p->kobj, &br->dev->dev.kobj, in br_sysfs_addif()
288 return sysfs_create_link(br->ifobj, &p->kobj, p->sysfs_name); in br_sysfs_addif()
294 struct net_bridge *br = p->br; in br_sysfs_renameif() local
303 err = sysfs_rename_link(br->ifobj, &p->kobj, in br_sysfs_renameif()
306 netdev_notice(br->dev, "unable to rename link %s to %s", in br_sysfs_renameif()
Dbr_private_stp.h48 return !memcmp(&p->designated_bridge, &p->br->bridge_id, 8) && in br_is_designated_port()
54 void br_become_root_bridge(struct net_bridge *br);
62 void br_transmit_tcn(struct net_bridge *br);
63 void br_topology_change_detection(struct net_bridge *br);
Dbr_netfilter.c119 return port ? &port->br->fake_rtable : NULL; in bridge_parent_rtable()
127 return port ? port->br->dev : NULL; in bridge_parent()
435 struct net_device *vlan, *br; in brnf_get_logical_dev() local
437 br = bridge_parent(dev); in brnf_get_logical_dev()
439 return br; in brnf_get_logical_dev()
441 vlan = __vlan_find_dev_deep_rcu(br, skb->vlan_proto, in brnf_get_logical_dev()
444 return vlan ? vlan : br; in brnf_get_logical_dev()
584 struct net_bridge *br; in br_nf_pre_routing() local
593 br = p->br; in br_nf_pre_routing()
596 if (!brnf_call_ip6tables && !br->nf_call_ip6tables) in br_nf_pre_routing()
[all …]
Dbr_nf_core.c76 void br_netfilter_rtable_init(struct net_bridge *br) in br_netfilter_rtable_init() argument
78 struct rtable *rt = &br->fake_rtable; in br_netfilter_rtable_init()
81 rt->dst.dev = br->dev; in br_netfilter_rtable_init()
DMakefile7 bridge-y := br.o br_device.o br_fdb.o br_forward.o br_if.o br_input.o \
/net/bridge/netfilter/
Debt_redirect.c29 br_port_get_rcu(par->in)->br->dev->dev_addr); in ebt_redirect_tg()
Dnft_meta_bridge.c43 strncpy((char *)dest->data, p->br->dev->name, sizeof(dest->data)); in nft_meta_bridge_get_eval()
/net/nfc/
Ddigital_dep.c61 u8 br; member
72 u8 br; member
315 atr_req->br = 0; in digital_in_send_atr_req()

12