/net/bridge/ |
H A D | br_notify.c | 36 struct net_bridge *br; local 51 br = p->br; 55 dev_set_mtu(br->dev, br_min_mtu(br)); 59 spin_lock_bh(&br->lock); 61 changed_addr = br_stp_recalculate_bridge_id(br); 62 spin_unlock_bh(&br->lock); 65 call_netdevice_notifiers(NETDEV_CHANGEADDR, br->dev); 74 netdev_update_features(br [all...] |
H A D | br_stp_timer.c | 21 static int br_is_designated_for_some_port(const struct net_bridge *br) argument 25 list_for_each_entry(p, &br->port_list, list) { 27 !memcmp(&p->designated_bridge, &br->bridge_id, 8)) 36 struct net_bridge *br = (struct net_bridge *)arg; local 38 br_debug(br, "hello timer expired\n"); 39 spin_lock(&br->lock); 40 if (br->dev->flags & IFF_UP) { 41 br_config_bpdu_generation(br); 43 mod_timer(&br->hello_timer, round_jiffies(jiffies + br 51 struct net_bridge *br = p->br; local 84 struct net_bridge *br = p->br; local 106 struct net_bridge *br = (struct net_bridge *) arg; local 120 struct net_bridge *br = (struct net_bridge *) arg; local 142 br_stp_timer_init(struct net_bridge *br) argument [all...] |
H A D | br_input.c | 30 struct net_bridge *br = netdev_priv(brdev); local 31 struct br_cpu_netstats *brstats = this_cpu_ptr(br->stats); 43 !br_allowed_egress(br, br_get_vlan_info(br), skb)) { 48 skb = br_handle_vlan(br, br_get_vlan_info(br), skb); 64 struct net_bridge *br; local 73 if (!br_allowed_ingress(p->br, nbp_get_vlan_info(p), skb, &vid)) 77 br = p->br; [all...] |
H A D | br_stp_bpdu.c | 53 llc_mac_hdr_init(skb, p->dev->dev_addr, p->br->group_addr); 80 if (p->br->stp_enabled != BR_KERNEL_STP) 125 if (p->br->stp_enabled != BR_KERNEL_STP) 145 struct net_bridge *br; local 160 br = p->br; 161 spin_lock(&br->lock); 163 if (br->stp_enabled != BR_KERNEL_STP) 166 if (!(br->dev->flags & IFF_UP)) 172 if (!ether_addr_equal(dest, br [all...] |
H A D | br_forward.c | 34 br_allowed_egress(p->br, nbp_get_vlan_info(p), skb) && 67 skb = br_handle_vlan(to->br, nbp_get_vlan_info(to), skb); 73 if (unlikely(netpoll_tx_running(to->br->dev))) { 96 skb = br_handle_vlan(to->br, nbp_get_vlan_info(to), skb); 174 static void br_flood(struct net_bridge *br, struct sk_buff *skb, argument 184 list_for_each_entry_rcu(p, &br->port_list, list) { 206 void br_flood_deliver(struct net_bridge *br, struct sk_buff *skb) argument 208 br_flood(br, skb, NULL, __br_deliver); 212 void br_flood_forward(struct net_bridge *br, struct sk_buff *skb, argument 215 br_flood(br, sk 227 struct net_bridge *br = netdev_priv(dev); local [all...] |
H A D | br_if.c | 68 struct net_bridge *br = p->br; local 74 if (!netif_running(br->dev)) 77 spin_lock_bh(&br->lock); 85 spin_unlock_bh(&br->lock); 106 p->br = NULL; 131 struct net_bridge *br = p->br; local 134 sysfs_remove_link(br->ifobj, p->dev->name); 138 spin_lock_bh(&br 168 struct net_bridge *br = netdev_priv(dev); local 182 find_portno(struct net_bridge *br) argument 204 new_nbp(struct net_bridge *br, struct net_device *dev) argument 281 br_min_mtu(const struct net_bridge *br) argument 302 br_features_recompute(struct net_bridge *br, netdev_features_t features) argument 323 br_add_if(struct net_bridge *br, struct net_device *dev) argument 425 br_del_if(struct net_bridge *br, struct net_device *dev) argument [all...] |
H A D | br_ioctl.c | 41 static void get_port_ifindices(struct net_bridge *br, int *ifindices, int num) argument 45 list_for_each_entry(p, &br->port_list, list) { 58 static int get_fdb_entries(struct net_bridge *br, void __user *userbuf, argument 75 num = br_fdb_fillbuf(br, buf, maxnum, offset); 86 static int add_del_if(struct net_bridge *br, int ifindex, int isadd) argument 88 struct net *net = dev_net(br->dev); 100 ret = br_add_if(br, dev); 102 ret = br_del_if(br, dev); 114 struct net_bridge *br = netdev_priv(dev); local 123 return add_del_if(br, arg 382 struct net_bridge *br = netdev_priv(dev); local [all...] |
H A D | br_stp_if.c | 46 void br_stp_enable_bridge(struct net_bridge *br) argument 50 spin_lock_bh(&br->lock); 51 mod_timer(&br->hello_timer, jiffies + br->hello_time); 52 mod_timer(&br->gc_timer, jiffies + HZ/10); 54 br_config_bpdu_generation(br); 56 list_for_each_entry(p, &br->port_list, list) { 61 spin_unlock_bh(&br->lock); 65 void br_stp_disable_bridge(struct net_bridge *br) argument 69 spin_lock_bh(&br 98 struct net_bridge *br = p->br; local 125 br_stp_start(struct net_bridge *br) argument 146 br_stp_stop(struct net_bridge *br) argument 165 br_stp_set_enabled(struct net_bridge *br, unsigned long val) argument 179 br_stp_change_bridge_id(struct net_bridge *br, const unsigned char *addr) argument 211 br_stp_recalculate_bridge_id(struct net_bridge *br) argument 237 br_stp_set_bridge_priority(struct net_bridge *br, u16 newprio) argument [all...] |
H A D | br_vlan.c | 39 struct net_bridge *br; local 51 br = p->br; 54 br = v->parent.br; 55 dev = br->dev; 72 err = br_fdb_insert(br, p, dev->dev_addr, vid); 74 br_err(br, "failed insert local address into bridge " 115 rcu_assign_pointer(v->parent.br->vlan_info, NULL); 129 rcu_assign_pointer(v->parent.br 149 br_handle_vlan(struct net_bridge *br, const struct net_port_vlans *pv, struct sk_buff *skb) argument 192 br_allowed_ingress(struct net_bridge *br, struct net_port_vlans *v, struct sk_buff *skb, u16 *vid) argument 232 br_allowed_egress(struct net_bridge *br, const struct net_port_vlans *v, const struct sk_buff *skb) argument 252 br_vlan_add(struct net_bridge *br, u16 vid, u16 flags) argument 282 br_vlan_delete(struct net_bridge *br, u16 vid) argument 305 br_vlan_flush(struct net_bridge *br) argument 317 br_vlan_filter_toggle(struct net_bridge *br, unsigned long val) argument [all...] |
H A D | br_device.c | 28 struct net_bridge *br = netdev_priv(dev); local 32 struct br_cpu_netstats *brstats = this_cpu_ptr(br->stats); 44 if (!br_allowed_ingress(br, br_get_vlan_info(br), skb, &vid)) 59 br_flood_deliver(br, skb); 62 br_flood_deliver(br, skb); 65 if (br_multicast_rcv(br, NULL, skb)) { 70 mdst = br_mdb_get(br, skb, vid); 74 br_flood_deliver(br, skb); 75 } else if ((dst = __br_fdb_get(br, des 87 struct net_bridge *br = netdev_priv(dev); local 98 struct net_bridge *br = netdev_priv(dev); local 114 struct net_bridge *br = netdev_priv(dev); local 127 struct net_bridge *br = netdev_priv(dev); local 155 struct net_bridge *br = netdev_priv(dev); local 172 struct net_bridge *br = netdev_priv(dev); local 200 struct net_bridge *br = netdev_priv(dev); local 212 struct net_bridge *br = netdev_priv(dev); local 222 struct net_bridge *br = netdev_priv(dev); local 281 struct net_bridge *br = netdev_priv(dev); local 288 struct net_bridge *br = netdev_priv(dev); local 326 struct net_bridge *br = netdev_priv(dev); local 338 struct net_bridge *br = netdev_priv(dev); local [all...] |
H A D | br_mdb.c | 19 struct net_bridge *br = netdev_priv(dev); local 23 if (!br->multicast_router || hlist_empty(&br->router_list)) 30 hlist_for_each_entry_rcu(p, &br->router_list, rlist) { 45 struct net_bridge *br = netdev_priv(dev); local 51 if (br->multicast_disabled) 54 mdb = rcu_dereference(br->mdb); 316 static int br_mdb_add_group(struct net_bridge *br, struct net_bridge_port *port, argument 325 mdb = mlock_dereference(br->mdb, br); 352 __br_mdb_add(struct net *net, struct net_bridge *br, struct br_mdb_entry *entry) argument 390 struct net_bridge *br; local 405 __br_mdb_del(struct net_bridge *br, struct br_mdb_entry *entry) argument 465 struct net_bridge *br; local [all...] |
H A D | br_netlink.c | 74 const struct net_bridge *br; local 80 br = port->br; 82 br = netdev_priv(dev); 84 br_debug(br, "br_fill_info event %d port %s master %s\n", 85 event, dev->name, br->dev->name); 100 nla_put_u32(skb, IFLA_MASTER, br->dev->ifindex) || 129 pv = br_get_vlan_info(br); 177 br_debug(port->br, "port %u(%s) event %d\n", 225 static int br_afspec(struct net_bridge *br, argument [all...] |
H A D | br_stp.c | 34 br_info(p->br, "port %u(%s) entered %s state\n", 40 struct net_bridge_port *br_get_port(struct net_bridge *br, u16 port_no) argument 44 list_for_each_entry_rcu(p, &br->port_list, list) { 56 struct net_bridge *br; local 60 br = p->br; 65 if (memcmp(&br->bridge_id, &p->designated_root, 8) <= 0) 71 rp = br_get_port(br, root_port); 103 static void br_root_port_block(const struct net_bridge *br, argument 107 br_notice(br, "por 119 br_root_selection(struct net_bridge *br) argument 147 br_become_root_bridge(struct net_bridge *br) argument 165 struct net_bridge *br; local 216 br_record_config_timeout_values(struct net_bridge *br, const struct br_config_bpdu *bpdu) argument 226 br_transmit_tcn(struct net_bridge *br) argument 241 struct net_bridge *br; local 269 br_designated_port_selection(struct net_bridge *br) argument 314 br_topology_change_acknowledged(struct net_bridge *br) argument 321 br_topology_change_detection(struct net_bridge *br) argument 344 br_config_bpdu_generation(struct net_bridge *br) argument 362 br_configuration_update(struct net_bridge *br) argument 371 struct net_bridge *br; local 401 struct net_bridge *br = p->br; local 424 br_port_state_selection(struct net_bridge *br) argument 470 struct net_bridge *br; local 516 br_set_hello_time(struct net_bridge *br, unsigned long val) argument 531 br_set_max_age(struct net_bridge *br, unsigned long val) argument 547 br_set_forward_delay(struct net_bridge *br, unsigned long val) argument [all...] |
H A D | br_sysfs_if.c | 153 br_fdb_delete_by_port(p->br, p, 0); // Don't delete local entry 234 if (p->dev && p->br && brport_attr->store) { 235 spin_lock_bh(&p->br->lock); 237 spin_unlock_bh(&p->br->lock); 258 struct net_bridge *br = p->br; local 262 err = sysfs_create_link(&p->kobj, &br->dev->dev.kobj, 274 return sysfs_create_link(br->ifobj, &p->kobj, p->sysfs_name); 280 struct net_bridge *br = p->br; local [all...] |
H A D | br_fdb.c | 30 static int fdb_insert(struct net_bridge *br, struct net_bridge_port *source, 32 static void fdb_notify(struct net_bridge *br, 59 static inline unsigned long hold_time(const struct net_bridge *br) argument 61 return br->topology_change ? br->forward_delay : br->ageing_time; 64 static inline int has_expired(const struct net_bridge *br, argument 68 time_before_eq(fdb->updated + hold_time(br), jiffies); 85 static void fdb_delete(struct net_bridge *br, struct net_bridge_fdb_entry *f) argument 88 fdb_notify(br, 94 struct net_bridge *br = p->br; local 143 br_fdb_change_mac_address(struct net_bridge *br, const u8 *newaddr) argument 174 struct net_bridge *br = (struct net_bridge *)_data; local 201 br_fdb_flush(struct net_bridge *br) argument 220 br_fdb_delete_by_port(struct net_bridge *br, const struct net_bridge_port *p, int do_all) argument 263 __br_fdb_get(struct net_bridge *br, const unsigned char *addr, __u16 vid) argument 310 br_fdb_fillbuf(struct net_bridge *br, void *buf, unsigned long maxnum, unsigned long skip) argument 406 fdb_insert(struct net_bridge *br, struct net_bridge_port *source, const unsigned char *addr, u16 vid) argument 438 br_fdb_insert(struct net_bridge *br, struct net_bridge_port *source, const unsigned char *addr, u16 vid) argument 449 br_fdb_update(struct net_bridge *br, struct net_bridge_port *source, const unsigned char *addr, u16 vid) argument 503 fdb_fill_info(struct sk_buff *skb, const struct net_bridge *br, const struct net_bridge_fdb_entry *fdb, u32 portid, u32 seq, int type, unsigned int flags) argument 552 fdb_notify(struct net_bridge *br, const struct net_bridge_fdb_entry *fdb, int type) argument 583 struct net_bridge *br = netdev_priv(dev); local 615 struct net_bridge *br = source->br; local 748 fdb_delete_by_addr(struct net_bridge *br, const u8 *addr, u16 vlan) argument [all...] |
H A D | br_netfilter.c | 162 void br_netfilter_rtable_init(struct net_bridge *br) argument 164 struct rtable *rt = &br->fake_rtable; 167 rt->dst.dev = br->dev; 179 return port ? &port->br->fake_rtable : NULL; 187 return port ? port->br->dev : NULL; 532 struct net_device *vlan, *br; local 534 br = bridge_parent(dev); 536 return br; 538 vlan = __vlan_find_dev_deep(br, skb->vlan_proto, 541 return vlan ? vlan : br; 678 struct net_bridge *br; local 827 struct net_bridge *br; local [all...] |
H A D | br_sysfs_br.c | 35 struct net_bridge *br = to_bridge(d); local 40 if (!ns_capable(dev_net(br->dev)->user_ns, CAP_NET_ADMIN)) 47 err = (*set)(br, val); 55 struct net_bridge *br = to_bridge(d); local 56 return sprintf(buf, "%lu\n", jiffies_to_clock_t(br->forward_delay)); 101 struct net_bridge *br = to_bridge(d); local 102 return sprintf(buf, "%lu\n", jiffies_to_clock_t(br->ageing_time)); 105 static int set_ageing_time(struct net_bridge *br, unsigned long val) argument 107 br->ageing_time = clock_t_to_jiffies(val); 123 struct net_bridge *br local 132 struct net_bridge *br = to_bridge(d); local 156 struct net_bridge *br = to_bridge(d); local 165 struct net_bridge *br = to_bridge(d); local 189 struct net_bridge *br = to_bridge(d); local 194 set_priority(struct net_bridge *br, unsigned long val) argument 246 struct net_bridge *br = to_bridge(d); local 255 struct net_bridge *br = to_bridge(d); local 263 struct net_bridge *br = to_bridge(d); local 272 struct net_bridge *br = to_bridge(d); local 281 struct net_bridge *br = to_bridge(d); local 289 struct net_bridge *br = to_bridge(d); local 300 struct net_bridge *br = to_bridge(d); local 334 struct net_bridge *br = to_bridge(d); local 348 struct net_bridge *br = to_bridge(d); local 365 struct net_bridge *br = to_bridge(d); local 382 struct net_bridge *br = to_bridge(d); local 398 struct net_bridge *br = to_bridge(d); local 402 set_elasticity(struct net_bridge *br, unsigned long val) argument 420 struct net_bridge *br = to_bridge(d); local 436 struct net_bridge *br = to_bridge(d); local 440 set_last_member_count(struct net_bridge *br, unsigned long val) argument 459 struct net_bridge *br = to_bridge(d); local 463 set_startup_query_count(struct net_bridge *br, unsigned long val) argument 482 struct net_bridge *br = to_bridge(d); local 487 set_last_member_interval(struct net_bridge *br, unsigned long val) argument 506 struct net_bridge *br = to_bridge(d); local 511 set_membership_interval(struct net_bridge *br, unsigned long val) argument 531 struct net_bridge *br = to_bridge(d); local 536 set_querier_interval(struct net_bridge *br, unsigned long val) argument 556 struct net_bridge *br = to_bridge(d); local 561 set_query_interval(struct net_bridge *br, unsigned long val) argument 580 struct net_bridge *br = to_bridge(d); local 586 set_query_response_interval(struct net_bridge *br, unsigned long val) argument 605 struct net_bridge *br = to_bridge(d); local 611 set_startup_query_interval(struct net_bridge *br, unsigned long val) argument 631 struct net_bridge *br = to_bridge(d); local 635 set_nf_call_iptables(struct net_bridge *br, unsigned long val) argument 653 struct net_bridge *br = to_bridge(d); local 657 set_nf_call_ip6tables(struct net_bridge *br, unsigned long val) argument 675 struct net_bridge *br = to_bridge(d); local 679 set_nf_call_arptables(struct net_bridge *br, unsigned long val) argument 699 struct net_bridge *br = to_bridge(d); local 775 struct net_bridge *br = to_bridge(dev); local 812 struct net_bridge *br = netdev_priv(dev); local 848 struct net_bridge *br = netdev_priv(dev); local [all...] |
H A D | br_multicast.c | 35 static void br_multicast_start_querier(struct net_bridge *br); 134 struct net_bridge_mdb_entry *br_mdb_get(struct net_bridge *br, argument 137 struct net_bridge_mdb_htable *mdb = rcu_dereference(br->mdb); 140 if (br->multicast_disabled) 224 struct net_bridge *br = mp->br; local 227 spin_lock(&br->multicast_lock); 228 if (!netif_running(br->dev) || timer_pending(&mp->timer)) 236 mdb = mlock_dereference(br->mdb, br); 247 br_multicast_del_pg(struct net_bridge *br, struct net_bridge_port_group *pg) argument 285 struct net_bridge *br = pg->port->br; local 345 br_ip4_multicast_alloc_query(struct net_bridge *br, __be32 group) argument 411 br_ip6_multicast_alloc_query(struct net_bridge *br, const struct in6_addr *group) argument 493 br_multicast_alloc_query(struct net_bridge *br, struct br_ip *addr) argument 507 br_multicast_get_group( struct net_bridge *br, struct net_bridge_port *port, struct br_ip *group, int hash) argument 581 br_multicast_new_group(struct net_bridge *br, struct net_bridge_port *port, struct br_ip *group) argument 651 br_multicast_add_group(struct net_bridge *br, struct net_bridge_port *port, struct br_ip *group) argument 702 br_ip4_multicast_add_group(struct net_bridge *br, struct net_bridge_port *port, __be32 group, __u16 vid) argument 720 br_ip6_multicast_add_group(struct net_bridge *br, struct net_bridge_port *port, const struct in6_addr *group, __u16 vid) argument 741 struct net_bridge *br = port->br; local 761 struct net_bridge *br = (void *)data; local 773 __br_multicast_send_query(struct net_bridge *br, struct net_bridge_port *port, struct br_ip *ip) argument 792 br_multicast_send_query(struct net_bridge *br, struct net_bridge_port *port, u32 sent) argument 824 struct net_bridge *br = port->br; local 868 struct net_bridge *br = port->br; local 882 struct net_bridge *br = port->br; local 897 br_ip4_multicast_igmp3_report(struct net_bridge *br, struct net_bridge_port *port, struct sk_buff *skb) argument 955 br_ip6_multicast_mld2_report(struct net_bridge *br, struct net_bridge_port *port, struct sk_buff *skb) argument 1023 br_multicast_add_router(struct net_bridge *br, struct net_bridge_port *port) argument 1041 br_multicast_mark_router(struct net_bridge *br, struct net_bridge_port *port) argument 1066 br_multicast_query_received(struct net_bridge *br, struct net_bridge_port *port, int saddr) argument 1079 br_ip4_multicast_query(struct net_bridge *br, struct net_bridge_port *port, struct sk_buff *skb) argument 1156 br_ip6_multicast_query(struct net_bridge *br, struct net_bridge_port *port, struct sk_buff *skb) argument 1229 br_multicast_leave_group(struct net_bridge *br, struct net_bridge_port *port, struct br_ip *group) argument 1307 br_ip4_multicast_leave_group(struct net_bridge *br, struct net_bridge_port *port, __be32 group, __u16 vid) argument 1325 br_ip6_multicast_leave_group(struct net_bridge *br, struct net_bridge_port *port, const struct in6_addr *group, __u16 vid) argument 1343 br_multicast_ipv4_rcv(struct net_bridge *br, struct net_bridge_port *port, struct sk_buff *skb) argument 1444 br_multicast_ipv6_rcv(struct net_bridge *br, struct net_bridge_port *port, struct sk_buff *skb) argument 1580 br_multicast_rcv(struct net_bridge *br, struct net_bridge_port *port, struct sk_buff *skb) argument 1603 struct net_bridge *br = (void *)data; local 1615 br_multicast_init(struct net_bridge *br) argument 1641 br_multicast_open(struct net_bridge *br) argument 1651 br_multicast_stop(struct net_bridge *br) argument 1693 br_multicast_set_router(struct net_bridge *br, unsigned long val) argument 1724 struct net_bridge *br = p->br; local 1763 br_multicast_start_querier(struct net_bridge *br) argument 1778 br_multicast_toggle(struct net_bridge *br, unsigned long val) argument 1817 br_multicast_set_querier(struct net_bridge *br, unsigned long val) argument 1835 br_multicast_set_hash_max(struct net_bridge *br, unsigned long val) argument [all...] |
H A D | br_private.h | 74 struct net_bridge *br; member in union:net_port_vlans::__anon13 109 struct net_bridge *br; member in struct:net_bridge_mdb_entry 130 struct net_bridge *br; member in struct:net_bridge_port 303 #define br_printk(level, br, format, args...) \ 304 printk(level "%s: " format, (br)->dev->name, ##args) 315 #define br_debug(br, format, args...) \ 316 pr_debug("%s: " format, (br)->dev->name, ##args) 321 static inline int br_is_root_bridge(const struct net_bridge *br) argument 323 return !memcmp(&br->bridge_id, &br 332 br_netpoll_info(struct net_bridge *br) argument 349 br_netpoll_info(struct net_bridge *br) argument 493 br_multicast_is_router(struct net_bridge *br) argument 500 br_multicast_rcv(struct net_bridge *br, struct net_bridge_port *port, struct sk_buff *skb) argument 507 br_mdb_get(struct net_bridge *br, struct sk_buff *skb, u16 vid) argument 529 br_multicast_init(struct net_bridge *br) argument 533 br_multicast_open(struct net_bridge *br) argument 537 br_multicast_stop(struct net_bridge *br) argument 551 br_multicast_is_router(struct net_bridge *br) argument 582 br_get_vlan_info( const struct net_bridge *br) argument 623 br_allowed_ingress(struct net_bridge *br, struct net_port_vlans *v, struct sk_buff *skb, u16 *vid) argument 631 br_allowed_egress(struct net_bridge *br, const struct net_port_vlans *v, const struct sk_buff *skb) argument 638 br_handle_vlan(struct net_bridge *br, const struct net_port_vlans *v, struct sk_buff *skb) argument 645 br_vlan_add(struct net_bridge *br, u16 vid, u16 flags) argument 650 br_vlan_delete(struct net_bridge *br, u16 vid) argument 655 br_vlan_flush(struct net_bridge *br) argument 673 br_get_vlan_info( const struct net_bridge *br) argument [all...] |