Lines Matching refs:switchdev_work
3462 dsa_fdb_offload_notify(struct dsa_switchdev_event_work *switchdev_work) in dsa_fdb_offload_notify() argument
3466 info.addr = switchdev_work->addr; in dsa_fdb_offload_notify()
3467 info.vid = switchdev_work->vid; in dsa_fdb_offload_notify()
3470 switchdev_work->orig_dev, &info.info, NULL); in dsa_fdb_offload_notify()
3475 struct dsa_switchdev_event_work *switchdev_work = in dsa_slave_switchdev_event_work() local
3477 const unsigned char *addr = switchdev_work->addr; in dsa_slave_switchdev_event_work()
3478 struct net_device *dev = switchdev_work->dev; in dsa_slave_switchdev_event_work()
3479 u16 vid = switchdev_work->vid; in dsa_slave_switchdev_event_work()
3487 switch (switchdev_work->event) { in dsa_slave_switchdev_event_work()
3489 if (switchdev_work->host_addr) in dsa_slave_switchdev_event_work()
3501 dsa_fdb_offload_notify(switchdev_work); in dsa_slave_switchdev_event_work()
3505 if (switchdev_work->host_addr) in dsa_slave_switchdev_event_work()
3520 kfree(switchdev_work); in dsa_slave_switchdev_event_work()
3544 struct dsa_switchdev_event_work *switchdev_work; in dsa_slave_fdb_event() local
3585 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in dsa_slave_fdb_event()
3586 if (!switchdev_work) in dsa_slave_fdb_event()
3594 INIT_WORK(&switchdev_work->work, dsa_slave_switchdev_event_work); in dsa_slave_fdb_event()
3595 switchdev_work->event = event; in dsa_slave_fdb_event()
3596 switchdev_work->dev = dev; in dsa_slave_fdb_event()
3597 switchdev_work->orig_dev = orig_dev; in dsa_slave_fdb_event()
3599 ether_addr_copy(switchdev_work->addr, fdb_info->addr); in dsa_slave_fdb_event()
3600 switchdev_work->vid = fdb_info->vid; in dsa_slave_fdb_event()
3601 switchdev_work->host_addr = host_addr; in dsa_slave_fdb_event()
3603 dsa_schedule_work(&switchdev_work->work); in dsa_slave_fdb_event()