Lines Matching refs:switchdev_work
3232 dsa_fdb_offload_notify(struct dsa_switchdev_event_work *switchdev_work) in dsa_fdb_offload_notify() argument
3236 info.addr = switchdev_work->addr; in dsa_fdb_offload_notify()
3237 info.vid = switchdev_work->vid; in dsa_fdb_offload_notify()
3240 switchdev_work->orig_dev, &info.info, NULL); in dsa_fdb_offload_notify()
3245 struct dsa_switchdev_event_work *switchdev_work = in dsa_slave_switchdev_event_work() local
3247 const unsigned char *addr = switchdev_work->addr; in dsa_slave_switchdev_event_work()
3248 struct net_device *dev = switchdev_work->dev; in dsa_slave_switchdev_event_work()
3249 u16 vid = switchdev_work->vid; in dsa_slave_switchdev_event_work()
3257 switch (switchdev_work->event) { in dsa_slave_switchdev_event_work()
3259 if (switchdev_work->host_addr) in dsa_slave_switchdev_event_work()
3271 dsa_fdb_offload_notify(switchdev_work); in dsa_slave_switchdev_event_work()
3275 if (switchdev_work->host_addr) in dsa_slave_switchdev_event_work()
3290 kfree(switchdev_work); in dsa_slave_switchdev_event_work()
3314 struct dsa_switchdev_event_work *switchdev_work; in dsa_slave_fdb_event() local
3355 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in dsa_slave_fdb_event()
3356 if (!switchdev_work) in dsa_slave_fdb_event()
3364 INIT_WORK(&switchdev_work->work, dsa_slave_switchdev_event_work); in dsa_slave_fdb_event()
3365 switchdev_work->event = event; in dsa_slave_fdb_event()
3366 switchdev_work->dev = dev; in dsa_slave_fdb_event()
3367 switchdev_work->orig_dev = orig_dev; in dsa_slave_fdb_event()
3369 ether_addr_copy(switchdev_work->addr, fdb_info->addr); in dsa_slave_fdb_event()
3370 switchdev_work->vid = fdb_info->vid; in dsa_slave_fdb_event()
3371 switchdev_work->host_addr = host_addr; in dsa_slave_fdb_event()
3373 dsa_schedule_work(&switchdev_work->work); in dsa_slave_fdb_event()