• Home
  • Raw
  • Download

Lines Matching refs:br

86 	list_for_each_entry_rcu(p, &brmctx->br->port_list, list) {  in br_rports_fill_info()
188 lockdep_is_held(&p->key.port->br->multicast_lock)) { in __mdb_fill_srcs()
247 ifindex = mp->br->dev->ifindex; in __mdb_fill_info()
276 dump_srcs_mode = !!(mp->br->multicast_ctx.multicast_igmp_version == 3); in __mdb_fill_info()
286 dump_srcs_mode = !!(mp->br->multicast_ctx.multicast_mld_version == 2); in __mdb_fill_info()
320 struct net_bridge *br = netdev_priv(dev); in br_mdb_fill_info() local
324 if (!br_opt_get(br, BROPT_MULTICAST_ENABLED)) in br_mdb_fill_info()
331 hlist_for_each_entry_rcu(mp, &br->mdb_list, mdb_node) { in br_mdb_fill_info()
426 struct net_bridge *br = netdev_priv(dev); in br_mdb_dump() local
443 if (br_rports_fill_info(skb, &br->multicast_ctx) < 0) in br_mdb_dump()
520 if (pg->key.port->br->multicast_ctx.multicast_igmp_version == 2) in rtnl_mdb_nlmsg_size()
529 if (pg->key.port->br->multicast_ctx.multicast_mld_version == 1) in rtnl_mdb_nlmsg_size()
567 struct net_bridge *br = port->br; in br_mdb_complete() local
572 spin_lock_bh(&br->multicast_lock); in br_mdb_complete()
573 mp = br_mdb_ip_get(br, &data->ip); in br_mdb_complete()
576 for (pp = &mp->ports; (p = mlock_dereference(*pp, br)) != NULL; in br_mdb_complete()
583 spin_unlock_bh(&br->multicast_lock); in br_mdb_complete()
647 struct net_bridge *br; in br_mdb_replay() local
660 br = netdev_priv(br_dev); in br_mdb_replay()
662 if (!br_opt_get(br, BROPT_MULTICAST_ENABLED)) in br_mdb_replay()
675 hlist_for_each_entry_rcu(mp, &br->mdb_list, mdb_node) { in br_mdb_replay()
1059 __br_mdb_choose_context(struct net_bridge *br, in __br_mdb_choose_context() argument
1066 if (!br_opt_get(br, BROPT_MCAST_VLAN_SNOOPING_ENABLED)) { in __br_mdb_choose_context()
1067 brmctx = &br->multicast_ctx; in __br_mdb_choose_context()
1076 v = br_vlan_find(br_vlan_group(br), entry->vid); in __br_mdb_choose_context()
1090 static int br_mdb_add_group(struct net_bridge *br, struct net_bridge_port *port, in br_mdb_add_group() argument
1107 brmctx = __br_mdb_choose_context(br, entry, extack); in br_mdb_add_group()
1129 mp = br_mdb_ip_get(br, &group); in br_mdb_add_group()
1131 mp = br_multicast_new_group(br, &group); in br_mdb_add_group()
1145 br_mdb_notify(br->dev, mp, NULL, RTM_NEWMDB); in br_mdb_add_group()
1151 (p = mlock_dereference(*pp, br)) != NULL; in br_mdb_add_group()
1177 br_mdb_notify(br->dev, mp, p, RTM_NEWMDB); in br_mdb_add_group()
1191 star_mp = br_mdb_ip_get(br, &star_group); in br_mdb_add_group()
1201 static int __br_mdb_add(struct net *net, struct net_bridge *br, in __br_mdb_add() argument
1209 spin_lock_bh(&br->multicast_lock); in __br_mdb_add()
1210 ret = br_mdb_add_group(br, p, entry, mdb_attrs, extack); in __br_mdb_add()
1211 spin_unlock_bh(&br->multicast_lock); in __br_mdb_add()
1226 struct net_bridge *br; in br_mdb_add() local
1233 br = netdev_priv(dev); in br_mdb_add()
1235 if (!netif_running(br->dev)) { in br_mdb_add()
1240 if (!br_opt_get(br, BROPT_MULTICAST_ENABLED)) { in br_mdb_add()
1245 if (entry->ifindex != br->dev->ifindex) { in br_mdb_add()
1258 if (p->br != br) { in br_mdb_add()
1268 vg = br_vlan_group(br); in br_mdb_add()
1274 if (br_vlan_enabled(br->dev) && vg && entry->vid == 0) { in br_mdb_add()
1277 err = __br_mdb_add(net, br, p, entry, mdb_attrs, extack); in br_mdb_add()
1282 err = __br_mdb_add(net, br, p, entry, mdb_attrs, extack); in br_mdb_add()
1288 static int __br_mdb_del(struct net_bridge *br, struct br_mdb_entry *entry, in __br_mdb_del() argument
1297 if (!netif_running(br->dev) || !br_opt_get(br, BROPT_MULTICAST_ENABLED)) in __br_mdb_del()
1302 spin_lock_bh(&br->multicast_lock); in __br_mdb_del()
1303 mp = br_mdb_ip_get(br, &ip); in __br_mdb_del()
1308 if (entry->ifindex == mp->br->dev->ifindex && mp->host_joined) { in __br_mdb_del()
1311 br_mdb_notify(br->dev, mp, NULL, RTM_DELMDB); in __br_mdb_del()
1312 if (!mp->ports && netif_running(br->dev)) in __br_mdb_del()
1318 (p = mlock_dereference(*pp, br)) != NULL; in __br_mdb_del()
1332 spin_unlock_bh(&br->multicast_lock); in __br_mdb_del()
1346 struct net_bridge *br; in br_mdb_del() local
1353 br = netdev_priv(dev); in br_mdb_del()
1355 if (entry->ifindex != br->dev->ifindex) { in br_mdb_del()
1361 if (!p || p->br != br || p->state == BR_STATE_DISABLED) in br_mdb_del()
1365 vg = br_vlan_group(br); in br_mdb_del()
1371 if (br_vlan_enabled(br->dev) && vg && entry->vid == 0) { in br_mdb_del()
1374 err = __br_mdb_del(br, entry, mdb_attrs); in br_mdb_del()
1377 err = __br_mdb_del(br, entry, mdb_attrs); in br_mdb_del()