Lines Matching refs:mdb
588 static void br_switchdev_mdb_populate(struct switchdev_obj_port_mdb *mdb, in br_switchdev_mdb_populate() argument
592 ip_eth_mc_map(mp->addr.dst.ip4, mdb->addr); in br_switchdev_mdb_populate()
595 ipv6_eth_mc_map(&mp->addr.dst.ip6, mdb->addr); in br_switchdev_mdb_populate()
598 ether_addr_copy(mdb->addr, mp->addr.dst.mac_addr); in br_switchdev_mdb_populate()
600 mdb->vid = mp->addr.vid; in br_switchdev_mdb_populate()
604 const struct switchdev_obj_port_mdb *mdb, in br_mdb_replay_one() argument
614 .obj = &mdb->obj, in br_mdb_replay_one()
627 struct switchdev_obj_port_mdb *mdb; in br_mdb_queue_one() local
629 mdb = kzalloc(sizeof(*mdb), GFP_ATOMIC); in br_mdb_queue_one()
630 if (!mdb) in br_mdb_queue_one()
633 mdb->obj.id = id; in br_mdb_queue_one()
634 mdb->obj.orig_dev = orig_dev; in br_mdb_queue_one()
635 br_switchdev_mdb_populate(mdb, mp); in br_mdb_queue_one()
636 list_add_tail(&mdb->obj.list, mdb_list); in br_mdb_queue_one()
732 struct switchdev_obj_port_mdb mdb = { in br_mdb_switchdev_host_port() local
740 br_switchdev_mdb_populate(&mdb, mp); in br_mdb_switchdev_host_port()
744 switchdev_port_obj_add(lower_dev, &mdb.obj, NULL); in br_mdb_switchdev_host_port()
747 switchdev_port_obj_del(lower_dev, &mdb.obj); in br_mdb_switchdev_host_port()
768 struct switchdev_obj_port_mdb mdb = { in br_mdb_notify() local
779 br_switchdev_mdb_populate(&mdb, mp); in br_mdb_notify()
781 mdb.obj.orig_dev = pg->key.port->dev; in br_mdb_notify()
789 mdb.obj.complete_priv = complete_info; in br_mdb_notify()
790 mdb.obj.complete = br_mdb_complete; in br_mdb_notify()
791 if (switchdev_port_obj_add(pg->key.port->dev, &mdb.obj, NULL)) in br_mdb_notify()
795 switchdev_port_obj_del(pg->key.port->dev, &mdb.obj); in br_mdb_notify()