Lines Matching refs:switchdev_work
3606 dsa_fdb_offload_notify(struct dsa_switchdev_event_work *switchdev_work) in dsa_fdb_offload_notify() argument
3610 info.addr = switchdev_work->addr; in dsa_fdb_offload_notify()
3611 info.vid = switchdev_work->vid; in dsa_fdb_offload_notify()
3614 switchdev_work->orig_dev, &info.info, NULL); in dsa_fdb_offload_notify()
3619 struct dsa_switchdev_event_work *switchdev_work = in dsa_user_switchdev_event_work() local
3621 const unsigned char *addr = switchdev_work->addr; in dsa_user_switchdev_event_work()
3622 struct net_device *dev = switchdev_work->dev; in dsa_user_switchdev_event_work()
3623 u16 vid = switchdev_work->vid; in dsa_user_switchdev_event_work()
3631 switch (switchdev_work->event) { in dsa_user_switchdev_event_work()
3633 if (switchdev_work->host_addr) in dsa_user_switchdev_event_work()
3645 dsa_fdb_offload_notify(switchdev_work); in dsa_user_switchdev_event_work()
3649 if (switchdev_work->host_addr) in dsa_user_switchdev_event_work()
3664 kfree(switchdev_work); in dsa_user_switchdev_event_work()
3688 struct dsa_switchdev_event_work *switchdev_work; in dsa_user_fdb_event() local
3729 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in dsa_user_fdb_event()
3730 if (!switchdev_work) in dsa_user_fdb_event()
3738 INIT_WORK(&switchdev_work->work, dsa_user_switchdev_event_work); in dsa_user_fdb_event()
3739 switchdev_work->event = event; in dsa_user_fdb_event()
3740 switchdev_work->dev = dev; in dsa_user_fdb_event()
3741 switchdev_work->orig_dev = orig_dev; in dsa_user_fdb_event()
3743 ether_addr_copy(switchdev_work->addr, fdb_info->addr); in dsa_user_fdb_event()
3744 switchdev_work->vid = fdb_info->vid; in dsa_user_fdb_event()
3745 switchdev_work->host_addr = host_addr; in dsa_user_fdb_event()
3747 dsa_schedule_work(&switchdev_work->work); in dsa_user_fdb_event()