Searched refs:br (Results 1 - 200 of 332) sorted by relevance

12

/linux-4.1.27/net/bridge/
H A Dbr_stp.c35 br_info(p->br, "port %u(%s) entered %s state\n", br_log_state()
47 br_warn(p->br, "error setting offload STP state on port %u(%s)\n", br_set_state()
52 struct net_bridge_port *br_get_port(struct net_bridge *br, u16 port_no) br_get_port() argument
56 list_for_each_entry_rcu(p, &br->port_list, list) { br_get_port()
68 struct net_bridge *br; br_should_become_root_port() local
72 br = p->br; br_should_become_root_port()
77 if (memcmp(&br->bridge_id, &p->designated_root, 8) <= 0) br_should_become_root_port()
83 rp = br_get_port(br, root_port); br_should_become_root_port()
115 static void br_root_port_block(const struct net_bridge *br, br_root_port_block() argument
119 br_notice(br, "port %u(%s) tried to become root port (blocked)", br_root_port_block()
126 if (br->forward_delay > 0) br_root_port_block()
127 mod_timer(&p->forward_delay_timer, jiffies + br->forward_delay); br_root_port_block()
131 static void br_root_selection(struct net_bridge *br) br_root_selection() argument
136 list_for_each_entry(p, &br->port_list, list) { br_root_selection()
141 br_root_port_block(br, p); br_root_selection()
146 br->root_port = root_port; br_root_selection()
149 br->designated_root = br->bridge_id; br_root_selection()
150 br->root_path_cost = 0; br_root_selection()
152 p = br_get_port(br, root_port); br_root_selection()
153 br->designated_root = p->designated_root; br_root_selection()
154 br->root_path_cost = p->designated_cost + p->path_cost; br_root_selection()
159 void br_become_root_bridge(struct net_bridge *br) br_become_root_bridge() argument
161 br->max_age = br->bridge_max_age; br_become_root_bridge()
162 br->hello_time = br->bridge_hello_time; br_become_root_bridge()
163 br->forward_delay = br->bridge_forward_delay; br_become_root_bridge()
164 br_topology_change_detection(br); br_become_root_bridge()
165 del_timer(&br->tcn_timer); br_become_root_bridge()
167 if (br->dev->flags & IFF_UP) { br_become_root_bridge()
168 br_config_bpdu_generation(br); br_become_root_bridge()
169 mod_timer(&br->hello_timer, jiffies + br->hello_time); br_become_root_bridge()
177 struct net_bridge *br; br_transmit_config() local
184 br = p->br; br_transmit_config()
186 bpdu.topology_change = br->topology_change; br_transmit_config()
188 bpdu.root = br->designated_root; br_transmit_config()
189 bpdu.root_path_cost = br->root_path_cost; br_transmit_config()
190 bpdu.bridge_id = br->bridge_id; br_transmit_config()
192 if (br_is_root_bridge(br)) br_transmit_config()
196 = br_get_port(br, br->root_port); br_transmit_config()
200 bpdu.max_age = br->max_age; br_transmit_config()
201 bpdu.hello_time = br->hello_time; br_transmit_config()
202 bpdu.forward_delay = br->forward_delay; br_transmit_config()
204 if (bpdu.message_age < br->max_age) { br_transmit_config()
228 static void br_record_config_timeout_values(struct net_bridge *br, br_record_config_timeout_values() argument
231 br->max_age = bpdu->max_age; br_record_config_timeout_values()
232 br->hello_time = bpdu->hello_time; br_record_config_timeout_values()
233 br->forward_delay = bpdu->forward_delay; br_record_config_timeout_values()
234 br->topology_change = bpdu->topology_change; br_record_config_timeout_values()
238 void br_transmit_tcn(struct net_bridge *br) br_transmit_tcn() argument
242 p = br_get_port(br, br->root_port); br_transmit_tcn()
246 br_notice(br, "root port %u not found for topology notice\n", br_transmit_tcn()
247 br->root_port); br_transmit_tcn()
253 struct net_bridge *br; br_should_become_designated_port() local
256 br = p->br; br_should_become_designated_port()
260 if (memcmp(&p->designated_root, &br->designated_root, 8)) br_should_become_designated_port()
263 if (br->root_path_cost < p->designated_cost) br_should_become_designated_port()
265 else if (br->root_path_cost > p->designated_cost) br_should_become_designated_port()
268 t = memcmp(&br->bridge_id, &p->designated_bridge, 8); br_should_become_designated_port()
281 static void br_designated_port_selection(struct net_bridge *br) br_designated_port_selection() argument
285 list_for_each_entry(p, &br->port_list, list) { br_designated_port_selection()
316 if (memcmp(&bpdu->bridge_id, &p->br->bridge_id, 8)) br_supersedes_port_info()
326 static void br_topology_change_acknowledged(struct net_bridge *br) br_topology_change_acknowledged() argument
328 br->topology_change_detected = 0; br_topology_change_acknowledged()
329 del_timer(&br->tcn_timer); br_topology_change_acknowledged()
333 void br_topology_change_detection(struct net_bridge *br) br_topology_change_detection() argument
335 int isroot = br_is_root_bridge(br); br_topology_change_detection()
337 if (br->stp_enabled != BR_KERNEL_STP) br_topology_change_detection()
340 br_info(br, "topology change detected, %s\n", br_topology_change_detection()
344 br->topology_change = 1; br_topology_change_detection()
345 mod_timer(&br->topology_change_timer, jiffies br_topology_change_detection()
346 + br->bridge_forward_delay + br->bridge_max_age); br_topology_change_detection()
347 } else if (!br->topology_change_detected) { br_topology_change_detection()
348 br_transmit_tcn(br); br_topology_change_detection()
349 mod_timer(&br->tcn_timer, jiffies + br->bridge_hello_time); br_topology_change_detection()
352 br->topology_change_detected = 1; br_topology_change_detection()
356 void br_config_bpdu_generation(struct net_bridge *br) br_config_bpdu_generation() argument
360 list_for_each_entry(p, &br->port_list, list) { br_config_bpdu_generation()
374 void br_configuration_update(struct net_bridge *br) br_configuration_update() argument
376 br_root_selection(br); br_configuration_update()
377 br_designated_port_selection(br); br_configuration_update()
383 struct net_bridge *br; br_become_designated_port() local
385 br = p->br; br_become_designated_port()
386 p->designated_root = br->designated_root; br_become_designated_port()
387 p->designated_cost = br->root_path_cost; br_become_designated_port()
388 p->designated_bridge = br->bridge_id; br_become_designated_port()
400 br_topology_change_detection(p->br); br_make_blocking()
413 struct net_bridge *br = p->br; br_make_forwarding() local
418 if (br->stp_enabled == BR_NO_STP || br->forward_delay == 0) { br_make_forwarding()
420 br_topology_change_detection(br); br_make_forwarding()
422 } else if (br->stp_enabled == BR_KERNEL_STP) br_make_forwarding()
431 if (br->forward_delay != 0) br_make_forwarding()
432 mod_timer(&p->forward_delay_timer, jiffies + br->forward_delay); br_make_forwarding()
436 void br_port_state_selection(struct net_bridge *br) br_port_state_selection() argument
441 list_for_each_entry(p, &br->port_list, list) { br_port_state_selection()
446 if (br->stp_enabled != BR_USER_STP) { br_port_state_selection()
447 if (p->port_no == br->root_port) { br_port_state_selection()
466 netif_carrier_off(br->dev); br_port_state_selection()
468 netif_carrier_on(br->dev); br_port_state_selection()
482 struct net_bridge *br; br_received_config_bpdu() local
485 br = p->br; br_received_config_bpdu()
486 was_root = br_is_root_bridge(br); br_received_config_bpdu()
490 br_configuration_update(br); br_received_config_bpdu()
491 br_port_state_selection(br); br_received_config_bpdu()
493 if (!br_is_root_bridge(br) && was_root) { br_received_config_bpdu()
494 del_timer(&br->hello_timer); br_received_config_bpdu()
495 if (br->topology_change_detected) { br_received_config_bpdu()
496 del_timer(&br->topology_change_timer); br_received_config_bpdu()
497 br_transmit_tcn(br); br_received_config_bpdu()
499 mod_timer(&br->tcn_timer, br_received_config_bpdu()
500 jiffies + br->bridge_hello_time); br_received_config_bpdu()
504 if (p->port_no == br->root_port) { br_received_config_bpdu()
505 br_record_config_timeout_values(br, bpdu); br_received_config_bpdu()
506 br_config_bpdu_generation(br); br_received_config_bpdu()
508 br_topology_change_acknowledged(br); br_received_config_bpdu()
519 br_info(p->br, "port %u(%s) received tcn bpdu\n", br_received_tcn_bpdu()
522 br_topology_change_detection(p->br); br_received_tcn_bpdu()
528 int br_set_hello_time(struct net_bridge *br, unsigned long val) br_set_hello_time() argument
535 spin_lock_bh(&br->lock); br_set_hello_time()
536 br->bridge_hello_time = t; br_set_hello_time()
537 if (br_is_root_bridge(br)) br_set_hello_time()
538 br->hello_time = br->bridge_hello_time; br_set_hello_time()
539 spin_unlock_bh(&br->lock); br_set_hello_time()
543 int br_set_max_age(struct net_bridge *br, unsigned long val) br_set_max_age() argument
550 spin_lock_bh(&br->lock); br_set_max_age()
551 br->bridge_max_age = t; br_set_max_age()
552 if (br_is_root_bridge(br)) br_set_max_age()
553 br->max_age = br->bridge_max_age; br_set_max_age()
554 spin_unlock_bh(&br->lock); br_set_max_age()
559 void __br_set_forward_delay(struct net_bridge *br, unsigned long t) __br_set_forward_delay() argument
561 br->bridge_forward_delay = t; __br_set_forward_delay()
562 if (br_is_root_bridge(br)) __br_set_forward_delay()
563 br->forward_delay = br->bridge_forward_delay; __br_set_forward_delay()
566 int br_set_forward_delay(struct net_bridge *br, unsigned long val) br_set_forward_delay() argument
571 spin_lock_bh(&br->lock); br_set_forward_delay()
572 if (br->stp_enabled != BR_NO_STP && br_set_forward_delay()
576 __br_set_forward_delay(br, t); br_set_forward_delay()
580 spin_unlock_bh(&br->lock); br_set_forward_delay()
H A Dbr_stp_timer.c21 static int br_is_designated_for_some_port(const struct net_bridge *br) br_is_designated_for_some_port() argument
25 list_for_each_entry(p, &br->port_list, list) { br_is_designated_for_some_port()
27 !memcmp(&p->designated_bridge, &br->bridge_id, 8)) br_is_designated_for_some_port()
36 struct net_bridge *br = (struct net_bridge *)arg; br_hello_timer_expired() local
38 br_debug(br, "hello timer expired\n"); br_hello_timer_expired()
39 spin_lock(&br->lock); br_hello_timer_expired()
40 if (br->dev->flags & IFF_UP) { br_hello_timer_expired()
41 br_config_bpdu_generation(br); br_hello_timer_expired()
43 mod_timer(&br->hello_timer, round_jiffies(jiffies + br->hello_time)); br_hello_timer_expired()
45 spin_unlock(&br->lock); br_hello_timer_expired()
51 struct net_bridge *br = p->br; br_message_age_timer_expired() local
58 br_info(br, "port %u(%s) neighbor %.2x%.2x.%pM lost\n", br_message_age_timer_expired()
67 spin_lock(&br->lock); br_message_age_timer_expired()
70 was_root = br_is_root_bridge(br); br_message_age_timer_expired()
73 br_configuration_update(br); br_message_age_timer_expired()
74 br_port_state_selection(br); br_message_age_timer_expired()
75 if (br_is_root_bridge(br) && !was_root) br_message_age_timer_expired()
76 br_become_root_bridge(br); br_message_age_timer_expired()
78 spin_unlock(&br->lock); br_message_age_timer_expired()
84 struct net_bridge *br = p->br; br_forward_delay_timer_expired() local
86 br_debug(br, "port %u(%s) forward delay timer\n", br_forward_delay_timer_expired()
88 spin_lock(&br->lock); br_forward_delay_timer_expired()
92 jiffies + br->forward_delay); br_forward_delay_timer_expired()
95 if (br_is_designated_for_some_port(br)) br_forward_delay_timer_expired()
96 br_topology_change_detection(br); br_forward_delay_timer_expired()
97 netif_carrier_on(br->dev); br_forward_delay_timer_expired()
103 spin_unlock(&br->lock); br_forward_delay_timer_expired()
108 struct net_bridge *br = (struct net_bridge *) arg; br_tcn_timer_expired() local
110 br_debug(br, "tcn timer expired\n"); br_tcn_timer_expired()
111 spin_lock(&br->lock); br_tcn_timer_expired()
112 if (!br_is_root_bridge(br) && (br->dev->flags & IFF_UP)) { br_tcn_timer_expired()
113 br_transmit_tcn(br); br_tcn_timer_expired()
115 mod_timer(&br->tcn_timer, jiffies + br->bridge_hello_time); br_tcn_timer_expired()
117 spin_unlock(&br->lock); br_tcn_timer_expired()
122 struct net_bridge *br = (struct net_bridge *) arg; br_topology_change_timer_expired() local
124 br_debug(br, "topo change timer expired\n"); br_topology_change_timer_expired()
125 spin_lock(&br->lock); br_topology_change_timer_expired()
126 br->topology_change_detected = 0; br_topology_change_timer_expired()
127 br->topology_change = 0; br_topology_change_timer_expired()
128 spin_unlock(&br->lock); br_topology_change_timer_expired()
135 br_debug(p->br, "port %u(%s) hold timer expired\n", br_hold_timer_expired()
138 spin_lock(&p->br->lock); br_hold_timer_expired()
141 spin_unlock(&p->br->lock); br_hold_timer_expired()
144 void br_stp_timer_init(struct net_bridge *br) br_stp_timer_init() argument
146 setup_timer(&br->hello_timer, br_hello_timer_expired, br_stp_timer_init()
147 (unsigned long) br); br_stp_timer_init()
149 setup_timer(&br->tcn_timer, br_tcn_timer_expired, br_stp_timer_init()
150 (unsigned long) br); br_stp_timer_init()
152 setup_timer(&br->topology_change_timer, br_stp_timer_init()
154 (unsigned long) br); br_stp_timer_init()
156 setup_timer(&br->gc_timer, br_fdb_cleanup, (unsigned long) br); br_stp_timer_init()
H A Dbr_stp_if.c46 void br_stp_enable_bridge(struct net_bridge *br) br_stp_enable_bridge() argument
50 spin_lock_bh(&br->lock); br_stp_enable_bridge()
51 mod_timer(&br->hello_timer, jiffies + br->hello_time); br_stp_enable_bridge()
52 mod_timer(&br->gc_timer, jiffies + HZ/10); br_stp_enable_bridge()
54 br_config_bpdu_generation(br); br_stp_enable_bridge()
56 list_for_each_entry(p, &br->port_list, list) { br_stp_enable_bridge()
61 spin_unlock_bh(&br->lock); br_stp_enable_bridge()
65 void br_stp_disable_bridge(struct net_bridge *br) br_stp_disable_bridge() argument
69 spin_lock_bh(&br->lock); br_stp_disable_bridge()
70 list_for_each_entry(p, &br->port_list, list) { br_stp_disable_bridge()
76 br->topology_change = 0; br_stp_disable_bridge()
77 br->topology_change_detected = 0; br_stp_disable_bridge()
78 spin_unlock_bh(&br->lock); br_stp_disable_bridge()
80 del_timer_sync(&br->hello_timer); br_stp_disable_bridge()
81 del_timer_sync(&br->topology_change_timer); br_stp_disable_bridge()
82 del_timer_sync(&br->tcn_timer); br_stp_disable_bridge()
83 del_timer_sync(&br->gc_timer); br_stp_disable_bridge()
90 br_port_state_selection(p->br); br_stp_enable_port()
98 struct net_bridge *br = p->br; br_stp_disable_port() local
101 wasroot = br_is_root_bridge(br); br_stp_disable_port()
114 br_fdb_delete_by_port(br, p, 0); br_stp_disable_port()
117 br_configuration_update(br); br_stp_disable_port()
119 br_port_state_selection(br); br_stp_disable_port()
121 if (br_is_root_bridge(br) && !wasroot) br_stp_disable_port()
122 br_become_root_bridge(br); br_stp_disable_port()
125 static void br_stp_start(struct net_bridge *br) br_stp_start() argument
128 char *argv[] = { BR_STP_PROG, br->dev->name, "start", NULL }; br_stp_start()
131 if (net_eq(dev_net(br->dev), &init_net)) br_stp_start()
136 spin_lock_bh(&br->lock); br_stp_start()
138 if (br->bridge_forward_delay < BR_MIN_FORWARD_DELAY) br_stp_start()
139 __br_set_forward_delay(br, BR_MIN_FORWARD_DELAY); br_stp_start()
140 else if (br->bridge_forward_delay > BR_MAX_FORWARD_DELAY) br_stp_start()
141 __br_set_forward_delay(br, BR_MAX_FORWARD_DELAY); br_stp_start()
144 br->stp_enabled = BR_USER_STP; br_stp_start()
145 br_debug(br, "userspace STP started\n"); br_stp_start()
147 br->stp_enabled = BR_KERNEL_STP; br_stp_start()
148 br_debug(br, "using kernel STP\n"); br_stp_start()
151 br_port_state_selection(br); br_stp_start()
154 spin_unlock_bh(&br->lock); br_stp_start()
157 static void br_stp_stop(struct net_bridge *br) br_stp_stop() argument
160 char *argv[] = { BR_STP_PROG, br->dev->name, "stop", NULL }; br_stp_stop()
163 if (br->stp_enabled == BR_USER_STP) { br_stp_stop()
165 br_info(br, "userspace STP stopped, return code %d\n", r); br_stp_stop()
168 spin_lock_bh(&br->lock); br_stp_stop()
169 br_port_state_selection(br); br_stp_stop()
170 spin_unlock_bh(&br->lock); br_stp_stop()
173 br->stp_enabled = BR_NO_STP; br_stp_stop()
176 void br_stp_set_enabled(struct net_bridge *br, unsigned long val) br_stp_set_enabled() argument
181 if (br->stp_enabled == BR_NO_STP) br_stp_set_enabled()
182 br_stp_start(br); br_stp_set_enabled()
184 if (br->stp_enabled != BR_NO_STP) br_stp_set_enabled()
185 br_stp_stop(br); br_stp_set_enabled()
190 void br_stp_change_bridge_id(struct net_bridge *br, const unsigned char *addr) br_stp_change_bridge_id() argument
198 wasroot = br_is_root_bridge(br); br_stp_change_bridge_id()
200 br_fdb_change_mac_address(br, addr); br_stp_change_bridge_id()
202 memcpy(oldaddr, br->bridge_id.addr, ETH_ALEN); br_stp_change_bridge_id()
203 memcpy(br->bridge_id.addr, addr, ETH_ALEN); br_stp_change_bridge_id()
204 memcpy(br->dev->dev_addr, addr, ETH_ALEN); br_stp_change_bridge_id()
206 list_for_each_entry(p, &br->port_list, list) { br_stp_change_bridge_id()
214 br_configuration_update(br); br_stp_change_bridge_id()
215 br_port_state_selection(br); br_stp_change_bridge_id()
216 if (br_is_root_bridge(br) && !wasroot) br_stp_change_bridge_id()
217 br_become_root_bridge(br); br_stp_change_bridge_id()
224 bool br_stp_recalculate_bridge_id(struct net_bridge *br) br_stp_recalculate_bridge_id() argument
232 if (br->dev->addr_assign_type == NET_ADDR_SET) br_stp_recalculate_bridge_id()
235 list_for_each_entry(p, &br->port_list, list) { br_stp_recalculate_bridge_id()
242 if (ether_addr_equal(br->bridge_id.addr, addr)) br_stp_recalculate_bridge_id()
245 br_stp_change_bridge_id(br, addr); br_stp_recalculate_bridge_id()
250 void br_stp_set_bridge_priority(struct net_bridge *br, u16 newprio) br_stp_set_bridge_priority() argument
255 spin_lock_bh(&br->lock); br_stp_set_bridge_priority()
256 wasroot = br_is_root_bridge(br); br_stp_set_bridge_priority()
258 list_for_each_entry(p, &br->port_list, list) { br_stp_set_bridge_priority()
267 br->bridge_id.prio[0] = (newprio >> 8) & 0xFF; br_stp_set_bridge_priority()
268 br->bridge_id.prio[1] = newprio & 0xFF; br_stp_set_bridge_priority()
269 br_configuration_update(br); br_stp_set_bridge_priority()
270 br_port_state_selection(br); br_stp_set_bridge_priority()
271 if (br_is_root_bridge(br) && !wasroot) br_stp_set_bridge_priority()
272 br_become_root_bridge(br); br_stp_set_bridge_priority()
273 spin_unlock_bh(&br->lock); br_stp_set_bridge_priority()
290 if (!memcmp(&p->br->bridge_id, &p->designated_bridge, 8) && br_stp_set_port_priority()
293 br_port_state_selection(p->br); br_stp_set_port_priority()
308 br_configuration_update(p->br); br_stp_set_path_cost()
309 br_port_state_selection(p->br); br_stp_set_path_cost()
H A Dbr_device.c36 struct net_bridge *br = netdev_priv(dev); br_dev_xmit() local
40 struct pcpu_sw_netstats *brstats = this_cpu_ptr(br->stats); br_dev_xmit()
61 if (!br_allowed_ingress(br, br_get_vlan_info(br), skb, &vid)) br_dev_xmit()
65 br_flood_deliver(br, skb, false); br_dev_xmit()
68 br_flood_deliver(br, skb, false); br_dev_xmit()
71 if (br_multicast_rcv(br, NULL, skb, vid)) { br_dev_xmit()
76 mdst = br_mdb_get(br, skb, vid); br_dev_xmit()
78 br_multicast_querier_exists(br, eth_hdr(skb))) br_dev_xmit()
81 br_flood_deliver(br, skb, false); br_dev_xmit()
82 } else if ((dst = __br_fdb_get(br, dest, vid)) != NULL) br_dev_xmit()
85 br_flood_deliver(br, skb, true); br_dev_xmit()
99 struct net_bridge *br = netdev_priv(dev); br_dev_init() local
102 br->stats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats); br_dev_init()
103 if (!br->stats) br_dev_init()
106 err = br_vlan_init(br); br_dev_init()
108 free_percpu(br->stats); br_dev_init()
116 struct net_bridge *br = netdev_priv(dev); br_dev_open() local
120 br_stp_enable_bridge(br); br_dev_open()
121 br_multicast_open(br); br_dev_open()
138 struct net_bridge *br = netdev_priv(dev); br_dev_stop() local
140 br_stp_disable_bridge(br); br_dev_stop()
141 br_multicast_stop(br); br_dev_stop()
151 struct net_bridge *br = netdev_priv(dev); br_get_stats64() local
158 = per_cpu_ptr(br->stats, cpu); for_each_possible_cpu()
179 struct net_bridge *br = netdev_priv(dev); br_change_mtu() local
180 if (new_mtu < 68 || new_mtu > br_min_mtu(br)) br_change_mtu()
187 dst_metric_set(&br->fake_rtable.dst, RTAX_MTU, new_mtu); br_change_mtu()
196 struct net_bridge *br = netdev_priv(dev); br_set_mac_address() local
202 spin_lock_bh(&br->lock); br_set_mac_address()
205 br_stp_change_bridge_id(br, addr->sa_data); br_set_mac_address()
207 spin_unlock_bh(&br->lock); br_set_mac_address()
223 struct net_bridge *br = netdev_priv(dev); br_fix_features() local
225 return br_features_recompute(br, features); br_fix_features()
235 struct net_bridge *br = netdev_priv(dev); br_netpoll_cleanup() local
238 list_for_each_entry(p, &br->port_list, list) br_netpoll_cleanup()
263 if (!p->br->dev->npinfo) br_netpoll_enable()
271 struct net_bridge *br = netdev_priv(dev); br_netpoll_setup() local
275 list_for_each_entry(p, &br->port_list, list) { br_netpoll_setup()
308 struct net_bridge *br = netdev_priv(dev); br_add_slave() local
310 return br_add_if(br, slave_dev); br_add_slave()
315 struct net_bridge *br = netdev_priv(dev); br_del_slave() local
317 return br_del_if(br, slave_dev); br_del_slave()
354 struct net_bridge *br = netdev_priv(dev); br_dev_free() local
356 free_percpu(br->stats); br_dev_free()
366 struct net_bridge *br = netdev_priv(dev); br_dev_setup() local
384 br->dev = dev; br_dev_setup()
385 spin_lock_init(&br->lock); br_dev_setup()
386 INIT_LIST_HEAD(&br->port_list); br_dev_setup()
387 spin_lock_init(&br->hash_lock); br_dev_setup()
389 br->bridge_id.prio[0] = 0x80; br_dev_setup()
390 br->bridge_id.prio[1] = 0x00; br_dev_setup()
392 ether_addr_copy(br->group_addr, eth_reserved_addr_base); br_dev_setup()
394 br->stp_enabled = BR_NO_STP; br_dev_setup()
395 br->group_fwd_mask = BR_GROUPFWD_DEFAULT; br_dev_setup()
396 br->group_fwd_mask_required = BR_GROUPFWD_DEFAULT; br_dev_setup()
398 br->designated_root = br->bridge_id; br_dev_setup()
399 br->bridge_max_age = br->max_age = 20 * HZ; br_dev_setup()
400 br->bridge_hello_time = br->hello_time = 2 * HZ; br_dev_setup()
401 br->bridge_forward_delay = br->forward_delay = 15 * HZ; br_dev_setup()
402 br->ageing_time = 300 * HZ; br_dev_setup()
404 br_netfilter_rtable_init(br); br_dev_setup()
405 br_stp_timer_init(br); br_dev_setup()
406 br_multicast_init(br); br_dev_setup()
H A Dbr_vlan.c42 struct net_bridge *br; __vlan_add() local
53 br = p->br; __vlan_add()
56 br = v->parent.br; __vlan_add()
57 dev = br->dev; __vlan_add()
65 err = vlan_vid_add(dev, br->vlan_proto, vid); __vlan_add()
70 err = br_fdb_insert(br, p, dev->dev_addr, vid); __vlan_add()
72 br_err(br, "failed insert local address into bridge " __vlan_add()
85 vlan_vid_del(dev, br->vlan_proto, vid); __vlan_add()
99 vlan_vid_del(p->dev, p->br->vlan_proto, vid); __vlan_del()
108 RCU_INIT_POINTER(v->parent.br->vlan_info, NULL); __vlan_del()
122 RCU_INIT_POINTER(v->parent.br->vlan_info, NULL); __vlan_flush()
126 struct sk_buff *br_handle_vlan(struct net_bridge *br, br_handle_vlan() argument
142 if ((br->dev->flags & IFF_PROMISC) && skb->dev == br->dev) { br_handle_vlan()
163 bool br_allowed_ingress(struct net_bridge *br, struct net_port_vlans *v, br_allowed_ingress() argument
172 if (!br->vlan_enabled) { br_allowed_ingress()
184 proto = br->vlan_proto; br_allowed_ingress()
256 bool br_allowed_egress(struct net_bridge *br, br_allowed_egress() argument
279 struct net_bridge *br = p->br; br_should_learn() local
283 if (!br->vlan_enabled) br_should_learn()
290 if (!br_vlan_get_tag(skb, vid) && skb->vlan_proto != br->vlan_proto) br_should_learn()
310 int br_vlan_add(struct net_bridge *br, u16 vid, u16 flags) br_vlan_add() argument
317 pv = rtnl_dereference(br->vlan_info); br_vlan_add()
327 pv->parent.br = br; br_vlan_add()
332 rcu_assign_pointer(br->vlan_info, pv); br_vlan_add()
342 int br_vlan_delete(struct net_bridge *br, u16 vid) br_vlan_delete() argument
348 pv = rtnl_dereference(br->vlan_info); br_vlan_delete()
352 br_fdb_find_delete_local(br, NULL, br->dev->dev_addr, vid); br_vlan_delete()
358 void br_vlan_flush(struct net_bridge *br) br_vlan_flush() argument
363 pv = rtnl_dereference(br->vlan_info); br_vlan_flush()
370 bool br_vlan_find(struct net_bridge *br, u16 vid) br_vlan_find() argument
376 pv = rcu_dereference(br->vlan_info); br_vlan_find()
390 static void recalculate_group_addr(struct net_bridge *br) recalculate_group_addr() argument
392 if (br->group_addr_set) recalculate_group_addr()
395 spin_lock_bh(&br->lock); recalculate_group_addr()
396 if (!br->vlan_enabled || br->vlan_proto == htons(ETH_P_8021Q)) { recalculate_group_addr()
398 br->group_addr[5] = 0x00; recalculate_group_addr()
401 br->group_addr[5] = 0x08; recalculate_group_addr()
403 spin_unlock_bh(&br->lock); recalculate_group_addr()
407 void br_recalculate_fwd_mask(struct net_bridge *br) br_recalculate_fwd_mask() argument
409 if (!br->vlan_enabled || br->vlan_proto == htons(ETH_P_8021Q)) br_recalculate_fwd_mask()
410 br->group_fwd_mask_required = BR_GROUPFWD_DEFAULT; br_recalculate_fwd_mask()
412 br->group_fwd_mask_required = BR_GROUPFWD_8021AD & br_recalculate_fwd_mask()
413 ~(1u << br->group_addr[5]); br_recalculate_fwd_mask()
416 int br_vlan_filter_toggle(struct net_bridge *br, unsigned long val) br_vlan_filter_toggle() argument
421 if (br->vlan_enabled == val) br_vlan_filter_toggle()
424 br->vlan_enabled = val; br_vlan_filter_toggle()
425 br_manage_promisc(br); br_vlan_filter_toggle()
426 recalculate_group_addr(br); br_vlan_filter_toggle()
427 br_recalculate_fwd_mask(br); br_vlan_filter_toggle()
434 int br_vlan_set_proto(struct net_bridge *br, unsigned long val) br_vlan_set_proto() argument
449 if (br->vlan_proto == proto) br_vlan_set_proto()
453 list_for_each_entry(p, &br->port_list, list) { br_vlan_set_proto()
465 oldproto = br->vlan_proto; br_vlan_set_proto()
466 br->vlan_proto = proto; br_vlan_set_proto()
468 recalculate_group_addr(br); br_vlan_set_proto()
469 br_recalculate_fwd_mask(br); br_vlan_set_proto()
472 list_for_each_entry(p, &br->port_list, list) { br_vlan_set_proto()
490 list_for_each_entry_continue_reverse(p, &br->port_list, list) { br_vlan_set_proto()
507 static void br_vlan_disable_default_pvid(struct net_bridge *br) br_vlan_disable_default_pvid() argument
510 u16 pvid = br->default_pvid; br_vlan_disable_default_pvid()
515 if (vlan_default_pvid(br_get_vlan_info(br), pvid)) br_vlan_disable_default_pvid()
516 br_vlan_delete(br, pvid); br_vlan_disable_default_pvid()
518 list_for_each_entry(p, &br->port_list, list) { br_vlan_disable_default_pvid()
523 br->default_pvid = 0; br_vlan_disable_default_pvid()
526 static int __br_vlan_set_default_pvid(struct net_bridge *br, u16 pvid) __br_vlan_set_default_pvid() argument
538 old_pvid = br->default_pvid; __br_vlan_set_default_pvid()
543 if ((!old_pvid || vlan_default_pvid(br_get_vlan_info(br), old_pvid)) && __br_vlan_set_default_pvid()
544 !br_vlan_find(br, pvid)) { __br_vlan_set_default_pvid()
545 err = br_vlan_add(br, pvid, __br_vlan_set_default_pvid()
550 br_vlan_delete(br, old_pvid); __br_vlan_set_default_pvid()
554 list_for_each_entry(p, &br->port_list, list) { __br_vlan_set_default_pvid()
572 br->default_pvid = pvid; __br_vlan_set_default_pvid()
579 list_for_each_entry_continue_reverse(p, &br->port_list, list) { __br_vlan_set_default_pvid()
592 br_vlan_add(br, old_pvid, __br_vlan_set_default_pvid()
595 br_vlan_delete(br, pvid); __br_vlan_set_default_pvid()
600 int br_vlan_set_default_pvid(struct net_bridge *br, unsigned long val) br_vlan_set_default_pvid() argument
611 if (pvid == br->default_pvid) br_vlan_set_default_pvid()
615 if (br->vlan_enabled) { br_vlan_set_default_pvid()
622 br_vlan_disable_default_pvid(br); br_vlan_set_default_pvid()
624 err = __br_vlan_set_default_pvid(br, pvid); br_vlan_set_default_pvid()
631 int br_vlan_init(struct net_bridge *br) br_vlan_init() argument
633 br->vlan_proto = htons(ETH_P_8021Q); br_vlan_init()
634 br->default_pvid = 1; br_vlan_init()
635 return br_vlan_add(br, 1, br_vlan_init()
688 br_fdb_find_delete_local(port->br, port, port->dev->dev_addr, vid); nbp_vlan_delete()
705 vlan_vid_del(port->dev, port->br->vlan_proto, vid); nbp_vlan_flush()
731 return p->br->default_pvid ? nbp_vlan_init()
732 nbp_vlan_add(p, p->br->default_pvid, nbp_vlan_init()
H A 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, br_mdb_get() argument
141 struct net_bridge_mdb_htable *mdb = rcu_dereference(br->mdb); br_mdb_get()
144 if (br->multicast_disabled) br_mdb_get()
228 struct net_bridge *br = mp->br; br_multicast_group_expired() local
231 spin_lock(&br->multicast_lock); br_multicast_group_expired()
232 if (!netif_running(br->dev) || timer_pending(&mp->timer)) br_multicast_group_expired()
240 mdb = mlock_dereference(br->mdb, br); br_multicast_group_expired()
248 spin_unlock(&br->multicast_lock); br_multicast_group_expired()
251 static void br_multicast_del_pg(struct net_bridge *br, br_multicast_del_pg() argument
259 mdb = mlock_dereference(br->mdb, br); br_multicast_del_pg()
266 (p = mlock_dereference(*pp, br)) != NULL; br_multicast_del_pg()
277 netif_running(br->dev)) br_multicast_del_pg()
289 struct net_bridge *br = pg->port->br; br_multicast_port_group_expired() local
291 spin_lock(&br->multicast_lock); br_multicast_port_group_expired()
292 if (!netif_running(br->dev) || timer_pending(&pg->timer) || br_multicast_port_group_expired()
296 br_multicast_del_pg(br, pg); br_multicast_port_group_expired()
299 spin_unlock(&br->multicast_lock); br_multicast_port_group_expired()
349 static struct sk_buff *br_ip4_multicast_alloc_query(struct net_bridge *br, br_ip4_multicast_alloc_query() argument
357 skb = netdev_alloc_skb_ip_align(br->dev, sizeof(*eth) + sizeof(*iph) + br_ip4_multicast_alloc_query()
367 ether_addr_copy(eth->h_source, br->dev->dev_addr); br_ip4_multicast_alloc_query()
388 iph->saddr = br->multicast_query_use_ifaddr ? br_ip4_multicast_alloc_query()
389 inet_select_addr(br->dev, 0, RT_SCOPE_LINK) : 0; br_ip4_multicast_alloc_query()
401 ih->code = (group ? br->multicast_last_member_interval : br_ip4_multicast_alloc_query()
402 br->multicast_query_response_interval) / br_ip4_multicast_alloc_query()
416 static struct sk_buff *br_ip6_multicast_alloc_query(struct net_bridge *br, br_ip6_multicast_alloc_query() argument
426 skb = netdev_alloc_skb_ip_align(br->dev, sizeof(*eth) + sizeof(*ip6h) + br_ip6_multicast_alloc_query()
437 ether_addr_copy(eth->h_source, br->dev->dev_addr); br_ip6_multicast_alloc_query()
450 if (ipv6_dev_get_saddr(dev_net(br->dev), br->dev, &ip6h->daddr, 0, br_ip6_multicast_alloc_query()
474 br->multicast_query_response_interval : br_ip6_multicast_alloc_query()
475 br->multicast_last_member_interval; br_ip6_multicast_alloc_query()
498 static struct sk_buff *br_multicast_alloc_query(struct net_bridge *br, br_multicast_alloc_query() argument
503 return br_ip4_multicast_alloc_query(br, addr->u.ip4); br_multicast_alloc_query()
506 return br_ip6_multicast_alloc_query(br, &addr->u.ip6); br_multicast_alloc_query()
513 struct net_bridge *br, struct net_bridge_port *port, br_multicast_get_group()
523 mdb = rcu_dereference_protected(br->mdb, 1); br_multicast_get_group()
533 if (unlikely(count > br->hash_elasticity && count)) { br_multicast_get_group()
535 br_info(br, "Multicast hash table " br_multicast_get_group()
537 port ? port->dev->name : br->dev->name); br_multicast_get_group()
539 elasticity = br->hash_elasticity; br_multicast_get_group()
544 if (unlikely(max > br->hash_max)) { br_multicast_get_group()
545 br_warn(br, "Multicast hash table maximum of %d " br_multicast_get_group()
547 br->hash_max, br_multicast_get_group()
548 port ? port->dev->name : br->dev->name); br_multicast_get_group()
551 br->multicast_disabled = 1; br_multicast_get_group()
559 br_info(br, "Multicast hash table " br_multicast_get_group()
561 port ? port->dev->name : br->dev->name); br_multicast_get_group()
566 err = br_mdb_rehash(&br->mdb, max, elasticity); br_multicast_get_group()
568 br_warn(br, "Cannot rehash multicast " br_multicast_get_group()
570 port ? port->dev->name : br->dev->name, br_multicast_get_group()
586 struct net_bridge_mdb_entry *br_multicast_new_group(struct net_bridge *br, br_multicast_new_group() argument
594 mdb = rcu_dereference_protected(br->mdb, 1); br_multicast_new_group()
596 err = br_mdb_rehash(&br->mdb, BR_HASH_SIZE, 0); br_multicast_new_group()
603 mp = br_multicast_get_group(br, port, group, hash); br_multicast_new_group()
610 mdb = rcu_dereference_protected(br->mdb, 1); br_multicast_new_group()
622 mp->br = br; br_multicast_new_group()
656 static int br_multicast_add_group(struct net_bridge *br, br_multicast_add_group() argument
666 spin_lock(&br->multicast_lock); br_multicast_add_group()
667 if (!netif_running(br->dev) || br_multicast_add_group()
671 mp = br_multicast_new_group(br, port, group); br_multicast_add_group()
678 mod_timer(&mp->timer, now + br->multicast_membership_interval); br_multicast_add_group()
683 (p = mlock_dereference(*pp, br)) != NULL; br_multicast_add_group()
695 br_mdb_notify(br->dev, port, group, RTM_NEWMDB); br_multicast_add_group()
698 mod_timer(&p->timer, now + br->multicast_membership_interval); br_multicast_add_group()
703 spin_unlock(&br->multicast_lock); br_multicast_add_group()
707 static int br_ip4_multicast_add_group(struct net_bridge *br, br_ip4_multicast_add_group() argument
721 return br_multicast_add_group(br, port, &br_group); br_ip4_multicast_add_group()
725 static int br_ip6_multicast_add_group(struct net_bridge *br, br_ip6_multicast_add_group() argument
739 return br_multicast_add_group(br, port, &br_group); br_ip6_multicast_add_group()
746 struct net_bridge *br = port->br; br_multicast_router_expired() local
748 spin_lock(&br->multicast_lock); br_multicast_router_expired()
757 spin_unlock(&br->multicast_lock); br_multicast_router_expired()
764 static void br_multicast_querier_expired(struct net_bridge *br, br_multicast_querier_expired() argument
767 spin_lock(&br->multicast_lock); br_multicast_querier_expired()
768 if (!netif_running(br->dev) || br->multicast_disabled) br_multicast_querier_expired()
771 br_multicast_start_querier(br, query); br_multicast_querier_expired()
774 spin_unlock(&br->multicast_lock); br_multicast_querier_expired()
779 struct net_bridge *br = (void *)data; br_ip4_multicast_querier_expired() local
781 br_multicast_querier_expired(br, &br->ip4_own_query); br_ip4_multicast_querier_expired()
787 struct net_bridge *br = (void *)data; br_ip6_multicast_querier_expired() local
789 br_multicast_querier_expired(br, &br->ip6_own_query); br_ip6_multicast_querier_expired()
793 static void br_multicast_select_own_querier(struct net_bridge *br, br_multicast_select_own_querier() argument
798 br->ip4_querier.addr.u.ip4 = ip_hdr(skb)->saddr; br_multicast_select_own_querier()
801 br->ip6_querier.addr.u.ip6 = ipv6_hdr(skb)->saddr; br_multicast_select_own_querier()
805 static void __br_multicast_send_query(struct net_bridge *br, __br_multicast_send_query() argument
811 skb = br_multicast_alloc_query(br, ip); __br_multicast_send_query()
821 br_multicast_select_own_querier(br, ip, skb); __br_multicast_send_query()
826 static void br_multicast_send_query(struct net_bridge *br, br_multicast_send_query() argument
834 if (!netif_running(br->dev) || br->multicast_disabled || br_multicast_send_query()
835 !br->multicast_querier) br_multicast_send_query()
841 (own_query == &br->ip4_own_query)) { br_multicast_send_query()
842 other_query = &br->ip4_other_query; br_multicast_send_query()
846 other_query = &br->ip6_other_query; br_multicast_send_query()
854 __br_multicast_send_query(br, port, &br_group); br_multicast_send_query()
857 time += own_query->startup_sent < br->multicast_startup_query_count ? br_multicast_send_query()
858 br->multicast_startup_query_interval : br_multicast_send_query()
859 br->multicast_query_interval; br_multicast_send_query()
867 struct net_bridge *br = port->br; br_multicast_port_query_expired() local
869 spin_lock(&br->multicast_lock); br_multicast_port_query_expired()
874 if (query->startup_sent < br->multicast_startup_query_count) br_multicast_port_query_expired()
877 br_multicast_send_query(port->br, port, query); br_multicast_port_query_expired()
880 spin_unlock(&br->multicast_lock); br_multicast_port_query_expired()
929 struct net_bridge *br = port->br; br_multicast_enable_port() local
931 spin_lock(&br->multicast_lock); br_multicast_enable_port()
932 if (br->multicast_disabled || !netif_running(br->dev)) br_multicast_enable_port()
941 spin_unlock(&br->multicast_lock); br_multicast_enable_port()
946 struct net_bridge *br = port->br; br_multicast_disable_port() local
950 spin_lock(&br->multicast_lock); br_multicast_disable_port()
952 br_multicast_del_pg(br, pg); br_multicast_disable_port()
961 spin_unlock(&br->multicast_lock); br_multicast_disable_port()
964 static int br_ip4_multicast_igmp3_report(struct net_bridge *br, br_ip4_multicast_igmp3_report() argument
1012 err = br_ip4_multicast_add_group(br, port, group, vid); br_ip4_multicast_igmp3_report()
1021 static int br_ip6_multicast_mld2_report(struct net_bridge *br, br_ip6_multicast_mld2_report() argument
1073 err = br_ip6_multicast_add_group(br, port, &grec->grec_mca, br_ip6_multicast_mld2_report()
1083 static bool br_ip4_multicast_select_querier(struct net_bridge *br, br_ip4_multicast_select_querier() argument
1087 if (!timer_pending(&br->ip4_own_query.timer) && br_ip4_multicast_select_querier()
1088 !timer_pending(&br->ip4_other_query.timer)) br_ip4_multicast_select_querier()
1091 if (!br->ip4_querier.addr.u.ip4) br_ip4_multicast_select_querier()
1094 if (ntohl(saddr) <= ntohl(br->ip4_querier.addr.u.ip4)) br_ip4_multicast_select_querier()
1100 br->ip4_querier.addr.u.ip4 = saddr; br_ip4_multicast_select_querier()
1103 rcu_assign_pointer(br->ip4_querier.port, port); br_ip4_multicast_select_querier()
1109 static bool br_ip6_multicast_select_querier(struct net_bridge *br, br_ip6_multicast_select_querier() argument
1113 if (!timer_pending(&br->ip6_own_query.timer) && br_ip6_multicast_select_querier()
1114 !timer_pending(&br->ip6_other_query.timer)) br_ip6_multicast_select_querier()
1117 if (ipv6_addr_cmp(saddr, &br->ip6_querier.addr.u.ip6) <= 0) br_ip6_multicast_select_querier()
1123 br->ip6_querier.addr.u.ip6 = *saddr; br_ip6_multicast_select_querier()
1126 rcu_assign_pointer(br->ip6_querier.port, port); br_ip6_multicast_select_querier()
1132 static bool br_multicast_select_querier(struct net_bridge *br, br_multicast_select_querier() argument
1138 return br_ip4_multicast_select_querier(br, port, saddr->u.ip4); br_multicast_select_querier()
1141 return br_ip6_multicast_select_querier(br, port, &saddr->u.ip6); br_multicast_select_querier()
1149 br_multicast_update_query_timer(struct net_bridge *br, br_multicast_update_query_timer() argument
1156 mod_timer(&query->timer, jiffies + br->multicast_querier_interval); br_multicast_update_query_timer()
1162 * and locked by br->multicast_lock and RCU
1164 static void br_multicast_add_router(struct net_bridge *br, br_multicast_add_router() argument
1173 hlist_for_each_entry(p, &br->router_list, rlist) { br_multicast_add_router()
1182 hlist_add_head_rcu(&port->rlist, &br->router_list); br_multicast_add_router()
1185 static void br_multicast_mark_router(struct net_bridge *br, br_multicast_mark_router() argument
1191 if (br->multicast_router == 1) br_multicast_mark_router()
1192 mod_timer(&br->multicast_router_timer, br_multicast_mark_router()
1193 now + br->multicast_querier_interval); br_multicast_mark_router()
1200 br_multicast_add_router(br, port); br_multicast_mark_router()
1203 now + br->multicast_querier_interval); br_multicast_mark_router()
1206 static void br_multicast_query_received(struct net_bridge *br, br_multicast_query_received() argument
1212 if (!br_multicast_select_querier(br, port, saddr)) br_multicast_query_received()
1215 br_multicast_update_query_timer(br, query, max_delay); br_multicast_query_received()
1216 br_multicast_mark_router(br, port); br_multicast_query_received()
1219 static int br_ip4_multicast_query(struct net_bridge *br, br_ip4_multicast_query() argument
1236 spin_lock(&br->multicast_lock); br_ip4_multicast_query()
1237 if (!netif_running(br->dev) || br_ip4_multicast_query()
1276 br_multicast_query_received(br, port, &br->ip4_other_query, br_ip4_multicast_query()
1281 mp = br_mdb_ip4_get(mlock_dereference(br->mdb, br), group, vid); br_ip4_multicast_query()
1285 max_delay *= br->multicast_last_member_count; br_ip4_multicast_query()
1294 (p = mlock_dereference(*pp, br)) != NULL; br_ip4_multicast_query()
1303 spin_unlock(&br->multicast_lock); br_ip4_multicast_query()
1308 static int br_ip6_multicast_query(struct net_bridge *br, br_ip6_multicast_query() argument
1326 spin_lock(&br->multicast_lock); br_ip6_multicast_query()
1327 if (!netif_running(br->dev) || br_ip6_multicast_query()
1372 br_multicast_query_received(br, port, &br->ip6_other_query, br_ip6_multicast_query()
1379 mp = br_mdb_ip6_get(mlock_dereference(br->mdb, br), group, vid); br_ip6_multicast_query()
1383 max_delay *= br->multicast_last_member_count; br_ip6_multicast_query()
1391 (p = mlock_dereference(*pp, br)) != NULL; br_ip6_multicast_query()
1400 spin_unlock(&br->multicast_lock); br_ip6_multicast_query()
1406 br_multicast_leave_group(struct net_bridge *br, br_multicast_leave_group() argument
1418 spin_lock(&br->multicast_lock); br_multicast_leave_group()
1419 if (!netif_running(br->dev) || br_multicast_leave_group()
1424 mdb = mlock_dereference(br->mdb, br); br_multicast_leave_group()
1429 if (br->multicast_querier) { br_multicast_leave_group()
1430 __br_multicast_send_query(br, port, &mp->addr); br_multicast_leave_group()
1432 time = jiffies + br->multicast_last_member_count * br_multicast_leave_group()
1433 br->multicast_last_member_interval; br_multicast_leave_group()
1437 for (p = mlock_dereference(mp->ports, br); br_multicast_leave_group()
1439 p = mlock_dereference(p->next, br)) { br_multicast_leave_group()
1458 (p = mlock_dereference(*pp, br)) != NULL; br_multicast_leave_group()
1467 br_mdb_notify(br->dev, port, group, RTM_DELMDB); br_multicast_leave_group()
1470 netif_running(br->dev)) br_multicast_leave_group()
1477 time = now + br->multicast_last_member_count * br_multicast_leave_group()
1478 br->multicast_last_member_interval; br_multicast_leave_group()
1491 for (p = mlock_dereference(mp->ports, br); br_multicast_leave_group()
1493 p = mlock_dereference(p->next, br)) { br_multicast_leave_group()
1507 spin_unlock(&br->multicast_lock); br_multicast_leave_group()
1510 static void br_ip4_multicast_leave_group(struct net_bridge *br, br_ip4_multicast_leave_group() argument
1521 own_query = port ? &port->ip4_own_query : &br->ip4_own_query; br_ip4_multicast_leave_group()
1527 br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query, br_ip4_multicast_leave_group()
1532 static void br_ip6_multicast_leave_group(struct net_bridge *br, br_ip6_multicast_leave_group() argument
1543 own_query = port ? &port->ip6_own_query : &br->ip6_own_query; br_ip6_multicast_leave_group()
1549 br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query, br_ip6_multicast_leave_group()
1554 static int br_multicast_ipv4_rcv(struct net_bridge *br, br_multicast_ipv4_rcv() argument
1632 err = br_ip4_multicast_add_group(br, port, ih->group, vid); br_multicast_ipv4_rcv()
1635 err = br_ip4_multicast_igmp3_report(br, port, skb2, vid); br_multicast_ipv4_rcv()
1638 err = br_ip4_multicast_query(br, port, skb2, vid); br_multicast_ipv4_rcv()
1641 br_ip4_multicast_leave_group(br, port, ih->group, vid); br_multicast_ipv4_rcv()
1654 static int br_multicast_ipv6_rcv(struct net_bridge *br, br_multicast_ipv6_rcv() argument
1768 err = br_ip6_multicast_add_group(br, port, &mld->mld_mca, vid); br_multicast_ipv6_rcv()
1772 err = br_ip6_multicast_mld2_report(br, port, skb2, vid); br_multicast_ipv6_rcv()
1775 err = br_ip6_multicast_query(br, port, skb2, vid); br_multicast_ipv6_rcv()
1785 br_ip6_multicast_leave_group(br, port, &mld->mld_mca, vid); br_multicast_ipv6_rcv()
1795 int br_multicast_rcv(struct net_bridge *br, struct net_bridge_port *port, br_multicast_rcv() argument
1801 if (br->multicast_disabled) br_multicast_rcv()
1806 return br_multicast_ipv4_rcv(br, port, skb, vid); br_multicast_rcv()
1809 return br_multicast_ipv6_rcv(br, port, skb, vid); br_multicast_rcv()
1816 static void br_multicast_query_expired(struct net_bridge *br, br_multicast_query_expired() argument
1820 spin_lock(&br->multicast_lock); br_multicast_query_expired()
1821 if (query->startup_sent < br->multicast_startup_query_count) br_multicast_query_expired()
1825 br_multicast_send_query(br, NULL, query); br_multicast_query_expired()
1826 spin_unlock(&br->multicast_lock); br_multicast_query_expired()
1831 struct net_bridge *br = (void *)data; br_ip4_multicast_query_expired() local
1833 br_multicast_query_expired(br, &br->ip4_own_query, &br->ip4_querier); br_ip4_multicast_query_expired()
1839 struct net_bridge *br = (void *)data; br_ip6_multicast_query_expired() local
1841 br_multicast_query_expired(br, &br->ip6_own_query, &br->ip6_querier); br_ip6_multicast_query_expired()
1845 void br_multicast_init(struct net_bridge *br) br_multicast_init() argument
1847 br->hash_elasticity = 4; br_multicast_init()
1848 br->hash_max = 512; br_multicast_init()
1850 br->multicast_router = 1; br_multicast_init()
1851 br->multicast_querier = 0; br_multicast_init()
1852 br->multicast_query_use_ifaddr = 0; br_multicast_init()
1853 br->multicast_last_member_count = 2; br_multicast_init()
1854 br->multicast_startup_query_count = 2; br_multicast_init()
1856 br->multicast_last_member_interval = HZ; br_multicast_init()
1857 br->multicast_query_response_interval = 10 * HZ; br_multicast_init()
1858 br->multicast_startup_query_interval = 125 * HZ / 4; br_multicast_init()
1859 br->multicast_query_interval = 125 * HZ; br_multicast_init()
1860 br->multicast_querier_interval = 255 * HZ; br_multicast_init()
1861 br->multicast_membership_interval = 260 * HZ; br_multicast_init()
1863 br->ip4_other_query.delay_time = 0; br_multicast_init()
1864 br->ip4_querier.port = NULL; br_multicast_init()
1866 br->ip6_other_query.delay_time = 0; br_multicast_init()
1867 br->ip6_querier.port = NULL; br_multicast_init()
1870 spin_lock_init(&br->multicast_lock); br_multicast_init()
1871 setup_timer(&br->multicast_router_timer, br_multicast_init()
1873 setup_timer(&br->ip4_other_query.timer, br_multicast_init()
1874 br_ip4_multicast_querier_expired, (unsigned long)br); br_multicast_init()
1875 setup_timer(&br->ip4_own_query.timer, br_ip4_multicast_query_expired, br_multicast_init()
1876 (unsigned long)br); br_multicast_init()
1878 setup_timer(&br->ip6_other_query.timer, br_multicast_init()
1879 br_ip6_multicast_querier_expired, (unsigned long)br); br_multicast_init()
1880 setup_timer(&br->ip6_own_query.timer, br_ip6_multicast_query_expired, br_multicast_init()
1881 (unsigned long)br); br_multicast_init()
1885 static void __br_multicast_open(struct net_bridge *br, __br_multicast_open() argument
1890 if (br->multicast_disabled) __br_multicast_open()
1896 void br_multicast_open(struct net_bridge *br) br_multicast_open() argument
1898 __br_multicast_open(br, &br->ip4_own_query); br_multicast_open()
1900 __br_multicast_open(br, &br->ip6_own_query); br_multicast_open()
1904 void br_multicast_stop(struct net_bridge *br) br_multicast_stop() argument
1912 del_timer_sync(&br->multicast_router_timer); br_multicast_stop()
1913 del_timer_sync(&br->ip4_other_query.timer); br_multicast_stop()
1914 del_timer_sync(&br->ip4_own_query.timer); br_multicast_stop()
1916 del_timer_sync(&br->ip6_other_query.timer); br_multicast_stop()
1917 del_timer_sync(&br->ip6_own_query.timer); br_multicast_stop()
1920 spin_lock_bh(&br->multicast_lock); br_multicast_stop()
1921 mdb = mlock_dereference(br->mdb, br); br_multicast_stop()
1925 br->mdb = NULL; br_multicast_stop()
1937 spin_unlock_bh(&br->multicast_lock); br_multicast_stop()
1939 spin_lock_bh(&br->multicast_lock); br_multicast_stop()
1947 spin_unlock_bh(&br->multicast_lock); br_multicast_stop()
1950 int br_multicast_set_router(struct net_bridge *br, unsigned long val) br_multicast_set_router() argument
1954 spin_lock_bh(&br->multicast_lock); br_multicast_set_router()
1955 if (!netif_running(br->dev)) br_multicast_set_router()
1961 del_timer(&br->multicast_router_timer); br_multicast_set_router()
1964 br->multicast_router = val; br_multicast_set_router()
1974 spin_unlock_bh(&br->multicast_lock); br_multicast_set_router()
1981 struct net_bridge *br = p->br; br_multicast_set_port_router() local
1984 spin_lock(&br->multicast_lock); br_multicast_set_port_router()
1985 if (!netif_running(br->dev) || p->state == BR_STATE_DISABLED) br_multicast_set_port_router()
2006 br_multicast_add_router(br, p); br_multicast_set_port_router()
2015 spin_unlock(&br->multicast_lock); br_multicast_set_port_router()
2020 static void br_multicast_start_querier(struct net_bridge *br, br_multicast_start_querier() argument
2025 __br_multicast_open(br, query); br_multicast_start_querier()
2027 list_for_each_entry(port, &br->port_list, list) { br_multicast_start_querier()
2032 if (query == &br->ip4_own_query) br_multicast_start_querier()
2041 int br_multicast_toggle(struct net_bridge *br, unsigned long val) br_multicast_toggle() argument
2046 spin_lock_bh(&br->multicast_lock); br_multicast_toggle()
2047 if (br->multicast_disabled == !val) br_multicast_toggle()
2050 br->multicast_disabled = !val; br_multicast_toggle()
2051 if (br->multicast_disabled) br_multicast_toggle()
2054 if (!netif_running(br->dev)) br_multicast_toggle()
2057 mdb = mlock_dereference(br->mdb, br); br_multicast_toggle()
2062 br->multicast_disabled = !!val; br_multicast_toggle()
2066 err = br_mdb_rehash(&br->mdb, mdb->max, br_multicast_toggle()
2067 br->hash_elasticity); br_multicast_toggle()
2072 br_multicast_start_querier(br, &br->ip4_own_query); br_multicast_toggle()
2074 br_multicast_start_querier(br, &br->ip6_own_query); br_multicast_toggle()
2078 spin_unlock_bh(&br->multicast_lock); br_multicast_toggle()
2083 int br_multicast_set_querier(struct net_bridge *br, unsigned long val) br_multicast_set_querier() argument
2089 spin_lock_bh(&br->multicast_lock); br_multicast_set_querier()
2090 if (br->multicast_querier == val) br_multicast_set_querier()
2093 br->multicast_querier = val; br_multicast_set_querier()
2097 max_delay = br->multicast_query_response_interval; br_multicast_set_querier()
2099 if (!timer_pending(&br->ip4_other_query.timer)) br_multicast_set_querier()
2100 br->ip4_other_query.delay_time = jiffies + max_delay; br_multicast_set_querier()
2102 br_multicast_start_querier(br, &br->ip4_own_query); br_multicast_set_querier()
2105 if (!timer_pending(&br->ip6_other_query.timer)) br_multicast_set_querier()
2106 br->ip6_other_query.delay_time = jiffies + max_delay; br_multicast_set_querier()
2108 br_multicast_start_querier(br, &br->ip6_own_query); br_multicast_set_querier()
2112 spin_unlock_bh(&br->multicast_lock); br_multicast_set_querier()
2117 int br_multicast_set_hash_max(struct net_bridge *br, unsigned long val) br_multicast_set_hash_max() argument
2123 spin_lock_bh(&br->multicast_lock); br_multicast_set_hash_max()
2124 if (!netif_running(br->dev)) br_multicast_set_hash_max()
2131 mdb = mlock_dereference(br->mdb, br); br_multicast_set_hash_max()
2137 old = br->hash_max; br_multicast_set_hash_max()
2138 br->hash_max = val; br_multicast_set_hash_max()
2144 br->hash_max = old; br_multicast_set_hash_max()
2148 err = br_mdb_rehash(&br->mdb, br->hash_max, br_multicast_set_hash_max()
2149 br->hash_elasticity); br_multicast_set_hash_max()
2155 spin_unlock_bh(&br->multicast_lock); br_multicast_set_hash_max()
2180 struct net_bridge *br; br_multicast_list_adjacent() local
2191 if (!port || !port->br) br_multicast_list_adjacent()
2194 br = port->br; br_multicast_list_adjacent()
2196 list_for_each_entry_rcu(port, &br->port_list, list) { br_multicast_list_adjacent()
2228 struct net_bridge *br; br_multicast_has_querier_anywhere() local
2238 if (!port || !port->br) br_multicast_has_querier_anywhere()
2241 br = port->br; br_multicast_has_querier_anywhere()
2246 ret = br_multicast_querier_exists(br, &eth); br_multicast_has_querier_anywhere()
2265 struct net_bridge *br; br_multicast_has_querier_adjacent() local
2274 if (!port || !port->br) br_multicast_has_querier_adjacent()
2277 br = port->br; br_multicast_has_querier_adjacent()
2281 if (!timer_pending(&br->ip4_other_query.timer) || br_multicast_has_querier_adjacent()
2282 rcu_dereference(br->ip4_querier.port) == port) br_multicast_has_querier_adjacent()
2287 if (!timer_pending(&br->ip6_other_query.timer) || br_multicast_has_querier_adjacent()
2288 rcu_dereference(br->ip6_querier.port) == port) br_multicast_has_querier_adjacent()
512 br_multicast_get_group( struct net_bridge *br, struct net_bridge_port *port, struct br_ip *group, int hash) br_multicast_get_group() argument
H A Dbr_sysfs_br.c35 struct net_bridge *br = to_bridge(d); store_bridge_parm() local
40 if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN)) store_bridge_parm()
47 err = (*set)(br, val); store_bridge_parm()
55 struct net_bridge *br = to_bridge(d); forward_delay_show() local
56 return sprintf(buf, "%lu\n", jiffies_to_clock_t(br->forward_delay)); forward_delay_show()
99 struct net_bridge *br = to_bridge(d); ageing_time_show() local
100 return sprintf(buf, "%lu\n", jiffies_to_clock_t(br->ageing_time)); ageing_time_show()
103 static int set_ageing_time(struct net_bridge *br, unsigned long val) set_ageing_time() argument
105 br->ageing_time = clock_t_to_jiffies(val); set_ageing_time()
120 struct net_bridge *br = to_bridge(d); stp_state_show() local
121 return sprintf(buf, "%d\n", br->stp_enabled); stp_state_show()
129 struct net_bridge *br = to_bridge(d); stp_state_store() local
133 if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN)) stp_state_store()
142 br_stp_set_enabled(br, val); stp_state_store()
153 struct net_bridge *br = to_bridge(d); group_fwd_mask_show() local
154 return sprintf(buf, "%#x\n", br->group_fwd_mask); group_fwd_mask_show()
163 struct net_bridge *br = to_bridge(d); group_fwd_mask_store() local
167 if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN)) group_fwd_mask_store()
177 br->group_fwd_mask = val; group_fwd_mask_store()
186 struct net_bridge *br = to_bridge(d); priority_show() local
188 (br->bridge_id.prio[0] << 8) | br->bridge_id.prio[1]); priority_show()
191 static int set_priority(struct net_bridge *br, unsigned long val) set_priority() argument
193 br_stp_set_bridge_priority(br, (u16) val); set_priority()
243 struct net_bridge *br = to_bridge(d); topology_change_detected_show() local
244 return sprintf(buf, "%d\n", br->topology_change_detected); topology_change_detected_show()
251 struct net_bridge *br = to_bridge(d); hello_timer_show() local
252 return sprintf(buf, "%ld\n", br_timer_value(&br->hello_timer)); hello_timer_show()
259 struct net_bridge *br = to_bridge(d); tcn_timer_show() local
260 return sprintf(buf, "%ld\n", br_timer_value(&br->tcn_timer)); tcn_timer_show()
268 struct net_bridge *br = to_bridge(d); topology_change_timer_show() local
269 return sprintf(buf, "%ld\n", br_timer_value(&br->topology_change_timer)); topology_change_timer_show()
276 struct net_bridge *br = to_bridge(d); gc_timer_show() local
277 return sprintf(buf, "%ld\n", br_timer_value(&br->gc_timer)); gc_timer_show()
284 struct net_bridge *br = to_bridge(d); group_addr_show() local
286 br->group_addr[0], br->group_addr[1], group_addr_show()
287 br->group_addr[2], br->group_addr[3], group_addr_show()
288 br->group_addr[4], br->group_addr[5]); group_addr_show()
295 struct net_bridge *br = to_bridge(d); group_addr_store() local
299 if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN)) group_addr_store()
318 spin_lock_bh(&br->lock); group_addr_store()
320 br->group_addr[i] = new_addr[i]; group_addr_store()
321 spin_unlock_bh(&br->lock); group_addr_store()
323 br->group_addr_set = true; group_addr_store()
324 br_recalculate_fwd_mask(br); group_addr_store()
337 struct net_bridge *br = to_bridge(d); flush_store() local
339 if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN)) flush_store()
342 br_fdb_flush(br); flush_store()
351 struct net_bridge *br = to_bridge(d); multicast_router_show() local
352 return sprintf(buf, "%d\n", br->multicast_router); multicast_router_show()
367 struct net_bridge *br = to_bridge(d); multicast_snooping_show() local
368 return sprintf(buf, "%d\n", !br->multicast_disabled); multicast_snooping_show()
383 struct net_bridge *br = to_bridge(d); multicast_query_use_ifaddr_show() local
384 return sprintf(buf, "%d\n", br->multicast_query_use_ifaddr); multicast_query_use_ifaddr_show()
387 static int set_query_use_ifaddr(struct net_bridge *br, unsigned long val) set_query_use_ifaddr() argument
389 br->multicast_query_use_ifaddr = !!val; set_query_use_ifaddr()
406 struct net_bridge *br = to_bridge(d); multicast_querier_show() local
407 return sprintf(buf, "%d\n", br->multicast_querier); multicast_querier_show()
421 struct net_bridge *br = to_bridge(d); hash_elasticity_show() local
422 return sprintf(buf, "%u\n", br->hash_elasticity); hash_elasticity_show()
425 static int set_elasticity(struct net_bridge *br, unsigned long val) set_elasticity() argument
427 br->hash_elasticity = val; set_elasticity()
442 struct net_bridge *br = to_bridge(d); hash_max_show() local
443 return sprintf(buf, "%u\n", br->hash_max); hash_max_show()
457 struct net_bridge *br = to_bridge(d); multicast_last_member_count_show() local
458 return sprintf(buf, "%u\n", br->multicast_last_member_count); multicast_last_member_count_show()
461 static int set_last_member_count(struct net_bridge *br, unsigned long val) set_last_member_count() argument
463 br->multicast_last_member_count = val; set_last_member_count()
478 struct net_bridge *br = to_bridge(d); multicast_startup_query_count_show() local
479 return sprintf(buf, "%u\n", br->multicast_startup_query_count); multicast_startup_query_count_show()
482 static int set_startup_query_count(struct net_bridge *br, unsigned long val) set_startup_query_count() argument
484 br->multicast_startup_query_count = val; set_startup_query_count()
499 struct net_bridge *br = to_bridge(d); multicast_last_member_interval_show() local
501 jiffies_to_clock_t(br->multicast_last_member_interval)); multicast_last_member_interval_show()
504 static int set_last_member_interval(struct net_bridge *br, unsigned long val) set_last_member_interval() argument
506 br->multicast_last_member_interval = clock_t_to_jiffies(val); set_last_member_interval()
521 struct net_bridge *br = to_bridge(d); multicast_membership_interval_show() local
523 jiffies_to_clock_t(br->multicast_membership_interval)); multicast_membership_interval_show()
526 static int set_membership_interval(struct net_bridge *br, unsigned long val) set_membership_interval() argument
528 br->multicast_membership_interval = clock_t_to_jiffies(val); set_membership_interval()
544 struct net_bridge *br = to_bridge(d); multicast_querier_interval_show() local
546 jiffies_to_clock_t(br->multicast_querier_interval)); multicast_querier_interval_show()
549 static int set_querier_interval(struct net_bridge *br, unsigned long val) set_querier_interval() argument
551 br->multicast_querier_interval = clock_t_to_jiffies(val); set_querier_interval()
567 struct net_bridge *br = to_bridge(d); multicast_query_interval_show() local
569 jiffies_to_clock_t(br->multicast_query_interval)); multicast_query_interval_show()
572 static int set_query_interval(struct net_bridge *br, unsigned long val) set_query_interval() argument
574 br->multicast_query_interval = clock_t_to_jiffies(val); set_query_interval()
589 struct net_bridge *br = to_bridge(d); multicast_query_response_interval_show() local
592 jiffies_to_clock_t(br->multicast_query_response_interval)); multicast_query_response_interval_show()
595 static int set_query_response_interval(struct net_bridge *br, unsigned long val) set_query_response_interval() argument
597 br->multicast_query_response_interval = clock_t_to_jiffies(val); set_query_response_interval()
612 struct net_bridge *br = to_bridge(d); multicast_startup_query_interval_show() local
615 jiffies_to_clock_t(br->multicast_startup_query_interval)); multicast_startup_query_interval_show()
618 static int set_startup_query_interval(struct net_bridge *br, unsigned long val) set_startup_query_interval() argument
620 br->multicast_startup_query_interval = clock_t_to_jiffies(val); set_startup_query_interval()
636 struct net_bridge *br = to_bridge(d); nf_call_iptables_show() local
637 return sprintf(buf, "%u\n", br->nf_call_iptables); nf_call_iptables_show()
640 static int set_nf_call_iptables(struct net_bridge *br, unsigned long val) set_nf_call_iptables() argument
642 br->nf_call_iptables = val ? true : false; set_nf_call_iptables()
657 struct net_bridge *br = to_bridge(d); nf_call_ip6tables_show() local
658 return sprintf(buf, "%u\n", br->nf_call_ip6tables); nf_call_ip6tables_show()
661 static int set_nf_call_ip6tables(struct net_bridge *br, unsigned long val) set_nf_call_ip6tables() argument
663 br->nf_call_ip6tables = val ? true : false; set_nf_call_ip6tables()
678 struct net_bridge *br = to_bridge(d); nf_call_arptables_show() local
679 return sprintf(buf, "%u\n", br->nf_call_arptables); nf_call_arptables_show()
682 static int set_nf_call_arptables(struct net_bridge *br, unsigned long val) set_nf_call_arptables() argument
684 br->nf_call_arptables = val ? true : false; set_nf_call_arptables()
701 struct net_bridge *br = to_bridge(d); vlan_filtering_show() local
702 return sprintf(buf, "%d\n", br->vlan_enabled); vlan_filtering_show()
717 struct net_bridge *br = to_bridge(d); vlan_protocol_show() local
718 return sprintf(buf, "%#06x\n", ntohs(br->vlan_proto)); vlan_protocol_show()
733 struct net_bridge *br = to_bridge(d); default_pvid_show() local
734 return sprintf(buf, "%d\n", br->default_pvid); default_pvid_show()
811 struct net_bridge *br = to_bridge(dev); brforward_read() local
818 n = br_fdb_fillbuf(br, buf, brforward_read()
848 struct net_bridge *br = netdev_priv(dev); br_sysfs_addbr() local
865 br->ifobj = kobject_create_and_add(SYSFS_BRIDGE_PORT_SUBDIR, brobj); br_sysfs_addbr()
866 if (!br->ifobj) { br_sysfs_addbr()
884 struct net_bridge *br = netdev_priv(dev); br_sysfs_delbr() local
886 kobject_put(br->ifobj); br_sysfs_delbr()
H A Dbr_ioctl.c41 static void get_port_ifindices(struct net_bridge *br, int *ifindices, int num) get_port_ifindices() argument
45 list_for_each_entry(p, &br->port_list, list) { get_port_ifindices()
58 static int get_fdb_entries(struct net_bridge *br, void __user *userbuf, get_fdb_entries() argument
75 num = br_fdb_fillbuf(br, buf, maxnum, offset); get_fdb_entries()
86 static int add_del_if(struct net_bridge *br, int ifindex, int isadd) add_del_if() argument
88 struct net *net = dev_net(br->dev); add_del_if()
100 ret = br_add_if(br, dev); add_del_if()
102 ret = br_del_if(br, dev); add_del_if()
114 struct net_bridge *br = netdev_priv(dev); old_dev_ioctl() local
123 return add_del_if(br, args[1], args[0] == BRCTL_ADD_IF); old_dev_ioctl()
131 memcpy(&b.designated_root, &br->designated_root, 8); old_dev_ioctl()
132 memcpy(&b.bridge_id, &br->bridge_id, 8); old_dev_ioctl()
133 b.root_path_cost = br->root_path_cost; old_dev_ioctl()
134 b.max_age = jiffies_to_clock_t(br->max_age); old_dev_ioctl()
135 b.hello_time = jiffies_to_clock_t(br->hello_time); old_dev_ioctl()
136 b.forward_delay = br->forward_delay; old_dev_ioctl()
137 b.bridge_max_age = br->bridge_max_age; old_dev_ioctl()
138 b.bridge_hello_time = br->bridge_hello_time; old_dev_ioctl()
139 b.bridge_forward_delay = jiffies_to_clock_t(br->bridge_forward_delay); old_dev_ioctl()
140 b.topology_change = br->topology_change; old_dev_ioctl()
141 b.topology_change_detected = br->topology_change_detected; old_dev_ioctl()
142 b.root_port = br->root_port; old_dev_ioctl()
144 b.stp_enabled = (br->stp_enabled != BR_NO_STP); old_dev_ioctl()
145 b.ageing_time = jiffies_to_clock_t(br->ageing_time); old_dev_ioctl()
146 b.hello_timer_value = br_timer_value(&br->hello_timer); old_dev_ioctl()
147 b.tcn_timer_value = br_timer_value(&br->tcn_timer); old_dev_ioctl()
148 b.topology_change_timer_value = br_timer_value(&br->topology_change_timer); old_dev_ioctl()
149 b.gc_timer_value = br_timer_value(&br->gc_timer); old_dev_ioctl()
174 get_port_ifindices(br, indices, num); old_dev_ioctl()
185 return br_set_forward_delay(br, args[1]); old_dev_ioctl()
191 return br_set_hello_time(br, args[1]); old_dev_ioctl()
197 return br_set_max_age(br, args[1]); old_dev_ioctl()
203 br->ageing_time = clock_t_to_jiffies(args[1]); old_dev_ioctl()
212 if ((pt = br_get_port(br, args[2])) == NULL) { old_dev_ioctl()
243 br_stp_set_enabled(br, args[1]); old_dev_ioctl()
250 br_stp_set_bridge_priority(br, args[1]); old_dev_ioctl()
261 spin_lock_bh(&br->lock); old_dev_ioctl()
262 if ((p = br_get_port(br, args[1])) == NULL) old_dev_ioctl()
266 spin_unlock_bh(&br->lock); old_dev_ioctl()
278 spin_lock_bh(&br->lock); old_dev_ioctl()
279 if ((p = br_get_port(br, args[1])) == NULL) old_dev_ioctl()
283 spin_unlock_bh(&br->lock); old_dev_ioctl()
289 return get_fdb_entries(br, (void __user *)args[1], old_dev_ioctl()
380 struct net_bridge *br = netdev_priv(dev); br_dev_ioctl() local
388 return add_del_if(br, rq->ifr_ifindex, cmd == SIOCBRADDIF); br_dev_ioctl()
392 br_debug(br, "Bridge does not support ioctl 0x%x\n", cmd); br_dev_ioctl()
H A Dbr_if.c68 struct net_bridge *br = p->br; br_port_carrier_check() local
74 if (!netif_running(br->dev)) br_port_carrier_check()
77 spin_lock_bh(&br->lock); br_port_carrier_check()
85 spin_unlock_bh(&br->lock); br_port_carrier_check()
99 br_fdb_unsync_static(p->br, p); br_port_set_promisc()
118 err = br_fdb_sync_static(p->br, p); br_port_clear_promisc()
131 void br_manage_promisc(struct net_bridge *br) br_manage_promisc() argument
139 if ((br->dev->flags & IFF_PROMISC) || !br_vlan_enabled(br)) br_manage_promisc()
142 list_for_each_entry(p, &br->port_list, list) { br_manage_promisc()
156 if (br->auto_cnt == 0 || br_manage_promisc()
157 (br->auto_cnt == 1 && br_auto_port(p))) br_manage_promisc()
165 static void nbp_update_port_count(struct net_bridge *br) nbp_update_port_count() argument
170 list_for_each_entry(p, &br->port_list, list) { nbp_update_port_count()
174 if (br->auto_cnt != cnt) { nbp_update_port_count()
175 br->auto_cnt = cnt; nbp_update_port_count()
176 br_manage_promisc(br); nbp_update_port_count()
190 br_fdb_unsync_static(p->br, p); nbp_delete_promisc()
211 p->br = NULL; destroy_nbp()
236 struct net_bridge *br = p->br; del_nbp() local
239 sysfs_remove_link(br->ifobj, p->dev->name); del_nbp()
243 spin_lock_bh(&br->lock); del_nbp()
245 spin_unlock_bh(&br->lock); del_nbp()
252 br_fdb_delete_by_port(br, p, 1); del_nbp()
253 nbp_update_port_count(br); del_nbp()
255 netdev_upper_dev_unlink(dev, br->dev); del_nbp()
274 struct net_bridge *br = netdev_priv(dev); br_dev_delete() local
277 list_for_each_entry_safe(p, n, &br->port_list, list) { br_dev_delete()
281 br_fdb_delete_by_port(br, NULL, 1); br_dev_delete()
283 br_vlan_flush(br); br_dev_delete()
284 del_timer_sync(&br->gc_timer); br_dev_delete()
286 br_sysfs_delbr(br->dev); br_dev_delete()
287 unregister_netdevice_queue(br->dev, head); br_dev_delete()
291 static int find_portno(struct net_bridge *br) find_portno() argument
303 list_for_each_entry(p, &br->port_list, list) { find_portno()
313 static struct net_bridge_port *new_nbp(struct net_bridge *br, new_nbp() argument
319 index = find_portno(br); new_nbp()
327 p->br = br; new_nbp()
390 int br_min_mtu(const struct net_bridge *br) br_min_mtu() argument
397 if (list_empty(&br->port_list)) br_min_mtu()
400 list_for_each_entry(p, &br->port_list, list) { br_min_mtu()
411 netdev_features_t br_features_recompute(struct net_bridge *br, br_features_recompute() argument
417 if (list_empty(&br->port_list)) br_features_recompute()
423 list_for_each_entry(p, &br->port_list, list) { br_features_recompute()
433 int br_add_if(struct net_bridge *br, struct net_device *dev) br_add_if() argument
463 p = new_nbp(br, dev); br_add_if()
492 err = netdev_master_upper_dev_link(dev, br->dev); br_add_if()
498 list_add_rcu(&p->list, &br->port_list); br_add_if()
500 nbp_update_port_count(br); br_add_if()
502 netdev_update_features(br->dev); br_add_if()
504 if (br->dev->needed_headroom < dev->needed_headroom) br_add_if()
505 br->dev->needed_headroom = dev->needed_headroom; br_add_if()
507 if (br_fdb_insert(br, p, dev->dev_addr, 0)) br_add_if()
513 spin_lock_bh(&br->lock); br_add_if()
514 changed_addr = br_stp_recalculate_bridge_id(br); br_add_if()
517 (br->dev->flags & IFF_UP)) br_add_if()
519 spin_unlock_bh(&br->lock); br_add_if()
524 call_netdevice_notifiers(NETDEV_CHANGEADDR, br->dev); br_add_if()
526 dev_set_mtu(br->dev, br_min_mtu(br)); br_add_if()
538 sysfs_remove_link(br->ifobj, p->dev->name); br_add_if()
551 int br_del_if(struct net_bridge *br, struct net_device *dev) br_del_if() argument
557 if (!p || p->br != br) br_del_if()
566 dev_set_mtu(br->dev, br_min_mtu(br)); br_del_if()
568 spin_lock_bh(&br->lock); br_del_if()
569 changed_addr = br_stp_recalculate_bridge_id(br); br_del_if()
570 spin_unlock_bh(&br->lock); br_del_if()
573 call_netdevice_notifiers(NETDEV_CHANGEADDR, br->dev); br_del_if()
575 netdev_update_features(br->dev); br_del_if()
582 struct net_bridge *br = p->br; br_port_flags_change() local
585 nbp_update_port_count(br); br_port_flags_change()
H A Dbr_private.h84 struct net_bridge *br; member in union:net_port_vlans::__anon14078
121 struct net_bridge *br; member in struct:net_bridge_mdb_entry
142 struct net_bridge *br; member in struct:net_bridge_port
323 #define br_printk(level, br, format, args...) \
324 printk(level "%s: " format, (br)->dev->name, ##args)
335 #define br_debug(br, format, args...) \
336 pr_debug("%s: " format, (br)->dev->name, ##args)
339 static inline int br_is_root_bridge(const struct net_bridge *br) br_is_root_bridge() argument
341 return !memcmp(&br->bridge_id, &br->designated_root, 8); br_is_root_bridge()
379 void br_fdb_flush(struct net_bridge *br);
380 void br_fdb_find_delete_local(struct net_bridge *br,
384 void br_fdb_change_mac_address(struct net_bridge *br, const u8 *newaddr);
386 void br_fdb_delete_by_port(struct net_bridge *br,
388 struct net_bridge_fdb_entry *__br_fdb_get(struct net_bridge *br,
391 int br_fdb_fillbuf(struct net_bridge *br, void *buf, unsigned long count,
393 int br_fdb_insert(struct net_bridge *br, struct net_bridge_port *source,
395 void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source,
404 int br_fdb_sync_static(struct net_bridge *br, struct net_bridge_port *p);
405 void br_fdb_unsync_static(struct net_bridge *br, struct net_bridge_port *p);
406 int br_fdb_external_learn_add(struct net_bridge *br, struct net_bridge_port *p,
408 int br_fdb_external_learn_del(struct net_bridge *br, struct net_bridge_port *p,
417 void br_flood_deliver(struct net_bridge *br, struct sk_buff *skb, bool unicast);
418 void br_flood_forward(struct net_bridge *br, struct sk_buff *skb,
425 int br_add_if(struct net_bridge *br, struct net_device *dev);
426 int br_del_if(struct net_bridge *br, struct net_device *dev);
427 int br_min_mtu(const struct net_bridge *br);
428 netdev_features_t br_features_recompute(struct net_bridge *br,
431 void br_manage_promisc(struct net_bridge *br);
455 int br_multicast_rcv(struct net_bridge *br, struct net_bridge_port *port,
457 struct net_bridge_mdb_entry *br_mdb_get(struct net_bridge *br,
463 void br_multicast_init(struct net_bridge *br);
464 void br_multicast_open(struct net_bridge *br);
465 void br_multicast_stop(struct net_bridge *br);
470 int br_multicast_set_router(struct net_bridge *br, unsigned long val);
472 int br_multicast_toggle(struct net_bridge *br, unsigned long val);
473 int br_multicast_set_querier(struct net_bridge *br, unsigned long val);
474 int br_multicast_set_hash_max(struct net_bridge *br, unsigned long val);
478 br_multicast_new_group(struct net_bridge *br, struct net_bridge_port *port,
490 #define mlock_dereference(X, br) \
491 rcu_dereference_protected(X, lockdep_is_held(&br->multicast_lock))
493 static inline bool br_multicast_is_router(struct net_bridge *br) br_multicast_is_router() argument
495 return br->multicast_router == 2 || br_multicast_is_router()
496 (br->multicast_router == 1 && br_multicast_is_router()
497 timer_pending(&br->multicast_router_timer)); br_multicast_is_router()
501 __br_multicast_querier_exists(struct net_bridge *br, __br_multicast_querier_exists() argument
505 (br->multicast_querier || timer_pending(&querier->timer)); __br_multicast_querier_exists()
508 static inline bool br_multicast_querier_exists(struct net_bridge *br, br_multicast_querier_exists() argument
513 return __br_multicast_querier_exists(br, &br->ip4_other_query); br_multicast_querier_exists()
516 return __br_multicast_querier_exists(br, &br->ip6_other_query); br_multicast_querier_exists()
523 static inline int br_multicast_rcv(struct net_bridge *br, br_multicast_rcv() argument
531 static inline struct net_bridge_mdb_entry *br_mdb_get(struct net_bridge *br, br_mdb_get() argument
553 static inline void br_multicast_init(struct net_bridge *br) br_multicast_init() argument
557 static inline void br_multicast_open(struct net_bridge *br) br_multicast_open() argument
561 static inline void br_multicast_stop(struct net_bridge *br) br_multicast_stop() argument
575 static inline bool br_multicast_is_router(struct net_bridge *br) br_multicast_is_router() argument
579 static inline bool br_multicast_querier_exists(struct net_bridge *br, br_multicast_querier_exists() argument
594 bool br_allowed_ingress(struct net_bridge *br, struct net_port_vlans *v,
596 bool br_allowed_egress(struct net_bridge *br, const struct net_port_vlans *v,
599 struct sk_buff *br_handle_vlan(struct net_bridge *br,
602 int br_vlan_add(struct net_bridge *br, u16 vid, u16 flags);
603 int br_vlan_delete(struct net_bridge *br, u16 vid);
604 void br_vlan_flush(struct net_bridge *br);
605 bool br_vlan_find(struct net_bridge *br, u16 vid);
606 void br_recalculate_fwd_mask(struct net_bridge *br);
607 int br_vlan_filter_toggle(struct net_bridge *br, unsigned long val);
608 int br_vlan_set_proto(struct net_bridge *br, unsigned long val);
609 int br_vlan_init(struct net_bridge *br);
610 int br_vlan_set_default_pvid(struct net_bridge *br, unsigned long val);
618 const struct net_bridge *br) br_get_vlan_info()
620 return rcu_dereference_rtnl(br->vlan_info); br_get_vlan_info()
655 static inline int br_vlan_enabled(struct net_bridge *br) br_vlan_enabled() argument
657 return br->vlan_enabled; br_vlan_enabled()
660 static inline bool br_allowed_ingress(struct net_bridge *br, br_allowed_ingress() argument
668 static inline bool br_allowed_egress(struct net_bridge *br, br_allowed_egress() argument
681 static inline struct sk_buff *br_handle_vlan(struct net_bridge *br, br_handle_vlan() argument
688 static inline int br_vlan_add(struct net_bridge *br, u16 vid, u16 flags) br_vlan_add() argument
693 static inline int br_vlan_delete(struct net_bridge *br, u16 vid) br_vlan_delete() argument
698 static inline void br_vlan_flush(struct net_bridge *br) br_vlan_flush() argument
702 static inline bool br_vlan_find(struct net_bridge *br, u16 vid) br_vlan_find() argument
707 static inline void br_recalculate_fwd_mask(struct net_bridge *br) br_recalculate_fwd_mask() argument
711 static inline int br_vlan_init(struct net_bridge *br) br_vlan_init() argument
731 const struct net_bridge *br) br_get_vlan_info()
760 static inline int br_vlan_enabled(struct net_bridge *br) br_vlan_enabled() argument
785 struct net_bridge_port *br_get_port(struct net_bridge *br, u16 port_no); br_nf_core_fini()
789 void __br_set_forward_delay(struct net_bridge *br, unsigned long t); br_nf_core_fini()
790 int br_set_forward_delay(struct net_bridge *br, unsigned long x); br_nf_core_fini()
791 int br_set_hello_time(struct net_bridge *br, unsigned long x); br_nf_core_fini()
792 int br_set_max_age(struct net_bridge *br, unsigned long x); br_nf_core_fini()
796 void br_stp_enable_bridge(struct net_bridge *br); br_nf_core_fini()
797 void br_stp_disable_bridge(struct net_bridge *br); br_nf_core_fini()
798 void br_stp_set_enabled(struct net_bridge *br, unsigned long val); br_nf_core_fini()
801 bool br_stp_recalculate_bridge_id(struct net_bridge *br); br_nf_core_fini()
802 void br_stp_change_bridge_id(struct net_bridge *br, const unsigned char *a); br_nf_core_fini()
803 void br_stp_set_bridge_priority(struct net_bridge *br, u16 newprio); br_nf_core_fini()
814 void br_stp_timer_init(struct net_bridge *br); br_nf_core_fini()
818 /* br.c */ br_nf_core_fini()
617 br_get_vlan_info( const struct net_bridge *br) br_get_vlan_info() argument
730 br_get_vlan_info( const struct net_bridge *br) br_get_vlan_info() argument
H A Dbr.c36 struct net_bridge *br; br_device_event() local
51 br = p->br; br_device_event()
55 dev_set_mtu(br->dev, br_min_mtu(br)); br_device_event()
59 spin_lock_bh(&br->lock); br_device_event()
61 changed_addr = br_stp_recalculate_bridge_id(br); br_device_event()
62 spin_unlock_bh(&br->lock); br_device_event()
65 call_netdevice_notifiers(NETDEV_CHANGEADDR, br->dev); br_device_event()
74 netdev_update_features(br->dev); br_device_event()
78 spin_lock_bh(&br->lock); br_device_event()
79 if (br->dev->flags & IFF_UP) br_device_event()
81 spin_unlock_bh(&br->lock); br_device_event()
85 if (netif_running(br->dev) && netif_oper_up(dev)) { br_device_event()
86 spin_lock_bh(&br->lock); br_device_event()
88 spin_unlock_bh(&br->lock); br_device_event()
93 br_del_if(br, dev); br_device_event()
108 call_netdevice_notifiers(event, br->dev); br_device_event()
130 struct net_bridge *br; br_netdev_switch_event() local
138 br = p->br; br_netdev_switch_event()
143 err = br_fdb_external_learn_add(br, p, fdb_info->addr, br_netdev_switch_event()
150 err = br_fdb_external_learn_del(br, p, fdb_info->addr, br_netdev_switch_event()
H A 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) hold_time() argument
64 return br->topology_change ? br->forward_delay : br->ageing_time; hold_time()
67 static inline int has_expired(const struct net_bridge *br, has_expired() argument
71 time_before_eq(fdb->updated + hold_time(br), jiffies); has_expired()
93 static void fdb_add_hw_addr(struct net_bridge *br, const unsigned char *addr) fdb_add_hw_addr() argument
100 list_for_each_entry(p, &br->port_list, list) { fdb_add_hw_addr()
110 list_for_each_entry_continue_reverse(p, &br->port_list, list) { fdb_add_hw_addr()
121 static void fdb_del_hw_addr(struct net_bridge *br, const unsigned char *addr) fdb_del_hw_addr() argument
127 list_for_each_entry(p, &br->port_list, list) { fdb_del_hw_addr()
133 static void fdb_delete(struct net_bridge *br, struct net_bridge_fdb_entry *f) fdb_delete() argument
136 fdb_del_hw_addr(br, f->addr.addr); fdb_delete()
139 fdb_notify(br, f, RTM_DELNEIGH); fdb_delete()
144 static void fdb_delete_local(struct net_bridge *br, fdb_delete_local() argument
153 list_for_each_entry(op, &br->port_list, list) { fdb_delete_local()
163 if (p && ether_addr_equal(br->dev->dev_addr, addr) && fdb_delete_local()
164 (!vid || br_vlan_find(br, vid))) { fdb_delete_local()
170 fdb_delete(br, f); fdb_delete_local()
173 void br_fdb_find_delete_local(struct net_bridge *br, br_fdb_find_delete_local() argument
177 struct hlist_head *head = &br->hash[br_mac_hash(addr, vid)]; br_fdb_find_delete_local()
180 spin_lock_bh(&br->hash_lock); br_fdb_find_delete_local()
183 fdb_delete_local(br, p, f); br_fdb_find_delete_local()
184 spin_unlock_bh(&br->hash_lock); br_fdb_find_delete_local()
189 struct net_bridge *br = p->br; br_fdb_changeaddr() local
195 spin_lock_bh(&br->hash_lock); br_fdb_changeaddr()
200 hlist_for_each(h, &br->hash[i]) { br_fdb_changeaddr()
206 fdb_delete_local(br, p, f); br_fdb_changeaddr()
220 fdb_insert(br, p, newaddr, 0); br_fdb_changeaddr()
230 fdb_insert(br, p, newaddr, vid); br_fdb_changeaddr()
233 spin_unlock_bh(&br->hash_lock); br_fdb_changeaddr()
236 void br_fdb_change_mac_address(struct net_bridge *br, const u8 *newaddr) br_fdb_change_mac_address() argument
242 spin_lock_bh(&br->hash_lock); br_fdb_change_mac_address()
245 f = __br_fdb_get(br, br->dev->dev_addr, 0); br_fdb_change_mac_address()
247 fdb_delete_local(br, NULL, f); br_fdb_change_mac_address()
249 fdb_insert(br, NULL, newaddr, 0); br_fdb_change_mac_address()
255 pv = br_get_vlan_info(br); br_fdb_change_mac_address()
260 f = __br_fdb_get(br, br->dev->dev_addr, vid); br_fdb_change_mac_address()
262 fdb_delete_local(br, NULL, f); br_fdb_change_mac_address()
263 fdb_insert(br, NULL, newaddr, vid); br_fdb_change_mac_address()
266 spin_unlock_bh(&br->hash_lock); br_fdb_change_mac_address()
271 struct net_bridge *br = (struct net_bridge *)_data; br_fdb_cleanup() local
272 unsigned long delay = hold_time(br); br_fdb_cleanup()
273 unsigned long next_timer = jiffies + br->ageing_time; br_fdb_cleanup()
276 spin_lock(&br->hash_lock); br_fdb_cleanup()
281 hlist_for_each_entry_safe(f, n, &br->hash[i], hlist) { br_fdb_cleanup()
287 fdb_delete(br, f); br_fdb_cleanup()
292 spin_unlock(&br->hash_lock); br_fdb_cleanup()
294 mod_timer(&br->gc_timer, round_jiffies_up(next_timer)); br_fdb_cleanup()
298 void br_fdb_flush(struct net_bridge *br) br_fdb_flush() argument
302 spin_lock_bh(&br->hash_lock); br_fdb_flush()
306 hlist_for_each_entry_safe(f, n, &br->hash[i], hlist) { br_fdb_flush()
308 fdb_delete(br, f); br_fdb_flush()
311 spin_unlock_bh(&br->hash_lock); br_fdb_flush()
317 void br_fdb_delete_by_port(struct net_bridge *br, br_fdb_delete_by_port() argument
323 spin_lock_bh(&br->hash_lock); br_fdb_delete_by_port()
327 hlist_for_each_safe(h, g, &br->hash[i]) { br_fdb_delete_by_port()
337 fdb_delete_local(br, p, f); br_fdb_delete_by_port()
339 fdb_delete(br, f); br_fdb_delete_by_port()
342 spin_unlock_bh(&br->hash_lock); br_fdb_delete_by_port()
346 struct net_bridge_fdb_entry *__br_fdb_get(struct net_bridge *br, __br_fdb_get() argument
353 &br->hash[br_mac_hash(addr, vid)], hlist) { __br_fdb_get()
356 if (unlikely(has_expired(br, fdb))) __br_fdb_get()
379 fdb = __br_fdb_get(port->br, addr, 0); br_fdb_test_addr()
393 int br_fdb_fillbuf(struct net_bridge *br, void *buf, br_fdb_fillbuf() argument
404 hlist_for_each_entry_rcu(f, &br->hash[i], hlist) { br_fdb_fillbuf()
408 if (has_expired(br, f)) br_fdb_fillbuf()
491 static int fdb_insert(struct net_bridge *br, struct net_bridge_port *source, fdb_insert() argument
494 struct hlist_head *head = &br->hash[br_mac_hash(addr, vid)]; fdb_insert()
507 br_warn(br, "adding interface %s with same address " fdb_insert()
509 source ? source->dev->name : br->dev->name); fdb_insert()
510 fdb_delete(br, fdb); fdb_insert()
518 fdb_add_hw_addr(br, addr); fdb_insert()
519 fdb_notify(br, fdb, RTM_NEWNEIGH); fdb_insert()
524 int br_fdb_insert(struct net_bridge *br, struct net_bridge_port *source, br_fdb_insert() argument
529 spin_lock_bh(&br->hash_lock); br_fdb_insert()
530 ret = fdb_insert(br, source, addr, vid); br_fdb_insert()
531 spin_unlock_bh(&br->hash_lock); br_fdb_insert()
535 void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source, br_fdb_update() argument
538 struct hlist_head *head = &br->hash[br_mac_hash(addr, vid)]; br_fdb_update()
543 if (hold_time(br) == 0) br_fdb_update()
556 br_warn(br, "received packet on %s with " br_fdb_update()
569 fdb_notify(br, fdb, RTM_NEWNEIGH); br_fdb_update()
572 spin_lock(&br->hash_lock); br_fdb_update()
578 fdb_notify(br, fdb, RTM_NEWNEIGH); br_fdb_update()
584 spin_unlock(&br->hash_lock); br_fdb_update()
594 else if (has_expired(fdb->dst->br, fdb)) fdb_to_nud()
600 static int fdb_fill_info(struct sk_buff *skb, const struct net_bridge *br, fdb_fill_info() argument
619 ndm->ndm_ifindex = fdb->dst ? fdb->dst->dev->ifindex : br->dev->ifindex; fdb_fill_info()
624 if (nla_put_u32(skb, NDA_MASTER, br->dev->ifindex)) fdb_fill_info()
653 static void fdb_notify(struct net_bridge *br, fdb_notify() argument
656 struct net *net = dev_net(br->dev); fdb_notify()
664 err = fdb_fill_info(skb, br, fdb, 0, 0, type, 0); fdb_notify()
684 struct net_bridge *br = netdev_priv(dev); br_fdb_dump() local
696 hlist_for_each_entry_rcu(f, &br->hash[i], hlist) { br_fdb_dump()
715 if (fdb_fill_info(skb, br, f, br_fdb_dump()
734 struct net_bridge *br = source->br; fdb_add_entry() local
735 struct hlist_head *head = &br->hash[br_mac_hash(addr, vid)]; fdb_add_entry()
764 fdb_add_hw_addr(br, addr); fdb_add_entry()
770 fdb_add_hw_addr(br, addr); fdb_add_entry()
776 fdb_del_hw_addr(br, addr); fdb_add_entry()
787 fdb_notify(br, fdb, RTM_NEWNEIGH); fdb_add_entry()
801 br_fdb_update(p->br, p, addr, vid, true); __br_fdb_add()
805 spin_lock_bh(&p->br->hash_lock); __br_fdb_add()
808 spin_unlock_bh(&p->br->hash_lock); __br_fdb_add()
870 static int fdb_delete_by_addr(struct net_bridge *br, const u8 *addr, u16 vlan) fdb_delete_by_addr() argument
872 struct hlist_head *head = &br->hash[br_mac_hash(addr, vlan)]; fdb_delete_by_addr()
879 fdb_delete(br, fdb); fdb_delete_by_addr()
888 spin_lock_bh(&p->br->hash_lock); __br_fdb_delete()
889 err = fdb_delete_by_addr(p->br, addr, vid); __br_fdb_delete()
890 spin_unlock_bh(&p->br->hash_lock); __br_fdb_delete()
938 int br_fdb_sync_static(struct net_bridge *br, struct net_bridge_port *p) br_fdb_sync_static() argument
947 hlist_for_each_entry(fdb, &br->hash[i], hlist) { br_fdb_sync_static()
961 hlist_for_each_entry(tmp, &br->hash[i], hlist) { br_fdb_sync_static()
976 void br_fdb_unsync_static(struct net_bridge *br, struct net_bridge_port *p) br_fdb_unsync_static() argument
984 hlist_for_each_entry_rcu(fdb, &br->hash[i], hlist) { br_fdb_unsync_static()
994 int br_fdb_external_learn_add(struct net_bridge *br, struct net_bridge_port *p, br_fdb_external_learn_add() argument
1002 spin_lock_bh(&br->hash_lock); br_fdb_external_learn_add()
1004 head = &br->hash[br_mac_hash(addr, vid)]; br_fdb_external_learn_add()
1013 fdb_notify(br, fdb, RTM_NEWNEIGH); br_fdb_external_learn_add()
1021 fdb_notify(br, fdb, RTM_NEWNEIGH); br_fdb_external_learn_add()
1025 spin_unlock_bh(&br->hash_lock); br_fdb_external_learn_add()
1030 int br_fdb_external_learn_del(struct net_bridge *br, struct net_bridge_port *p, br_fdb_external_learn_del() argument
1038 spin_lock_bh(&br->hash_lock); br_fdb_external_learn_del()
1040 head = &br->hash[br_mac_hash(addr, vid)]; br_fdb_external_learn_del()
1043 fdb_delete(br, fdb); br_fdb_external_learn_del()
1047 spin_unlock_bh(&br->hash_lock); br_fdb_external_learn_del()
H A Dbr_mdb.c20 struct net_bridge *br = netdev_priv(dev); br_rports_fill_info() local
24 if (!br->multicast_router || hlist_empty(&br->router_list)) br_rports_fill_info()
31 hlist_for_each_entry_rcu(p, &br->router_list, rlist) { br_rports_fill_info()
46 struct net_bridge *br = netdev_priv(dev); br_mdb_fill_info() local
52 if (br->multicast_disabled) br_mdb_fill_info()
55 mdb = rcu_dereference(br->mdb); br_mdb_fill_info()
319 static int br_mdb_add_group(struct net_bridge *br, struct net_bridge_port *port, br_mdb_add_group() argument
328 mdb = mlock_dereference(br->mdb, br); br_mdb_add_group()
331 mp = br_multicast_new_group(br, port, group); br_mdb_add_group()
338 (p = mlock_dereference(*pp, br)) != NULL; br_mdb_add_group()
354 static int __br_mdb_add(struct net *net, struct net_bridge *br, __br_mdb_add() argument
362 if (!netif_running(br->dev) || br->multicast_disabled) __br_mdb_add()
370 if (!p || p->br != br || p->state == BR_STATE_DISABLED) __br_mdb_add()
382 spin_lock_bh(&br->multicast_lock); __br_mdb_add()
383 ret = br_mdb_add_group(br, p, &ip, entry->state); __br_mdb_add()
384 spin_unlock_bh(&br->multicast_lock); __br_mdb_add()
393 struct net_bridge *br; br_mdb_add() local
400 br = netdev_priv(dev); br_mdb_add()
402 err = __br_mdb_add(net, br, entry); br_mdb_add()
408 static int __br_mdb_del(struct net_bridge *br, struct br_mdb_entry *entry) __br_mdb_del() argument
417 if (!netif_running(br->dev) || br->multicast_disabled) __br_mdb_del()
423 if (timer_pending(&br->ip4_other_query.timer)) __br_mdb_del()
429 if (timer_pending(&br->ip6_other_query.timer)) __br_mdb_del()
436 spin_lock_bh(&br->multicast_lock); __br_mdb_del()
437 mdb = mlock_dereference(br->mdb, br); __br_mdb_del()
444 (p = mlock_dereference(*pp, br)) != NULL; __br_mdb_del()
459 netif_running(br->dev)) __br_mdb_del()
465 spin_unlock_bh(&br->multicast_lock); __br_mdb_del()
473 struct net_bridge *br; br_mdb_del() local
480 br = netdev_priv(dev); br_mdb_del()
482 err = __br_mdb_del(br, entry); br_mdb_del()
H A Dbr_input.c32 struct net_bridge *br = netdev_priv(brdev); br_pass_frame_up() local
33 struct pcpu_sw_netstats *brstats = this_cpu_ptr(br->stats); br_pass_frame_up()
45 pv = br_get_vlan_info(br); br_pass_frame_up()
47 !br_allowed_egress(br, pv, skb)) { br_pass_frame_up()
54 skb = br_handle_vlan(br, pv, skb); br_pass_frame_up()
63 static void br_do_proxy_arp(struct sk_buff *skb, struct net_bridge *br, br_do_proxy_arp() argument
66 struct net_device *dev = br->dev; br_do_proxy_arp()
110 f = __br_fdb_get(br, n->ha, vid); br_do_proxy_arp()
127 struct net_bridge *br; br_handle_frame_finish() local
137 if (!br_allowed_ingress(p->br, nbp_get_vlan_info(p), skb, &vid)) br_handle_frame_finish()
141 br = p->br; br_handle_frame_finish()
143 br_fdb_update(br, p, eth_hdr(skb)->h_source, vid, false); br_handle_frame_finish()
146 br_multicast_rcv(br, p, skb, vid)) br_handle_frame_finish()
152 BR_INPUT_SKB_CB(skb)->brdev = br->dev; br_handle_frame_finish()
157 if (br->dev->flags & IFF_PROMISC) br_handle_frame_finish()
163 br_do_proxy_arp(skb, br, vid, p); br_handle_frame_finish()
169 mdst = br_mdb_get(br, skb, vid); br_handle_frame_finish()
171 br_multicast_querier_exists(br, eth_hdr(skb))) { br_handle_frame_finish()
173 br_multicast_is_router(br)) br_handle_frame_finish()
183 br->dev->stats.multicast++; br_handle_frame_finish()
184 } else if ((dst = __br_fdb_get(br, dest, vid)) && br_handle_frame_finish()
196 br_flood_forward(br, skb, skb2, unicast); br_handle_frame_finish()
218 br_fdb_update(p->br, p, eth_hdr(skb)->h_source, vid, false); br_handle_local_finish()
246 u16 fwd_mask = p->br->group_fwd_mask_required; br_handle_frame()
265 if (p->br->stp_enabled == BR_NO_STP || br_handle_frame()
275 fwd_mask |= p->br->group_fwd_mask; br_handle_frame()
303 if (ether_addr_equal(p->br->dev->dev_addr, dest)) br_handle_frame()
H A Dbr_stp_bpdu.c53 llc_mac_hdr_init(skb, p->dev->dev_addr, p->br->group_addr); br_send_bpdu()
81 if (p->br->stp_enabled != BR_KERNEL_STP) br_send_config_bpdu()
126 if (p->br->stp_enabled != BR_KERNEL_STP) br_send_tcn_bpdu()
146 struct net_bridge *br; br_stp_rcv() local
161 br = p->br; br_stp_rcv()
162 spin_lock(&br->lock); br_stp_rcv()
164 if (br->stp_enabled != BR_KERNEL_STP) br_stp_rcv()
167 if (!(br->dev->flags & IFF_UP)) br_stp_rcv()
173 if (!ether_addr_equal(dest, br->group_addr)) br_stp_rcv()
177 br_notice(br, "BPDU received on blocked port %u(%s)\n", br_stp_rcv()
225 br_notice(p->br, br_stp_rcv()
239 spin_unlock(&br->lock); br_stp_rcv()
H A Dbr_netlink.c279 const struct net_bridge *br; br_fill_ifinfo() local
285 br = port->br; br_fill_ifinfo()
287 br = netdev_priv(dev); br_fill_ifinfo()
289 br_debug(br, "br_fill_info event %d port %s master %s\n", br_fill_ifinfo()
290 event, dev->name, br->dev->name); br_fill_ifinfo()
305 nla_put_u32(skb, IFLA_MASTER, br->dev->ifindex) || br_fill_ifinfo()
333 pv = br_get_vlan_info(br); br_fill_ifinfo()
374 br_debug(port->br, "port %u(%s) event %d\n", br_ifinfo_notify()
411 static int br_vlan_info(struct net_bridge *br, struct net_bridge_port *p, br_vlan_info() argument
424 err = br_vlan_add(p->br, vinfo->vid, br_vlan_info()
427 err = br_vlan_add(br, vinfo->vid, vinfo->flags); br_vlan_info()
435 br_vlan_delete(p->br, vinfo->vid); br_vlan_info()
437 br_vlan_delete(br, vinfo->vid); br_vlan_info()
445 static int br_afspec(struct net_bridge *br, br_afspec() argument
484 err = br_vlan_info(br, p, cmd, &tmp_vinfo); nla_for_each_nested()
490 err = br_vlan_info(br, p, cmd, vinfo); nla_for_each_nested()
520 if (p->br->stp_enabled == BR_KERNEL_STP) br_set_port_state()
532 br_port_state_selection(p->br); br_set_port_state()
614 spin_lock_bh(&p->br->lock); br_setlink()
616 spin_unlock_bh(&p->br->lock); br_setlink()
622 spin_lock_bh(&p->br->lock); br_setlink()
624 spin_unlock_bh(&p->br->lock); br_setlink()
641 br_warn(p->br, "error setting attrs on port %u(%s)\n", br_setlink()
681 br_warn(p->br, "error deleting attrs on port %u (%s)\n", br_dellink()
702 struct net_bridge *br = netdev_priv(dev); br_dev_newlink() local
705 spin_lock_bh(&br->lock); br_dev_newlink()
706 br_stp_change_bridge_id(br, nla_data(tb[IFLA_ADDRESS])); br_dev_newlink()
707 spin_unlock_bh(&br->lock); br_dev_newlink()
718 struct net_bridge *br = netdev_priv(brdev); br_port_slave_changelink() local
724 spin_lock_bh(&br->lock); br_port_slave_changelink()
726 spin_unlock_bh(&br->lock); br_port_slave_changelink()
756 struct net_bridge *br = netdev_priv(brdev); br_changelink() local
763 err = br_set_forward_delay(br, nla_get_u32(data[IFLA_BR_FORWARD_DELAY])); br_changelink()
769 err = br_set_hello_time(br, nla_get_u32(data[IFLA_BR_HELLO_TIME])); br_changelink()
775 err = br_set_max_age(br, nla_get_u32(data[IFLA_BR_MAX_AGE])); br_changelink()
783 br->ageing_time = clock_t_to_jiffies(ageing_time); br_changelink()
789 br_stp_set_enabled(br, stp_enabled); br_changelink()
795 br_stp_set_bridge_priority(br, priority); br_changelink()
814 struct net_bridge *br = netdev_priv(brdev); br_fill_info() local
815 u32 forward_delay = jiffies_to_clock_t(br->forward_delay); br_fill_info()
816 u32 hello_time = jiffies_to_clock_t(br->hello_time); br_fill_info()
817 u32 age_time = jiffies_to_clock_t(br->max_age); br_fill_info()
818 u32 ageing_time = jiffies_to_clock_t(br->ageing_time); br_fill_info()
819 u32 stp_enabled = br->stp_enabled; br_fill_info()
820 u16 priority = (br->bridge_id.prio[0] << 8) | br->bridge_id.prio[1]; br_fill_info()
H A DMakefile7 bridge-y := br.o br_device.o br_fdb.o br_forward.o br_if.o br_input.o \
H A Dbr_private_stp.h48 return !memcmp(&p->designated_bridge, &p->br->bridge_id, 8) && 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);
H A Dbr_forward.c34 br_allowed_egress(p->br, nbp_get_vlan_info(p), skb) && should_deliver()
64 skb = br_handle_vlan(to->br, nbp_get_vlan_info(to), skb); __br_deliver()
70 if (unlikely(netpoll_tx_running(to->br->dev))) { __br_deliver()
94 skb = br_handle_vlan(to->br, nbp_get_vlan_info(to), skb); __br_forward()
174 static void br_flood(struct net_bridge *br, struct sk_buff *skb, br_flood() argument
185 list_for_each_entry_rcu(p, &br->port_list, list) { br_flood()
218 void br_flood_deliver(struct net_bridge *br, struct sk_buff *skb, bool unicast) br_flood_deliver() argument
220 br_flood(br, skb, NULL, __br_deliver, unicast); br_flood_deliver()
224 void br_flood_forward(struct net_bridge *br, struct sk_buff *skb, br_flood_forward() argument
227 br_flood(br, skb, skb2, __br_forward, unicast); br_flood_forward()
239 struct net_bridge *br = netdev_priv(dev); br_multicast_flood() local
244 rp = rcu_dereference(hlist_first_rcu(&br->router_list)); br_multicast_flood()
H A Dbr_sysfs_if.c163 br_fdb_delete_by_port(p->br, p, 0); // Don't delete local entry store_flush()
252 if (p->dev && p->br && brport_attr->store) { brport_store()
253 spin_lock_bh(&p->br->lock); brport_store()
255 spin_unlock_bh(&p->br->lock); brport_store()
276 struct net_bridge *br = p->br; br_sysfs_addif() local
280 err = sysfs_create_link(&p->kobj, &br->dev->dev.kobj, br_sysfs_addif()
292 return sysfs_create_link(br->ifobj, &p->kobj, p->sysfs_name); br_sysfs_addif()
298 struct net_bridge *br = p->br; br_sysfs_renameif() local
307 err = sysfs_rename_link(br->ifobj, &p->kobj, br_sysfs_renameif()
310 netdev_notice(br->dev, "unable to rename link %s to %s", br_sysfs_renameif()
H A Dbr_nf_core.c75 void br_netfilter_rtable_init(struct net_bridge *br) br_netfilter_rtable_init() argument
77 struct rtable *rt = &br->fake_rtable; br_netfilter_rtable_init()
80 rt->dst.dev = br->dev; br_netfilter_rtable_init()
H A Dbr_netfilter.c133 return port ? &port->br->fake_rtable : NULL; bridge_parent_rtable()
141 return port ? port->br->dev : NULL; bridge_parent()
476 struct net_device *vlan, *br; brnf_get_logical_dev() local
478 br = bridge_parent(dev); brnf_get_logical_dev()
480 return br; brnf_get_logical_dev()
482 vlan = __vlan_find_dev_deep_rcu(br, skb->vlan_proto, brnf_get_logical_dev()
485 return vlan ? vlan : br; brnf_get_logical_dev()
624 struct net_bridge *br; br_nf_pre_routing() local
633 br = p->br; br_nf_pre_routing()
636 if (!brnf_call_ip6tables && !br->nf_call_ip6tables) br_nf_pre_routing()
643 if (!brnf_call_iptables && !br->nf_call_iptables) br_nf_pre_routing()
789 struct net_bridge *br; br_nf_forward_arp() local
795 br = p->br; br_nf_forward_arp()
797 if (!brnf_call_arptables && !br->nf_call_arptables) br_nf_forward_arp()
/linux-4.1.27/drivers/clk/qcom/
H A Dclk-branch.c24 static bool clk_branch_in_hwcg_mode(const struct clk_branch *br) clk_branch_in_hwcg_mode() argument
28 if (!br->hwcg_reg) clk_branch_in_hwcg_mode()
31 regmap_read(br->clkr.regmap, br->hwcg_reg, &val); clk_branch_in_hwcg_mode()
33 return !!(val & BIT(br->hwcg_bit)); clk_branch_in_hwcg_mode()
36 static bool clk_branch_check_halt(const struct clk_branch *br, bool enabling) clk_branch_check_halt() argument
38 bool invert = (br->halt_check == BRANCH_HALT_ENABLE); clk_branch_check_halt()
41 regmap_read(br->clkr.regmap, br->halt_reg, &val); clk_branch_check_halt()
43 val &= BIT(br->halt_bit); clk_branch_check_halt()
55 static bool clk_branch2_check_halt(const struct clk_branch *br, bool enabling) clk_branch2_check_halt() argument
63 regmap_read(br->clkr.regmap, br->halt_reg, &val); clk_branch2_check_halt()
74 static int clk_branch_wait(const struct clk_branch *br, bool enabling, clk_branch_wait() argument
77 bool voted = br->halt_check & BRANCH_VOTED; clk_branch_wait()
78 const char *name = __clk_get_name(br->clkr.hw.clk); clk_branch_wait()
81 if (clk_branch_in_hwcg_mode(br)) clk_branch_wait()
84 if (br->halt_check == BRANCH_HALT_DELAY || (!enabling && voted)) { clk_branch_wait()
86 } else if (br->halt_check == BRANCH_HALT_ENABLE || clk_branch_wait()
87 br->halt_check == BRANCH_HALT || clk_branch_wait()
92 if (check_halt(br, enabling)) clk_branch_wait()
106 struct clk_branch *br = to_clk_branch(hw); clk_branch_toggle() local
117 return clk_branch_wait(br, en, check_halt); clk_branch_toggle()
/linux-4.1.27/arch/alpha/lib/
H A Ddec_and_lock.c25 2: br $29, 3f \n\
27 br $atomic_dec_and_lock_1..ng \n\
29 4: br 1b \n\
H A Ddbg_stackcheck.S25 br 1b
H A Dstrcpy.S21 br __stxcpy # do the copy
H A Dstrcat.S50 br __stxcpy
H A Dev67-strcat.S52 br __stxcpy # L0 :
H A Dmemmove.S104 br $egress
H A Dcallback_srm.S59 ldgp $29,0($27); br $25,srm_dispatch; .word CODE, ARG_CNT; .end callback_##NAME
H A Dclear_user.S99 br $loop # e1 :
H A Dcopy_user.S103 br $31,$41
H A Dmemset.S122 br __constant_c_memset /* .. E1 */
H A Dev6-stxncpy.S139 br $a_eos # L0 : Latency=3
174 br stxncpy_aligned # .. e1 :
332 br $u_final # L0 : Latency=3
H A Dstxncpy.S109 br $a_eos
139 br stxncpy_aligned # .. e1 :
286 br $u_final
/linux-4.1.27/arch/ia64/hp/sim/boot/
H A Dboot_head.S28 br.call.sptk.many rp=start_bootloader
37 br.ret.sptk.many b0
44 br.ret.sptk.many b0
51 br.sptk.few b7
64 (p6) br.cond.sptk.few static
69 (p6) br.cond.sptk.few stacked
72 (p7) br.cond.sptk.few 1f
78 br.cond.sptk.few rp
80 (p7) br.cond.sptk.few 1f
87 (p7) br.cond.sptk.few 1f
92 br.cond.sptk.few rp
94 (p7) br.cond.sptk.few 1f
103 br.cloop.sptk.few .loop
112 (p7) br.cond.sptk.few 1f
148 (p7) br.cond.sptk.few 1f
157 (p7) br.cond.sptk.few 1f
161 1: br.cond.sptk.few rp
163 br.ret.sptk.few rp
/linux-4.1.27/arch/alpha/include/asm/
H A Dspinlock.h39 " br 1b\n" arch_spin_lock()
76 " br 1b\n" arch_read_lock()
96 " br 1b\n" arch_write_lock()
116 "6: br 1b\n" arch_read_trylock()
138 "6: br 1b\n" arch_write_trylock()
156 "6: br 1b\n" arch_read_unlock()
H A Drwsem.h39 "2: br 1b\n" __down_read()
81 "2: br 1b\n" __down_write()
117 "2: br 1b\n" __up_read()
143 "2: br 1b\n" __up_write()
171 "2: br 1b\n" __downgrade_write()
192 "2: br 1b\n" rwsem_atomic_add()
213 "2: br 1b\n" rwsem_atomic_update()
H A Dxchg.h32 "2: br 1b\n" ____xchg()
56 "2: br 1b\n" ____xchg()
76 "2: br 1b\n" ____xchg()
96 "2: br 1b\n" ____xchg()
155 "3: br 1b\n" ____cmpxchg()
182 "3: br 1b\n" ____cmpxchg()
205 "3: br 1b\n" ____cmpxchg()
228 "3: br 1b\n" ____cmpxchg()
H A Datomic.h42 "2: br 1b\n" \
60 "2: br 1b\n" \
78 "2: br 1b\n" \
96 "2: br 1b\n" \
147 "3: br 1b\n" __atomic_add_unless()
179 "3: br 1b\n" atomic64_add_unless()
207 "3: br 1b\n" atomic64_dec_if_positive()
H A Dfutex.h20 "4: br 1b\n" \
102 "4: br 1b\n" futex_atomic_cmpxchg_inatomic()
H A Dlocal.h30 "2: br 1b\n" local_add_return()
47 "2: br 1b\n" local_sub_return()
H A Dbitops.h39 "2: br 1b\n" set_bit()
68 "2: br 1b\n" clear_bit()
111 "2: br 1b\n" change_bit()
150 "3: br 1b\n" test_and_set_bit()
177 "3: br 1b\n" test_and_set_bit_lock()
221 "3: br 1b\n" test_and_clear_bit()
263 "3: br 1b\n" test_and_change_bit()
H A Dprocessor.h16 ({ void *__pc; __asm__ ("br %0,.+4" : "=r"(__pc)); __pc; })
/linux-4.1.27/arch/s390/kernel/
H A Dmcount.S16 br %r14
24 br %r14
67 br %r1
80 br %r14
H A Dsclp.S84 br %r14 # return to caller
132 br %r14
178 br %r14
254 br %r14
295 br %r14
H A Dentry.S193 br %r14
685 br %r14
851 0: br %r14
908 br %r14
918 br %r14
928 br %r14
934 br %r14
944 br %r14
975 br %r14
1029 br %r14
H A Dbase.S112 br %r14
H A Dhead.S74 br %r14
83 br %r14
130 br %r4 # r2 contains the total size
258 br %r1
H A Dswsusp.S119 br %r14
301 br %r14
/linux-4.1.27/arch/ia64/sn/kernel/sn2/
H A Dptc_deadlock.S54 (p6) br.cond.sptk 5b
69 (p6) br.cond.sptk 5b;;
80 (p6) br.cond.sptk 5b
89 (p8) br.cond.spnt 1b;; // Repeat if DEADLOCK occurred.
91 br.ret.sptk rp
/linux-4.1.27/arch/ia64/lib/
H A Dmemcpy.S63 (p6) br.ret.spnt.many rp // zero length, return immediately
71 adds cnt=-1,cnt // br.ctop is repeat/until
82 (p7) br.cond.spnt.few .memcpy_short
83 (p6) br.cond.spnt.few .memcpy_long
103 br.ctop.dptk.few 1b
109 br.ret.sptk.many rp
119 adds cnt=-1,in2 // br.ctop is repeat/until
147 br.ctop.dptk.few 1b
152 br.ret.sptk.many rp
169 * On Itanium, the pipeline itself runs without stalls. However, br.ctop
239 adds t2=-1,t2 // br.ctop is repeat/until
254 br.sptk.few b6
270 br.ret.sptk.many rp
284 br.ctop.dptk.few 1b; \
290 br .memcpy_tail
H A Dmemcpy_mck.S78 br.cond.sptk .common_code
102 (p15) br.cond.dpnt .memcpy_short
103 (p13) br.cond.dpnt .align_dest
104 (p14) br.cond.dpnt .unaligned_src
127 (p6) br.cond.dpnt .long_copy
133 br.cloop.dptk.few .prefetch
150 (p10) br.dpnt.few .aligned_src_tail
163 br.ctop.dptk.few 1b
183 br.dptk.many .memcpy_short
213 br.ctop.sptk .prefetch_loop
259 br.ctop.sptk .line_copy
266 br.sptk.many .medium_copy
312 br.cloop.dptk.few 1b
323 (p8) br.dpnt.few .noloop
346 br.cond.sptk.few b6
371 (p8) br.dpnt .4k_block
415 (p9) br.ret.dpnt rp // 0 byte copy
420 (p11) br.ret.dpnt rp // 1 byte copy
424 (p13) br.ret.dpnt rp // 2 byte copy
433 (p15) br.ret.dpnt rp // 3 byte copy
438 (p7) br.ret.dpnt rp // 4 byte copy
443 (p9) br.ret.dptk rp // 5 byte copy
446 (p11) br.ret.dptk rp // 6 byte copy
450 br.ret.dptk rp // done all cases
495 (p6) br.cond.dptk .aligned_src
496 (p7) br.cond.dpnt .unaligned_src
510 br.ctop.dptk.few 1b;; \
513 br.sptk.few .unaligned_src_tail /* branch out of jump table */ \
566 br.sptk .ex_handler
570 br.sptk .ex_handler
582 br.sptk .ex_handler
613 (p14) br.ret.sptk.many rp
649 (p8) br.call.sptk.few b0=__copy_user // recursive call
657 (p8) br.call.sptk.few b0=memset
663 br.ret.sptk.many rp
H A Dmemset.S76 (p_scr) br.ret.dpnt.many rp // return immediately if count = 0
83 (p_scr) br.cond.dptk.many .move_bytes_unaligned // go move just a few (M_B_U)
119 (p_scr) br.cond.dpnt.many .fraction_of_line // go move just a few
125 (p_zr) br.cond.dptk.many .l1b // Jump to use stf.spill
150 br.cloop.dptk.few .pref_l1a
189 br.cloop.dptk.few .l1ax
193 (p_scr) br.cond.dpnt.many .fraction_of_line // Branch no. 2
194 br.cond.dpnt.many .move_bytes_from_alignment // Branch no. 3
220 br.cloop.dptk.few .pref_l1b
243 br.cloop.dptk.few .l1bx
247 (p_scr) br.cond.dpnt.many .move_bytes_from_alignment //
258 (p_scr) br.cond.dpnt.many .store_words
272 br.cloop.dptk.many .l2
277 (p_scr) br.cond.dpnt.many .move_bytes_from_alignment // Branch
299 (p_scr) br.cond.dpnt.few .restore_and_exit
317 br.ret.sptk.many rp
360 br.ret.sptk.many rp
H A Dcopy_user.S81 adds len2=-1,len // br.ctop is repeat/until
88 (p8) br.ret.spnt.many rp // empty mempcy()
106 (p10) br.cond.dptk .long_copy_user
115 br.ctop.dptk.few 1b
120 br.ret.sptk.many rp // end of short memcpy
156 (p15) br.cond.spnt 1f
166 br.cond.spnt .word_copy_user
197 br.ctop.dptk.few 2b
203 (p9) br.cond.spnt 4f // if (16 > len1) skip 8-byte copy
235 (pred) br.cond.spnt .copy_user_bit##shift
243 br.ctop.dptk 1b; \
245 br.cond.sptk.many .diff_align_do_tail; \
252 br.ctop.dptk 2b; \
254 br.cond.sptk.many .failure_in2
308 br.ctop.dptk.few 5b
313 br.ret.sptk.many rp
324 (p8) br.cond.dpnt .diff_align_copy_user
364 adds tmp=-1,cnt // br.ctop is repeat/until
365 (p7) br.cond.dpnt .dotail // we have less than 16 bytes left
380 br.ctop.dptk 2b
410 br.ret.sptk.many rp
442 br.ctop.dptk 1b
447 br.ret.sptk.many rp
459 br.ctop.dptk 2b
462 br.cond.dptk.many .failure_in1bis
553 br.cloop.dptk 5b
558 br.ret.sptk.many rp
578 br.ctop.dptk 2b
582 (p6) br.cond.dptk .failure_in1bis
587 br.ret.sptk.many rp
593 (p6) br.cond.dptk .failure_in1bis
598 br.ret.sptk.many rp
609 br.ret.sptk.many rp
H A Dclear_page.S47 br.cloop.sptk.few .fetch
72 br.cloop.sptk.few 1b
75 br.ret.sptk.many rp
H A Dip_fast_csum.S44 (p6) br.spnt .generic
75 br.ret.sptk.many b0
88 br.call.sptk.many b0=do_csum
93 br.ret.sptk.many b0
143 br.ret.sptk.many b0
H A Dclear_user.S63 adds tmp=-1,len // br.ctop is repeat/until
65 (p6) br.ret.spnt.many rp
69 (p6) br.cond.dptk .long_do_clear
82 br.cloop.dptk 1b
90 br.ret.sptk.many rp // end of short clear_user
122 (p6) br.cond.dpnt .dotail // we have less than 16 bytes left
151 br.cloop.dptk 2b
181 br.ret.sptk.many rp // end of most likely path
208 br.ret.sptk.many rp
H A Dstrlen_user.S122 (p6) br.wtop.dptk.few 1b // loop until p6 == 0
133 (p6) br.cond.spnt .recover // jump to recovery if val1 is NaT
140 (p7) br.cond.spnt .recover // jump to recovery if val2 is NaT
152 br.ret.sptk.many rp // end of normal execution
180 (p6) br.wtop.dptk.few 2b // loop until p6 == 0
188 br.ret.sptk.many rp // end of successful recovery code
197 br.ret.sptk.many rp
H A Dcarta_random.S53 br.ret.sptk.many rp
H A Dcopy_page.S92 br.ctop.sptk.few 1b
97 br.ret.sptk.many rp
H A Dstrlen.S119 (p6) br.wtop.dptk 1b // loop until p6 == 0
130 (p6) br.cond.spnt .recover // jump to recovery if val1 is NaT
137 (p7) br.cond.spnt .recover // jump to recovery if val2 is NaT
149 br.ret.sptk.many rp // end of normal execution
183 (p6) br.wtop.dptk 2b // loop until p6 == 0
191 br.ret.sptk.many rp // end of successful recovery code
H A Dcopy_page_mck.S134 br.ctop.sptk .prefetch_loop
136 cmp.eq p16, p0 = r0, r0 // reset p16 to 1 (br.ctop cleared it to zero)
180 br.ctop.sptk .line_copy
184 br.ret.sptk.many rp
H A Ddo_csum.S138 (p6) br.ret.spnt.many rp // return if zero or negative length
190 (p8) br.cond.dptk .do_csum_exit // if (within an 8-byte word)
191 (p11) br.cond.dptk .do_csum16 // if (count is even)
203 (p9) br.cond.sptk .do_csum_exit // if (count == 1) exit
235 br.ctop.sptk 1b
289 br.ret.sptk.many rp
321 // br.ret.sptk.many rp
H A Didiv32.S82 br.ret.sptk.many rp
H A Didiv64.S79 br.ret.sptk.many rp
/linux-4.1.27/arch/ia64/kernel/
H A Dpal.S36 br.ret.sptk.many rp
42 * calls are done via "br.cond" (not "br.call").
46 br.cond.sptk.many rp
81 br.cond.sptk.many b7
88 br.ret.sptk.many b0
117 br.call.sptk.many rp=b7 // now make the call
123 br.ret.sptk.many b0
176 br.call.sptk.many rp=ia64_switch_mode_phys
180 br.cond.sptk.many b7
186 br.call.sptk.many rp=ia64_switch_mode_virt // return to virtual mode
194 br.ret.sptk.many b0
228 br.call.sptk.many rp=ia64_switch_mode_phys
237 br.call.sptk.many rp=b7 // now make the call
243 br.call.sptk.many rp=ia64_switch_mode_virt // return to virtual mode
251 br.ret.sptk.many b0
276 br.ret.sptk.many rp
297 br.ret.sptk.many rp
H A Drelocate_kernel.S82 (p7) br.cond.dpnt.few 4f
88 br.cloop.sptk.few 3b
93 br.sptk.few 2b
133 br.sptk.few .dest_page
140 (p6) br.cond.sptk.few .loop;;
144 (p6) br.cond.sptk.few .loop;;
147 (p6) br.cond.sptk.few .end_loop;;
150 (p6) br.cond.sptk.few .loop
162 br.ctop.sptk.few 1b
163 br.sptk.few .loop
173 br.call.sptk.many b0=b6;;
322 br.ret.sptk.many rp
H A Defi_stub.S21 * (the br.ia instruction fails unless psr.dfl and psr.dfh are
65 br.call.sptk.many rp=ia64_switch_mode_phys
75 br.call.sptk.many rp=b6 // call the EFI function
80 br.call.sptk.many rp=ia64_switch_mode_virt // return to virtual mode
85 br.ret.sptk.many rp
H A Desi_stub.S24 * (the br.ia instruction fails unless psr.dfl and psr.dfh are
82 br.call.sptk.many rp=ia64_switch_mode_phys
85 br.call.sptk.many rp=b6 // call the ESI function
90 br.call.sptk.many rp=ia64_switch_mode_virt // return to virtual mode
95 br.ret.sptk.many rp
H A Dentry.S71 br.call.sptk.many rp=sys_execve
80 (p7) br.ret.sptk.many rp
100 br.ret.sptk.many rp
126 br.call.sptk.many rp=do_fork
131 br.ret.sptk.many rp
157 br.call.sptk.many rp=do_fork
162 br.ret.sptk.many rp
192 (p6) br.cond.dpnt .map
205 br.ret.sptk.many rp // boogie on out in new context
223 br.cond.sptk .done
357 br.cond.sptk.many b7
457 br.cond.sptk.many b7
480 br.ret.sptk.many rp
506 br.call.sptk.many rp=syscall_trace_enter // give parent a chance to catch syscall args
511 (p6) br.cond.sptk strace_error // syscall failed ->
540 br.call.sptk.many rp=b6 // do the syscall
546 (p6) br.cond.sptk strace_error // syscall failed ->
551 br.call.sptk.many rp=syscall_trace_leave // give parent a chance to catch return value
555 br.cond.sptk ia64_work_pending_syscall_end
566 br.cond.sptk .strace_save_retval
581 br.call.sptk.many rp=syscall_trace_leave // give parent a chance to catch return value
583 .ret4: br.cond.sptk ia64_leave_kernel
598 br.call.sptk.many rp=b6 // fn(arg)
604 br.ret.sptk.many rp
620 br.call.sptk.many rp=ia64_invoke_schedule_tail
623 (pKStk) br.call.sptk.many rp=call_payload
632 (p6) br.cond.spnt .strace_check_retval
641 (p7) br.cond.spnt handle_syscall_error // handle potential syscall failure
644 br.cond.sptk.few ia64_leave_syscall
752 (p6) br.cond.spnt .work_pending_syscall
810 (pKStk) br.cond.dpnt.many skip_rbs_switch // B
838 br.cond.sptk.many rbs_switch // B
894 (p6) br.cond.spnt .work_pending
1002 // mib : mov add br -> mib : ld8 add br
1003 // bbb_ : br nop cover;; mbb_ : mov br cover;;
1012 (pKStk) br.cond.dpnt skip_rbs_switch
1021 (pKStk) br.cond.dpnt skip_rbs_switch
1029 (pNonSys) br.cond.dpnt dont_preserve_current_frame
1075 nop.b 0 // can't do br.call here because of alloc (WAW on CFM)
1084 (pRecurse) br.call.sptk.many b0=rse_clear_invalid
1089 cmp.ne pReturn,p0=r0,in1 // if recursion count != 0, we need to do a br.ret
1093 (pReturn) br.ret.sptk.many b0
1108 (pRecurse) br.call.dptk.few b0=rse_clear_invalid
1112 cmp.ne pReturn,p0=r0,in1 // if recursion count != 0, we need to do a br.ret
1115 (pReturn) br.ret.dptk.many b0
1171 (p6) br.cond.sptk.few .notify
1172 br.call.spnt.many rp=preempt_schedule_irq
1174 (pLvSys)br.cond.sptk.few __paravirt_pending_syscall_end
1175 br.cond.sptk.many .work_processed_kernel
1178 (pUStk) br.call.spnt.many rp=notify_resume_user
1180 (pLvSys)br.cond.sptk.few __paravirt_pending_syscall_end
1181 br.cond.sptk.many .work_processed_kernel
1190 br.cond.sptk.many __paravirt_work_processed_syscall_target
1208 br.cond.sptk ia64_leave_syscall
1221 br.call.sptk.many rp=schedule_tail
1224 br.ret.sptk.many rp
1250 br.call.sptk.many rp=do_notify_resume_user
1259 br.ret.sptk.many rp
1292 br.call.sptk.many rp=ia64_rt_sigreturn
1300 br.many b7
1310 br.call.sptk.many rp=ia64_handle_unaligned // stack frame setup in ivt
1313 br.cond.sptk.many rp // goes to ia64_leave_kernel
1340 br.call.sptk.many rp=unw_init_frame_info
1347 br.call.sptk.many rp=b6 // invoke the callback function
1358 br.ret.sptk.many rp
1364 br ftrace_stub
1368 br.ret.sptk.many b0
1377 br.call.sptk.many b0 = ftrace_patch_gp
1401 br.call.sptk.many b0 = b6
1407 br ftrace_stub
1418 (p7) br.sptk.many ftrace_stub
1432 br.call.sptk.many b0 = b6
1438 br ftrace_stub
1449 br.ret.sptk.many b6
1455 br b7
H A Djprobes.S62 br.call.sptk.many b0=jprobe_break
70 br.ret.sptk.many b6
81 br.cond.sptk.many rp
88 br.ret.sptk.many rp
H A Dmca_asm.S81 (p7) br.cond.dpnt.few 4f
87 br.cloop.sptk.few 3b
92 br.sptk.few 2b
133 br.sptk.many b1
144 br.sptk ia64_state_save // save the state that is not in minstate
155 (p7) br.spnt done_tlb_purge_and_reload
163 br.sptk.many ia64_do_tlb_purge;;
236 br.sptk ia64_new_stack
242 br.sptk ia64_set_kernel_registers
274 br.call.sptk.many b0=ia64_mca_handler
286 br.sptk ia64_old_stack
291 br.sptk ia64_state_restore // restore the SAL state
296 br b0
319 br b0
330 br.sptk ia64_os_init_dispatch
339 br.sptk ia64_state_save // save the state that is not in minstate
345 br.sptk ia64_new_stack
351 br.sptk ia64_set_kernel_registers
383 br.call.sptk.many b0=ia64_init_handler
393 br.sptk ia64_state_restore // restore the SAL state
400 br.sptk ia64_old_stack
404 br b0
693 br.sptk b0
881 (p6) br.spnt 1f // the dreaded cpu 0 idle task in region 5:(
892 br.sptk b0
939 br.sptk b0
1000 br.sptk b0
1067 br.sptk b0
1094 br.ret.sptk.many rp
1121 br.ret.sptk.many rp
H A Dparavirtentry.S46 br.cond.sptk.many breg
79 br.ret.sptk.many rp
H A Dhead.S55 br.cloop.sptk.many 1b
62 br.cloop.sptk.many _lbl
97 br.cloop.sptk.few RestRR
315 (isBP) br.cond.dpnt .load_current // BP stack is on region 5 --- no need to map it
368 (isAP) br.few 2f
377 (p7) br.cond.dptk.few 1b
413 (p7) br.call.sptk.many rp=b1
433 (isAP) br.call.sptk.many rp=start_secondary
435 (isAP) br.cond.sptk self
442 br.call.sptk.many rp=sys_fw_init
445 br.call.sptk.many rp=start_kernel
451 br.call.sptk.many b0=console_print
454 br.sptk.many self // endless loop
476 br.cloop.sptk.many 1b
479 br.ret.sptk.many rp
500 br.cloop.sptk.many 1b
503 br.ret.sptk.many rp
668 br.ret.sptk.many rp
798 br.ret.sptk.many rp
909 br.ret.sptk.many rp // F
958 br.ret.sptk.many rp
1009 br.ret.sptk.many rp
1025 1: br.cloop.sptk.few 1b
1028 br.ret.sptk.many rp
1064 br.ret.sptk.many rp
1089 br.ret.sptk.many rp
1104 br.ret.sptk.many rp; \
1144 br.sptk.many b2;; // jump to tlb purge code
1208 br.ret.sptk.many b0;;
H A Divt.S82 br.sptk.many dispatch_to_fault_handler
187 (p6) br.cond.spnt.many page_fault // handle bad address/page not present (page fault)
268 (p6) br.cond.spnt page_fault
312 (p6) br.cond.spnt page_fault
354 (p8) br.cond.dptk .itlb_fault
365 (p8) br.cond.spnt page_fault
394 (p8) br.cond.dptk dtlb_fault
415 (p8) br.cond.spnt page_fault
503 (p6) br.cond.spnt page_fault
505 br.sptk.many b0 // return to continuation point
751 (p7) br.cond.spnt non_syscall // B no ->
813 (pKStk) br.cond.spnt .break_fixup // B we're already in kernel-mode -- fix up RBS
818 br.call.sptk.many b7=ia64_syscall_setup // B
824 (pKStk) br.cond.spnt .skip_accounting // B unlikely skip
854 (p10) br.cond.spnt.many ia64_ret_from_syscall // B return if bad call-frame or r15 is a NaT
857 (p14) br.call.sptk.many b6=b6 // B invoke syscall-handker (ignore return addr)
858 br.cond.spnt.many ia64_trace_syscall // B do syscall-tracing thingamagic
869 br.cond.sptk .back_from_break_fixup
877 br.sptk.many __interrupt
1030 br.ret.sptk.many b7
1077 br.ret.sptk.many rp
1120 br.sptk.many page_fault
1133 br.sptk.many page_fault
1146 br.sptk.many page_fault
1159 br.sptk.many page_fault
1171 (p6) br.sptk.many dispatch_illegal_op_fault
1174 br.sptk.many dispatch_to_fault_handler
1187 br.sptk.many dispatch_to_fault_handler
1205 (p6) br.cond.spnt 1f // branch if (cr.ispr.na == 0 || cr.ipsr.code{3:0} != LFETCH)
1275 br.sptk.many dispatch_unaligned_handler
1536 br.call.sptk.many b6=ia64_do_page_fault // ignore return address
1562 br.call.sptk.many b6=ia64_bad_break // avoid WAW on CFM and ignore return addr
1585 br.call.sptk.many b6=ia64_handle_irq
1611 br.sptk.many ia64_prepare_handle_unaligned
1646 br.call.sptk.many b6=ia64_fault
1674 br.call.sptk.many rp=ia64_illegal_op_fault
1686 (p6) br.call.dpnt.many b6=b6 // call returns to ia64_leave_kernel
1687 br.sptk.many ia64_leave_kernel
H A Dgate.S49 br.ret.sptk.many b6
121 br.call.sptk.many rp=1f
130 (p1) br.cond.spnt setup_rbs // yup -> (clobbers p8, r14-r16, and r18-r20)
163 br.call.sptk.many rp=b6 // call the signal handler
170 (p1) br.cond.spnt restore_rbs // yup -> (clobbers r14-r18, f6 & f7)
224 br.cond.sptk back_from_setup_rbs
296 br.cond.sptk back_from_restore_rbs
354 (p8) br.dptk.many b7 // B
369 (p6) br.sptk.many b7
H A Dentry.h72 br.cond.sptk.many save_switch_stack; \
80 br.cond.sptk.many load_switch_stack; \
H A Dfsys.S89 (p8) br.spnt.many fsys_fallback_syscall
122 (p8) br.spnt.many fsys_fallback_syscall
146 (p6) br.cond.spnt.few .fail_einval
195 (p6) br.cond.spnt.few .fail_einval
210 (p6) br.cond.spnt.many fsys_fallback_syscall
272 (p7) br.cond.dpnt.few .time_redo // sequence number changed, redo
289 (p6) br.cond.dpnt.few .time_normalize
321 (p6) br.spnt.few fsys_fallback_syscall
324 br.many .gettime
342 (p6) br.cond.spnt.few .fail_einval // B
345 (p7) br.cond.spnt.few .fail_einval // B
361 (p8) br.spnt.many fsys_fallback_syscall
374 (p8) br.spnt.many fsys_fallback_syscall
509 br.call.sptk.many b7=ia64_syscall_setup // B
539 (p10) br.cond.spnt.many ia64_ret_from_syscall // B return if bad call-frame or r15 is a NaT
542 (p8) br.call.sptk.many b6=b6 // B (ignore return address)
543 br.cond.spnt ia64_trace_syscall // B
H A Dminstate.h12 (pUStk) br.call.spnt rp=account_sys_enter \
217 [1:](pKStk) br.cond.sptk.many 1f; \
226 (p1) br.cond.sptk.many 1f; \
234 br.ret.sptk b0; \
H A Dparavirt.c305 "br.cond.sptk.many b6\n" \
403 "(p6) br.cond.sptk.many b6\n" \
481 "(p6) br.cond.sptk.many b6\n" \
494 "(p6) br.cond.sptk.many b6\n"
H A Dptrace.c906 retval |= __put_user(pt->b0, &ppr->br[0]); ptrace_getregs()
913 __put_user(val, &ppr->br[i]); ptrace_getregs()
918 retval |= __put_user(pt->b6, &ppr->br[6]); ptrace_getregs()
919 retval |= __put_user(pt->b7, &ppr->br[7]); ptrace_getregs()
1043 retval |= __get_user(pt->b0, &ppr->br[0]); ptrace_setregs()
1048 retval |= __get_user(val, &ppr->br[i]); ptrace_setregs()
1054 retval |= __get_user(pt->b6, &ppr->br[6]); ptrace_setregs()
1055 retval |= __get_user(pt->b7, &ppr->br[7]); ptrace_setregs()
/linux-4.1.27/drivers/media/dvb-frontends/
H A Dzl10036.c49 u8 br, bf; member in struct:zl10036_state
206 u8 br, bf; zl10036_set_bandwidth() local
212 0xf0, 0x00, /* 12/13: br=0xa clr=0 tl=0*/ zl10036_set_bandwidth()
226 br = _BR_MAXIMUM; zl10036_set_bandwidth()
230 * br = (10111/34600) * 63 * 1/K = 14; zl10036_set_bandwidth()
232 br = ((_XTAL * 21 * 1000) / (fbw * 419)); zl10036_set_bandwidth()
236 if (br < 4) zl10036_set_bandwidth()
237 br = 4; zl10036_set_bandwidth()
238 if (br > _BR_MAXIMUM) zl10036_set_bandwidth()
239 br = _BR_MAXIMUM; zl10036_set_bandwidth()
243 * bf = fbw/_XTAL * br * k - 1 */ zl10036_set_bandwidth()
245 bf = (fbw * br * 1257) / (_XTAL * 1000) - 1; zl10036_set_bandwidth()
252 buf_br[1] = (br << 2) & 0x7c; zl10036_set_bandwidth()
253 deb_info("%s: BW=%d br=%u bf=%u\n", __func__, fbw, br, bf); zl10036_set_bandwidth()
255 if (br != state->br) { zl10036_set_bandwidth()
266 /* time = br/(32* fxtal) */ zl10036_set_bandwidth()
268 * maximum br is 63 -> max time = 2 /10 MHz = 2e-7 */ zl10036_set_bandwidth()
277 state->br = br; zl10036_set_bandwidth()
406 { 0xf0, 0x28 }, /* 12/13: br=0xa clr=0 tl=0*/ zl10036_init_regs()
411 state->br = 0xff; zl10036_init_regs()
/linux-4.1.27/arch/s390/boot/compressed/
H A Dhead.S35 br %r1
39 br %r6
/linux-4.1.27/arch/s390/kernel/vdso32/
H A Dclock_getres.S39 br %r14
42 br %r14
H A Dclock_gettime.S75 br %r14
138 br %r14
144 br %r14
H A Dgettimeofday.S76 br %r14
/linux-4.1.27/arch/s390/kernel/vdso64/
H A Dclock_getres.S45 br %r14
48 br %r14
H A Dclock_gettime.S59 br %r14
105 br %r14
139 br %r14
145 br %r14
H A Dgettimeofday.S55 br %r14
/linux-4.1.27/arch/alpha/boot/
H A Dhead.S13 br $29,2f
64 br $17,1f
/linux-4.1.27/arch/nios2/kernel/
H A Dentry.S238 br translate_rc_and_ret
288 br ret_from_exception
299 br ret_from_exception
317 br local_restart /* restart syscall */
321 br ret_from_exception
362 /* br ret_from_interrupt */ /* fall through to ret_from_interrupt */
379 br restore_all
417 br ret_from_exception
422 br ret_from_exception
426 br ret_from_exception
430 br ret_from_exception
437 br ret_from_exception
441 br ret_from_exception
446 br ret_from_exception
450 br ret_from_exception
455 br ret_from_exception
460 br ret_from_exception
464 br ret_from_exception
469 br ret_from_exception
498 br ret_from_exception
504 br ret_from_exception
H A Dhead.S75 br 1f
/linux-4.1.27/drivers/pcmcia/
H A Dsa1100_nanoengine.c8 * http://cambuca.ldhs.cetuc.puc-rio.br/nanoengine/
10 * Copyright (C) 2010 Marcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
13 * Miguel Freitas <miguel@cpti.cetuc.puc-rio.br>
/linux-4.1.27/include/net/
H A Dllc_s_st.h5 * 2001 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_sap.h8 * 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dtimewait_sock.h4 * Authors: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_c_st.h5 * 2001 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_if.h5 * 2001 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_s_ac.h5 * 2001 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_s_ev.h5 * 2001 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc.h5 * 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_conn.h5 * 2001, 2002 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
/linux-4.1.27/arch/s390/net/
H A Dbpf_jit.S66 br %r6; /* Return */
92 br %r6 # Return cc
106 br %r6; /* Return cc */
115 br %r6
/linux-4.1.27/arch/nios2/mm/
H A Duaccess.c54 " br 6b\n"
60 " br 5b\n"
116 " br 6b\n"
123 " br 5b\n"
/linux-4.1.27/net/llc/
H A DMakefile5 # 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dsysctl_net_llc.c4 * Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_output.c5 * 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_s_ev.c8 * 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_s_st.c8 * 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_station.c5 * 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_core.c5 * 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dllc_if.c5 * 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
/linux-4.1.27/drivers/misc/sgi-xp/
H A Dxp_nofault.S30 br.ret.sptk.many b0;; // Return success
35 br.ret.sptk.many b0;; // Return failure
/linux-4.1.27/drivers/media/rc/keymaps/
H A Drc-avermedia-m733a-rm-k6.c3 * Copyright (c) 2010 by Herton Ronaldo Krzesinski <herton@mandriva.com.br>
17 * Herton Ronaldo Krzesinski <herton@mandriva.com.br>
H A Drc-avermedia-m135a.c4 * Copyright (c) 2010 by Herton Ronaldo Krzesinski <herton@mandriva.com.br>
23 * codes added by Herton Ronaldo Krzesinski <herton@mandriva.com.br>
H A Drc-eztv.c17 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
/linux-4.1.27/arch/alpha/kernel/
H A Dentry.S240 br ret_from_sys_call
421 br ret_from_sys_call
506 br restore_all
526 br ret_from_sys_call
531 br ret_from_sys_call
558 br ret_to_user
565 br restore_all
608 br $31, ret_from_sys_call
630 br ret_from_sys_call
791 br $31, ret_to_user
830 1: br $1, undo_switch_stack
831 br ret_from_sys_call
845 1: br $1, undo_switch_stack
846 br ret_from_sys_call
H A Dhead.S23 br $27,1f
/linux-4.1.27/arch/powerpc/sysdev/
H A Dfsl_lbc.c77 u32 br = in_be32(&lbc->bank[i].br); fsl_lbc_find() local
80 if (br & BR_V && (br & or & BR_BA) == fsl_lbc_addr(addr_base)) fsl_lbc_find()
100 u32 br; fsl_upm_find() local
111 br = in_be32(&lbc->bank[bank].br); fsl_upm_find()
113 switch (br & BR_MSEL) { fsl_upm_find()
127 switch (br & BR_PS) { fsl_upm_find()
/linux-4.1.27/arch/ia64/include/asm/
H A Dasmmacro.h95 br.call.sptk.many b7=2f;; \
100 br.ret.sptk.many b6;; \
103 # define FSYS_RETURN br.ret.sptk.many b6
H A Dspinlock.h157 "br.few 3f\n" arch_read_lock_flags()
165 "(p7) br.cond.spnt.few 2b\n" arch_read_lock_flags()
171 "(p7) br.cond.spnt.few 1b\n" arch_read_lock_flags()
210 "br.few 3f;;\n" arch_write_lock_flags()
217 "(p7) br.cond.spnt.few 2b\n" arch_write_lock_flags()
223 "(p7) br.cond.spnt.few 1b;;\n" arch_write_lock_flags()
H A Dparavirt_patch.h31 br.cond.sptk.many 2f ; \
H A Dsal.h379 br : 1, member in struct:sal_processor_static_info::__anon1531
387 u64 br[8]; member in struct:sal_processor_static_info
864 u64 br[6]; /* br0: member in struct:sal_to_os_boot
/linux-4.1.27/drivers/media/usb/dvb-usb/
H A Ddtt200u-fe.c77 u8 bw = GET_SNR,br; dtt200u_fe_read_snr() local
78 dvb_usb_generic_rw(state->d,&bw,1,&br,1,0); dtt200u_fe_read_snr()
79 *snr = ~((br << 8) | br); dtt200u_fe_read_snr()
H A Dvp7045.c182 u8 v,br[2]; vp7045_read_eeprom() local
185 vp7045_usb_op(d,GET_EE_VALUE,&v,1,br,2,5); vp7045_read_eeprom()
186 buf[i] = br[1]; vp7045_read_eeprom()
/linux-4.1.27/drivers/crypto/vmx/
H A Dvmx.c19 * Author: Marcelo Henrique Cerri <mhcerri@br.ibm.com>
84 MODULE_AUTHOR("Marcelo Cerri<mhcerri@br.ibm.com>");
H A Daes.c19 * Author: Marcelo Henrique Cerri <mhcerri@br.ibm.com>
H A Daes_cbc.c19 * Author: Marcelo Henrique Cerri <mhcerri@br.ibm.com>
H A Daes_ctr.c19 * Author: Marcelo Henrique Cerri <mhcerri@br.ibm.com>
H A Dghash.c19 * Author: Marcelo Henrique Cerri <mhcerri@br.ibm.com>
/linux-4.1.27/drivers/acpi/
H A Dvideo.c770 struct acpi_video_device_brightness *br = device->brightness; acpi_video_bqc_quirk() local
783 test_level = current_level == max_level ? br->levels[3] : max_level; acpi_video_bqc_quirk()
795 if (level < br->count) { acpi_video_bqc_quirk()
796 if (br->flags._BCL_reversed) acpi_video_bqc_quirk()
797 level = br->count - 3 - level; acpi_video_bqc_quirk()
798 if (br->levels[level + 2] == test_level) acpi_video_bqc_quirk()
799 br->flags._BQC_use_index = 1; acpi_video_bqc_quirk()
802 if (!br->flags._BQC_use_index) acpi_video_bqc_quirk()
827 struct acpi_video_device_brightness *br = NULL; acpi_video_init_brightness() local
840 br = kzalloc(sizeof(*br), GFP_KERNEL); acpi_video_init_brightness()
841 if (!br) { acpi_video_init_brightness()
847 br->levels = kmalloc((obj->package.count + 2) * sizeof *(br->levels), acpi_video_init_brightness()
849 if (!br->levels) { acpi_video_init_brightness()
862 if (count > 2 && br->levels[count - 1] == value) acpi_video_init_brightness()
865 br->levels[count] = value; acpi_video_init_brightness()
867 if (br->levels[count] > max_level) acpi_video_init_brightness()
868 max_level = br->levels[count]; acpi_video_init_brightness()
879 if (br->levels[i] == br->levels[0]) acpi_video_init_brightness()
881 if (br->levels[i] == br->levels[1]) acpi_video_init_brightness()
887 br->flags._BCL_no_ac_battery_levels = 1; acpi_video_init_brightness()
889 br->levels[i] = br->levels[i - level_ac_battery]; acpi_video_init_brightness()
895 if (max_level == br->levels[2]) { acpi_video_init_brightness()
896 br->flags._BCL_reversed = 1; acpi_video_init_brightness()
897 sort(&br->levels[2], count - 2, sizeof(br->levels[2]), acpi_video_init_brightness()
899 } else if (max_level != br->levels[count - 1]) acpi_video_init_brightness()
903 br->count = count; acpi_video_init_brightness()
904 device->brightness = br; acpi_video_init_brightness()
907 br->curr = level = max_level; acpi_video_init_brightness()
934 for (i = 2; i < br->count; i++) acpi_video_init_brightness()
935 if (level == br->levels[i]) acpi_video_init_brightness()
937 if (i == br->count || !level) acpi_video_init_brightness()
951 kfree(br->levels); acpi_video_init_brightness()
953 kfree(br); acpi_video_init_brightness()
/linux-4.1.27/drivers/uio/
H A Duio_fsl_elbc_gpcm.c18 elbc-gpcm-br = <0xff810800>;
83 in_be32(&bank->br)); reg_show()
111 reg_br_cur = in_be32(&bank->br); reg_store()
126 out_be32(&bank->br, reg_new | BR_V); reg_store()
267 ret = of_property_read_u32(node, "elbc-gpcm-br", reg_br); get_of_data()
269 dev_err(priv->dev, "missing elbc-gpcm-br value\n"); get_of_data()
341 reg_br_cur = in_be32(&priv->lbc->bank[priv->bank].br); uio_fsl_elbc_gpcm_probe()
373 out_be32(&priv->lbc->bank[priv->bank].br, reg_br_new); uio_fsl_elbc_gpcm_probe()
/linux-4.1.27/scripts/kconfig/
H A Dqconf.cc1006 str += "</b></big><br><br>value: "; symbolInfo()
1008 str += "<br>visibility: "; symbolInfo()
1010 str += "<br>"; symbolInfo()
1045 head += "<br><br>"; menuInfo()
1057 head += "</b></big><br><br>"; menuInfo()
1062 debug += "<br><br>"; menuInfo()
1067 debug += QString().sprintf("defined at %s:%d<br><br>", _menu->file->name, _menu->lineno); menuInfo()
1080 debug += "<br>"; debug_info()
1084 debug += "<br>"; debug_info()
1092 debug += "</a><br>"; debug_info()
1101 debug += "<br>"; debug_info()
1107 debug += "<br>"; debug_info()
1113 debug += "<br>"; debug_info()
1118 debug += "<br>"; debug_info()
1121 debug += "<br>"; debug_info()
1149 res.replace(i, 1, "<br>"); print_filter()
H A Dkxgettext.c2 * Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 2005
/linux-4.1.27/drivers/media/usb/gspca/m5602/
H A Dm5602_sensor.h6 * Copyright (C) 2005 m5603x Linux Driver Project <m5602@x3ng.com.br>
H A Dm5602_bridge.h6 * Copyright (C) 2005 m5603x Linux Driver Project <m5602@x3ng.com.br>
/linux-4.1.27/drivers/net/wireless/rtl818x/rtl8187/
H A Drfkill.c4 * Copyright (c) 2009 Herton Ronaldo Krzesinski <herton@mandriva.com.br>
/linux-4.1.27/include/linux/
H A Dtfrc.h9 * Copyright (c) 2005 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dif_arp.h16 * Arnaldo Carvalho de Melo <acme@conectiva.com.br> ARPHRD_HWX25
/linux-4.1.27/arch/score/kernel/
H A Dhead.S70 br r30
H A Dentry.S102 br r30
401 br r3
493 br r8
/linux-4.1.27/arch/arm64/kvm/
H A Dhyp.S246 br x26
267 br x26
291 br x26
312 br x26
336 br x26
357 br x26
381 br x26
402 br x26
483 br x26
504 br x26
527 br x26
548 br x26
571 br x26
592 br x26
615 br x26
636 br x26
H A Dvgic-v3-switch.S71 br x24
93 br x24
199 br x24
221 br x24
H A Dhyp-init.S122 br x4
/linux-4.1.27/arch/arm/mach-sa1100/include/mach/
H A Dnanoengine.h7 * Copyright (C) 2010 Marcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
/linux-4.1.27/arch/arm/mach-omap1/
H A Dboard-h2-mmc.c5 * Author: Felipe Balbi <felipe.lima@indt.org.br>
H A Dboard-h3-mmc.c5 * Author: Felipe Balbi <felipe.lima@indt.org.br>
H A Dboard-sx1-mmc.c5 * Author: Carlos Eduardo Aguiar <carlos.aguiar@indt.org.br>
/linux-4.1.27/net/bridge/netfilter/
H A Debt_redirect.c29 br_port_get_rcu(par->in)->br->dev->dev_addr); ebt_redirect_tg()
H A Dnft_meta_bridge.c43 strncpy((char *)dest, p->br->dev->name, IFNAMSIZ); nft_meta_bridge_get_eval()
/linux-4.1.27/net/dccp/ccids/lib/
H A Dtfrc.h7 * Copyright (c) 2005 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dpacket_history.h17 * Arnaldo Carvalho de Melo <acme@conectiva.com.br>.
19 * Copyright (c) 2005 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dloss_interval.h7 * Copyright (c) 2005 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dloss_interval.c5 * Copyright (c) 2005 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
/linux-4.1.27/arch/powerpc/platforms/85xx/
H A Dp1022_ds.c135 static phys_addr_t lbc_br_to_phys(const void *ecm, unsigned int count, u32 br) lbc_br_to_phys() argument
142 return br & BR_BA; lbc_br_to_phys()
153 return (br & BR_BA) | ((lawbar & LAWBAR_MASK) << 12); lbc_br_to_phys()
233 br0 = in_be32(&lbc->bank[0].br); p1022ds_set_monitor_port()
234 br1 = in_be32(&lbc->bank[1].br); p1022ds_set_monitor_port()
252 out_be32(&lbc->bank[0].br, br0); p1022ds_set_monitor_port()
258 out_be32(&lbc->bank[1].br, br1); p1022ds_set_monitor_port()
/linux-4.1.27/fs/ubifs/
H A Dcommit.c596 struct ubifs_branch *br; dbg_check_old_index() local
650 br = ubifs_idx_branch(c, idx, child_cnt - 1); dbg_check_old_index()
651 key_read(c, &br->key, &u_key); dbg_check_old_index()
696 br = ubifs_idx_branch(c, idx, iip); dbg_check_old_index()
697 lnum = le32_to_cpu(br->lnum); dbg_check_old_index()
698 offs = le32_to_cpu(br->offs); dbg_check_old_index()
699 len = le32_to_cpu(br->len); dbg_check_old_index()
700 key_read(c, &br->key, &lower_key); dbg_check_old_index()
702 br = ubifs_idx_branch(c, idx, iip + 1); dbg_check_old_index()
703 key_read(c, &br->key, &upper_key); dbg_check_old_index()
H A Dtnc_misc.c305 const struct ubifs_branch *br = ubifs_idx_branch(c, idx, i); read_znode() local
308 key_read(c, &br->key, &zbr->key); read_znode()
309 zbr->lnum = le32_to_cpu(br->lnum); read_znode()
310 zbr->offs = le32_to_cpu(br->offs); read_znode()
311 zbr->len = le32_to_cpu(br->len); read_znode()
H A Dtnc_commit.c48 struct ubifs_branch *br = ubifs_idx_branch(c, idx, i); make_idx_node() local
51 key_write_idx(c, &zbr->key, &br->key); make_idx_node()
52 br->lnum = cpu_to_le32(zbr->lnum); make_idx_node()
53 br->offs = cpu_to_le32(zbr->offs); make_idx_node()
54 br->len = cpu_to_le32(zbr->len); make_idx_node()
850 struct ubifs_branch *br = ubifs_idx_branch(c, idx, i); write_index() local
853 key_write_idx(c, &zbr->key, &br->key); write_index()
854 br->lnum = cpu_to_le32(zbr->lnum); write_index()
855 br->offs = cpu_to_le32(zbr->offs); write_index()
856 br->len = cpu_to_le32(zbr->len); write_index()
H A Dsb.c78 struct ubifs_branch *br; create_default_filesystem() local
278 br = ubifs_idx_branch(c, idx, 0); create_default_filesystem()
279 key_write_idx(c, &key, &br->key); create_default_filesystem()
280 br->lnum = cpu_to_le32(main_first + DEFAULT_DATA_LEB); create_default_filesystem()
281 br->len = cpu_to_le32(UBIFS_INO_NODE_SZ); create_default_filesystem()
/linux-4.1.27/drivers/net/wan/
H A Dhd64570.c412 unsigned int tmc, br = 10, brv = 1024; sca_set_port() local
416 /* Try lower br for better accuracy*/ sca_set_port()
418 br--; sca_set_port()
423 }while (br > 1 && tmc <= 128); sca_set_port()
427 br = 0; /* For baud=CLOCK_BASE we use tmc=1 br=0 */ sca_set_port()
434 br = 9; /* Minimum clock rate */ sca_set_port()
439 port->rxs = (port->rxs & ~CLK_BRG_MASK) | br; sca_set_port()
440 port->txs = (port->txs & ~CLK_BRG_MASK) | br; sca_set_port()
H A Dhd64572.c375 unsigned int tmc, br = 10, brv = 1024; sca_set_port() local
379 /* Try lower br for better accuracy*/ sca_set_port()
381 br--; sca_set_port()
386 }while (br > 1 && tmc <= 128); sca_set_port()
390 br = 0; /* For baud=CLOCK_BASE we use tmc=1 br=0 */ sca_set_port()
397 br = 9; /* Minimum clock rate */ sca_set_port()
402 port->rxs = (port->rxs & ~CLK_BRG_MASK) | br; sca_set_port()
403 port->txs = (port->txs & ~CLK_BRG_MASK) | br; sca_set_port()
/linux-4.1.27/drivers/spi/
H A Dspi-fsl-dspi.c145 static void hz_to_spi_baud(char *pbr, char *br, int speed_hz, hz_to_spi_baud() argument
167 *br = i; hz_to_spi_baud()
178 *br = ARRAY_SIZE(brs) - 1; hz_to_spi_baud()
395 unsigned char br = 0, pbr = 0, pcssck = 0, cssck = 0; dspi_setup() local
426 hz_to_spi_baud(&pbr, &br, spi->max_speed_hz, clkrate); dspi_setup()
443 | SPI_CTAR_BR(br); dspi_setup()
/linux-4.1.27/arch/arm64/include/asm/
H A Dfpsimdmacros.h87 br x\tmpnr1
115 br x\tmpnr1
/linux-4.1.27/net/dccp/ccids/
H A Dccid3.h17 * Arnaldo Carvalho de Melo <acme@conectiva.com.br>.
19 * Copyright (c) 2005 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
/linux-4.1.27/drivers/video/backlight/
H A Dlp855x_bl.c235 static void lp855x_pwm_ctrl(struct lp855x *lp, int br, int max_br) lp855x_pwm_ctrl() argument
238 unsigned int duty = br * period / max_br; lp855x_pwm_ctrl()
265 int br = bl->props.brightness; lp855x_bl_update_status() local
268 lp855x_pwm_ctrl(lp, br, max_br); lp855x_bl_update_status()
H A Dlp8788_bl.c125 static void lp8788_pwm_ctrl(struct lp8788_bl *bl, int br, int max_br) lp8788_pwm_ctrl() argument
136 duty = br * period / max_br; lp8788_pwm_ctrl()
H A Dlm3630a_bl.c163 static void lm3630a_pwm_ctrl(struct lm3630a_chip *pchip, int br, int br_max) lm3630a_pwm_ctrl() argument
166 unsigned int duty = br * period / br_max; lm3630a_pwm_ctrl()
/linux-4.1.27/include/uapi/linux/
H A Dcycx_cfm.h5 * Author: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
H A Dif_arp.h16 * Arnaldo Carvalho de Melo <acme@conectiva.com.br> ARPHRD_HWX25
/linux-4.1.27/arch/arm/mach-sa1100/
H A Dnanoengine.c6 * Copyright (C) 2010 Marcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
/linux-4.1.27/fs/ocfs2/dlm/
H A Ddlmrecovery.c2653 struct dlm_begin_reco br; dlm_send_begin_reco_message() local
2667 memset(&br, 0, sizeof(br)); dlm_send_begin_reco_message()
2668 br.node_idx = dlm->node_num; dlm_send_begin_reco_message()
2669 br.dead_node = dead_node; dlm_send_begin_reco_message()
2687 &br, sizeof(br), nodenum, &status); dlm_send_begin_reco_message()
2742 struct dlm_begin_reco *br = (struct dlm_begin_reco *)msg->buf; dlm_begin_reco_handler() local
2752 dlm->name, br->node_idx, br->dead_node, dlm_begin_reco_handler()
2761 dlm->name, br->node_idx, br->dead_node, dlm_begin_reco_handler()
2764 dlm_fire_domain_eviction_callbacks(dlm, br->dead_node); dlm_begin_reco_handler()
2771 br->node_idx); dlm_begin_reco_handler()
2775 br->node_idx); dlm_begin_reco_handler()
2782 dlm->reco.dead_node, br->node_idx, br->dead_node); dlm_begin_reco_handler()
2784 dlm_set_reco_master(dlm, br->node_idx); dlm_begin_reco_handler()
2785 dlm_set_reco_dead_node(dlm, br->dead_node); dlm_begin_reco_handler()
2786 if (!test_bit(br->dead_node, dlm->recovery_map)) { dlm_begin_reco_handler()
2789 br->node_idx, br->dead_node, br->dead_node); dlm_begin_reco_handler()
2790 if (!test_bit(br->dead_node, dlm->domain_map) || dlm_begin_reco_handler()
2791 !test_bit(br->dead_node, dlm->live_nodes_map)) dlm_begin_reco_handler()
2794 br->dead_node); dlm_begin_reco_handler()
2797 set_bit(br->dead_node, dlm->domain_map); dlm_begin_reco_handler()
2798 set_bit(br->dead_node, dlm->live_nodes_map); dlm_begin_reco_handler()
2799 __dlm_hb_node_down(dlm, br->dead_node); dlm_begin_reco_handler()
2806 dlm->name, br->node_idx, br->dead_node, dlm_begin_reco_handler()
/linux-4.1.27/arch/powerpc/platforms/cell/spufs/
H A Dspu_restore.c39 #define BR_INSTR 0x327fff80 /* br -4 */
230 * followed by 'br -4' after end of restore restore_complete()
240 * followed by 'br -4' after end of restore code. restore_complete()
H A Dswitch.c1154 * by Stop and Signal instruction, followed by 'br -4'. setup_spu_status_part1()
1164 * 'br -4'. setup_spu_status_part1()
1172 * followed by 'br -4'. setup_spu_status_part1()
1180 * by 'br -4'. setup_spu_status_part1()
1188 * followed by 'br -4'. setup_spu_status_part1()
1196 * by 'br -4'. setup_spu_status_part1()
1209 * by 'br -4'. setup_spu_status_part1()
1223 * add a 'br *' instruction to the end of setup_spu_status_part2()
/linux-4.1.27/drivers/usb/serial/
H A Doti6858.c410 int br; oti6858_set_termios() local
442 br = tty_get_baud_rate(tty); oti6858_set_termios()
443 if (br == 0) { oti6858_set_termios()
448 br = min(br, OTI6858_MAX_BAUD_RATE); oti6858_set_termios()
450 new_divisor = (96000000 + 8 * br) / (16 * br); oti6858_set_termios()
/linux-4.1.27/drivers/video/fbdev/omap2/dss/
H A Dmanager-sysfs.c386 info.cpr_coefs.br, manager_cpr_coef_show()
405 &coefs.br, &coefs.bg, &coefs.bb) != 9) manager_cpr_coef_store()
410 coefs.br, coefs.bg, coefs.bb }; manager_cpr_coef_store()
/linux-4.1.27/drivers/media/usb/stkwebcam/
H A Dstk-webcam.h138 int stk_sensor_set_brightness(struct stk_camera *dev, int br);
H A Dstk-sensor.c587 int stk_sensor_set_brightness(struct stk_camera *dev, int br) stk_sensor_set_brightness() argument
589 if (br < 0 || br > 0xff) stk_sensor_set_brightness()
591 stk_sensor_outb(dev, REG_AEB, max(0x00, br - 6)); stk_sensor_set_brightness()
592 stk_sensor_outb(dev, REG_AEW, min(0xff, br + 6)); stk_sensor_set_brightness()
/linux-4.1.27/arch/nios2/include/asm/
H A Dentry.h33 br 2f
/linux-4.1.27/arch/arm64/kernel/
H A Defi-entry.S116 br x21
/linux-4.1.27/arch/arm/mach-omap2/
H A Dmcbsp.c5 * Contact: Eduardo Valentin <eduardo.valentin@indt.org.br>
/linux-4.1.27/scripts/
H A Dkernel-doc200 my $blankline_html5 = $local_lt . "br /" . $local_gt;
535 print "<b>enum " . $args{'enum'} . "</b> {<br>\n";
543 print "<br>";
545 print "};<br>\n";
577 print "<b>" . $args{'type'} . " " . $args{'struct'} . "</b> {<br>\n";
580 print "$parameter<br>\n";
590 print "&nbsp; &nbsp; <i>$1</i><b>$parameter</b>) <i>($2)</i>;<br>\n";
593 print "&nbsp; &nbsp; <i>$1</i> <b>$parameter</b>$2;<br>\n";
595 print "&nbsp; &nbsp; <i>$type</i> <b>$parameter</b>;<br>\n";
598 print "};<br>\n";
1391 print ".br\n.BI \" $parameter\"\n";
1397 print ", \n.br\n";
1428 print $args{'type'} . " " . $args{'struct'} . " {\n.br\n";
1432 print ".BI \"$parameter\"\n.br\n";
1450 print "\n.br\n";
1452 print "};\n.br\n";
/linux-4.1.27/drivers/tty/serial/
H A Dsirfsoc_uart.h331 #define SIRFSOC_UART_RX_TIMEOUT(br, to) (((br) * (((to) + 999) / 1000)) / 1000)
/linux-4.1.27/arch/score/lib/
H A Dchecksum.S131 br r3
253 br r3
/linux-4.1.27/arch/mips/alchemy/common/
H A Dclock.c398 long tdv, tpr, pr, nr, br, bpr, diff, lastdiff; alchemy_clk_fgcs_detr() local
404 br = -EINVAL; alchemy_clk_fgcs_detr()
439 br = nr; alchemy_clk_fgcs_detr()
465 br = nr; alchemy_clk_fgcs_detr()
474 return br; alchemy_clk_fgcs_detr()
H A Dusb.c511 static void au1000_usb_pm(unsigned long br, int creg, int susp) au1000_usb_pm() argument
513 void __iomem *base = (void __iomem *)KSEG1ADDR(br); au1000_usb_pm()
/linux-4.1.27/tools/perf/
H A Dbuiltin-record.c606 const struct branch_mode *br; parse_branch_stack() local
631 for (br = branch_modes; br->name; br++) { parse_branch_stack()
632 if (!strcasecmp(s, br->name)) parse_branch_stack()
635 if (!br->name) { parse_branch_stack()
641 *mode |= br->mode; parse_branch_stack()
/linux-4.1.27/drivers/net/
H A DSpace.c19 * Arnaldo Carvalho de Melo <acme@conectiva.com.br> - 09/1999
/linux-4.1.27/drivers/platform/x86/
H A Dtopstar-laptop.c4 * Copyright (c) 2009 Herton Ronaldo Krzesinski <herton@mandriva.com.br>
/linux-4.1.27/arch/powerpc/platforms/powermac/
H A Dudbg_scc.c63 11, 0x50, /* clocks = br gen */
/linux-4.1.27/net/core/
H A Dstream.c10 * Authors: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
/linux-4.1.27/net/dccp/
H A Dccid.c5 * Arnaldo Carvalho de Melo <acme@conectiva.com.br>
/linux-4.1.27/net/appletalk/
H A Datalk_proc.c4 * Copyright(c) Arnaldo Carvalho de Melo <acme@conectiva.com.br>
/linux-4.1.27/sound/pci/asihpi/
H A Dhpi.h64 <td><p><b>Stereo,<br>Joint Stereo or<br>Dual Channel</b></p>
92 <td><p><b>Mono<br>Stereo @ 8,<br>11.025 and<br>12kHz*</b></p>
93 <td><p><b>Mono<br>Stereo @ 16,<br>22.050 and<br>24kHz*</b></p>
94 <td><p><b>Mono<br>Stereo @ 32,<br>44.1 and<br>48kHz</b></p>
/linux-4.1.27/drivers/watchdog/
H A Dmachzwd.c14 * Author: Fernando Fuganti <fuganti@conectiva.com.br>
92 MODULE_AUTHOR("Fernando Fuganti <fuganti@conectiva.com.br>");
/linux-4.1.27/drivers/gpu/drm/panel/
H A Dpanel-s6e8aa0.c323 u8 br; s6e8aa0_elvss_nvm_set_v142() local
327 br = 0xdf; s6e8aa0_elvss_nvm_set_v142()
330 br = 0xdd; s6e8aa0_elvss_nvm_set_v142()
334 br = 0xd9; s6e8aa0_elvss_nvm_set_v142()
337 br = 0xd0; s6e8aa0_elvss_nvm_set_v142()
342 0xc4, 0x0f, 0x40, 0x41, br, 0x00, 0x60, 0x19); s6e8aa0_elvss_nvm_set_v142()
/linux-4.1.27/drivers/mtd/nand/
H A Dfsl_elbc_nand.c680 if ((in_be32(&lbc->bank[priv->bank].br) & BR_DECC) == fsl_elbc_chip_init_tail()
780 if ((in_be32(&lbc->bank[priv->bank].br) & BR_DECC) == fsl_elbc_chip_init()
843 if ((in_be32(&lbc->bank[bank].br) & BR_V) && fsl_elbc_nand_probe()
844 (in_be32(&lbc->bank[bank].br) & BR_MSEL) == BR_MS_FCM && fsl_elbc_nand_probe()
845 (in_be32(&lbc->bank[bank].br) & fsl_elbc_nand_probe()
/linux-4.1.27/drivers/net/irda/
H A Dvlsi_ir.h422 #define BAUD_BITS(br) ((115200/(br))-1)
439 #define PHYCTL_SIR(br,ws,cs) BWP_TO_PHYCTL(BAUD_BITS(br),calc_width_bits((br),(ws),(cs)),0)
/linux-4.1.27/drivers/atm/
H A Dhorizon.c590 const unsigned long br = test_bit(ultra, &dev->flags) ? BR_ULT : BR_HRZ; make_rate() local
599 unsigned long br_man = br; make_rate()
602 PRINTD (DBG_QOS|DBG_FLOW, "make_rate b=%lu, c=%u, %s", br, c, make_rate()
615 // (br >>br_exp) <<br_exp == br and make_rate()
623 pre = DIV_ROUND_UP(br, c<<div); make_rate()
629 pre = DIV_ROUND_CLOSEST(br, c<<div); make_rate()
635 pre = br/(c<<div); make_rate()
656 pre = DIV_ROUND_UP(br, c<<div); make_rate()
659 pre = DIV_ROUND_CLOSEST(br, c<<div); make_rate()
662 pre = br/(c<<div); make_rate()
686 *actual = DIV_ROUND_UP(br, pre<<div); make_rate()
/linux-4.1.27/net/dsa/
H A Dslave.c349 struct net_device *br) dsa_slave_bridge_port_join()
355 p->bridge_dev = br; dsa_slave_bridge_port_join()
359 dsa_slave_br_port_mask(ds, br)); dsa_slave_bridge_port_join()
348 dsa_slave_bridge_port_join(struct net_device *dev, struct net_device *br) dsa_slave_bridge_port_join() argument

Completed in 4703 milliseconds

12