Lines Matching refs:br

22 	struct net_bridge *br = netdev_priv(dev);  in br_rports_fill_info()  local
26 if (!br->multicast_router || hlist_empty(&br->router_list)) in br_rports_fill_info()
33 hlist_for_each_entry_rcu(p, &br->router_list, rlist) { in br_rports_fill_info()
96 ifindex = mp->br->dev->ifindex; in __mdb_fill_info()
131 struct net_bridge *br = netdev_priv(dev); in br_mdb_fill_info() local
135 if (!br_opt_get(br, BROPT_MULTICAST_ENABLED)) in br_mdb_fill_info()
142 hlist_for_each_entry_rcu(mp, &br->mdb_list, mdb_node) { in br_mdb_fill_info()
321 struct net_bridge *br = port->br; in br_mdb_complete() local
326 spin_lock_bh(&br->multicast_lock); in br_mdb_complete()
327 mp = br_mdb_ip_get(br, &data->ip); in br_mdb_complete()
330 for (pp = &mp->ports; (p = mlock_dereference(*pp, br)) != NULL; in br_mdb_complete()
337 spin_unlock_bh(&br->multicast_lock); in br_mdb_complete()
602 static int br_mdb_add_group(struct net_bridge *br, struct net_bridge_port *port, in br_mdb_add_group() argument
611 mp = br_mdb_ip_get(br, group); in br_mdb_add_group()
613 mp = br_multicast_new_group(br, group); in br_mdb_add_group()
633 (p = mlock_dereference(*pp, br)) != NULL; in br_mdb_add_group()
646 mod_timer(&p->timer, now + br->multicast_membership_interval); in br_mdb_add_group()
651 static int __br_mdb_add(struct net *net, struct net_bridge *br, in __br_mdb_add() argument
659 if (!netif_running(br->dev) || !br_opt_get(br, BROPT_MULTICAST_ENABLED)) in __br_mdb_add()
662 if (entry->ifindex != br->dev->ifindex) { in __br_mdb_add()
668 if (!p || p->br != br || p->state == BR_STATE_DISABLED) in __br_mdb_add()
674 spin_lock_bh(&br->multicast_lock); in __br_mdb_add()
675 ret = br_mdb_add_group(br, p, &ip, entry->state); in __br_mdb_add()
676 spin_unlock_bh(&br->multicast_lock); in __br_mdb_add()
689 struct net_bridge *br; in br_mdb_add() local
696 br = netdev_priv(dev); in br_mdb_add()
698 if (entry->ifindex != br->dev->ifindex) { in br_mdb_add()
704 if (!p || p->br != br || p->state == BR_STATE_DISABLED) in br_mdb_add()
708 vg = br_vlan_group(br); in br_mdb_add()
714 if (br_vlan_enabled(br->dev) && vg && entry->vid == 0) { in br_mdb_add()
717 err = __br_mdb_add(net, br, entry); in br_mdb_add()
723 err = __br_mdb_add(net, br, entry); in br_mdb_add()
731 static int __br_mdb_del(struct net_bridge *br, struct br_mdb_entry *entry) in __br_mdb_del() argument
739 if (!netif_running(br->dev) || !br_opt_get(br, BROPT_MULTICAST_ENABLED)) in __br_mdb_del()
744 spin_lock_bh(&br->multicast_lock); in __br_mdb_del()
745 mp = br_mdb_ip_get(br, &ip); in __br_mdb_del()
750 if (entry->ifindex == mp->br->dev->ifindex && mp->host_joined) { in __br_mdb_del()
753 if (!mp->ports && netif_running(br->dev)) in __br_mdb_del()
759 (p = mlock_dereference(*pp, br)) != NULL; in __br_mdb_del()
775 netif_running(br->dev)) in __br_mdb_del()
781 spin_unlock_bh(&br->multicast_lock); in __br_mdb_del()
794 struct net_bridge *br; in br_mdb_del() local
801 br = netdev_priv(dev); in br_mdb_del()
803 if (entry->ifindex != br->dev->ifindex) { in br_mdb_del()
809 if (!p || p->br != br || p->state == BR_STATE_DISABLED) in br_mdb_del()
813 vg = br_vlan_group(br); in br_mdb_del()
819 if (br_vlan_enabled(br->dev) && vg && entry->vid == 0) { in br_mdb_del()
822 err = __br_mdb_del(br, entry); in br_mdb_del()
827 err = __br_mdb_del(br, entry); in br_mdb_del()