Lines Matching refs:mdb
455 static void br_switchdev_mdb_populate(struct switchdev_obj_port_mdb *mdb, in br_switchdev_mdb_populate() argument
459 ip_eth_mc_map(mp->addr.dst.ip4, mdb->addr); in br_switchdev_mdb_populate()
462 ipv6_eth_mc_map(&mp->addr.dst.ip6, mdb->addr); in br_switchdev_mdb_populate()
465 ether_addr_copy(mdb->addr, mp->addr.dst.mac_addr); in br_switchdev_mdb_populate()
467 mdb->vid = mp->addr.vid; in br_switchdev_mdb_populate()
475 struct switchdev_obj_port_mdb mdb = { in br_switchdev_host_mdb_one() local
483 br_switchdev_mdb_populate(&mdb, mp); in br_switchdev_host_mdb_one()
487 switchdev_port_obj_add(lower_dev, &mdb.obj, NULL); in br_switchdev_host_mdb_one()
490 switchdev_port_obj_del(lower_dev, &mdb.obj); in br_switchdev_host_mdb_one()
507 const struct switchdev_obj_port_mdb *mdb, in br_switchdev_mdb_replay_one() argument
517 .obj = &mdb->obj, in br_switchdev_mdb_replay_one()
530 struct switchdev_obj_port_mdb *mdb; in br_switchdev_mdb_queue_one() local
532 mdb = kzalloc(sizeof(*mdb), GFP_ATOMIC); in br_switchdev_mdb_queue_one()
533 if (!mdb) in br_switchdev_mdb_queue_one()
536 mdb->obj.id = id; in br_switchdev_mdb_queue_one()
537 mdb->obj.orig_dev = orig_dev; in br_switchdev_mdb_queue_one()
538 br_switchdev_mdb_populate(mdb, mp); in br_switchdev_mdb_queue_one()
539 list_add_tail(&mdb->obj.list, mdb_list); in br_switchdev_mdb_queue_one()
550 struct switchdev_obj_port_mdb mdb = { in br_switchdev_mdb_notify() local
560 br_switchdev_mdb_populate(&mdb, mp); in br_switchdev_mdb_notify()
562 mdb.obj.orig_dev = pg->key.port->dev; in br_switchdev_mdb_notify()
570 mdb.obj.complete_priv = complete_info; in br_switchdev_mdb_notify()
571 mdb.obj.complete = br_switchdev_mdb_complete; in br_switchdev_mdb_notify()
572 if (switchdev_port_obj_add(pg->key.port->dev, &mdb.obj, NULL)) in br_switchdev_mdb_notify()
576 switchdev_port_obj_del(pg->key.port->dev, &mdb.obj); in br_switchdev_mdb_notify()