Lines Matching refs:switchdev_work
3619 dsa_fdb_offload_notify(struct dsa_switchdev_event_work *switchdev_work) in dsa_fdb_offload_notify() argument
3623 info.addr = switchdev_work->addr; in dsa_fdb_offload_notify()
3624 info.vid = switchdev_work->vid; in dsa_fdb_offload_notify()
3627 switchdev_work->orig_dev, &info.info, NULL); in dsa_fdb_offload_notify()
3632 struct dsa_switchdev_event_work *switchdev_work = in dsa_user_switchdev_event_work() local
3634 const unsigned char *addr = switchdev_work->addr; in dsa_user_switchdev_event_work()
3635 struct net_device *dev = switchdev_work->dev; in dsa_user_switchdev_event_work()
3636 u16 vid = switchdev_work->vid; in dsa_user_switchdev_event_work()
3644 switch (switchdev_work->event) { in dsa_user_switchdev_event_work()
3646 if (switchdev_work->host_addr) in dsa_user_switchdev_event_work()
3658 dsa_fdb_offload_notify(switchdev_work); in dsa_user_switchdev_event_work()
3662 if (switchdev_work->host_addr) in dsa_user_switchdev_event_work()
3677 kfree(switchdev_work); in dsa_user_switchdev_event_work()
3701 struct dsa_switchdev_event_work *switchdev_work; in dsa_user_fdb_event() local
3742 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in dsa_user_fdb_event()
3743 if (!switchdev_work) in dsa_user_fdb_event()
3751 INIT_WORK(&switchdev_work->work, dsa_user_switchdev_event_work); in dsa_user_fdb_event()
3752 switchdev_work->event = event; in dsa_user_fdb_event()
3753 switchdev_work->dev = dev; in dsa_user_fdb_event()
3754 switchdev_work->orig_dev = orig_dev; in dsa_user_fdb_event()
3756 ether_addr_copy(switchdev_work->addr, fdb_info->addr); in dsa_user_fdb_event()
3757 switchdev_work->vid = fdb_info->vid; in dsa_user_fdb_event()
3758 switchdev_work->host_addr = host_addr; in dsa_user_fdb_event()
3760 dsa_schedule_work(&switchdev_work->work); in dsa_user_fdb_event()