Lines Matching refs:switchdev_work

2746 					  switchdev_work,  in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2751 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2756 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2764 switch (switchdev_work->event) { in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2794 switchdev_work) in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2797 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2804 if (switchdev_work->event != SWITCHDEV_FDB_ADD_TO_DEVICE && in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2805 switchdev_work->event != SWITCHDEV_FDB_DEL_TO_DEVICE) in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2808 if (switchdev_work->event == SWITCHDEV_FDB_ADD_TO_DEVICE && in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2809 !switchdev_work->fdb_info.added_by_user) in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2827 switchdev_work->fdb_info.vid); in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2835 mlxsw_sp_switchdev_bridge_vxlan_fdb_event(mlxsw_sp, switchdev_work, fid, in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2844 struct mlxsw_sp_switchdev_event_work *switchdev_work = in mlxsw_sp_switchdev_bridge_fdb_event_work() local
2846 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_bridge_fdb_event_work()
2853 mlxsw_sp_switchdev_bridge_nve_fdb_event(switchdev_work); in mlxsw_sp_switchdev_bridge_fdb_event_work()
2861 switch (switchdev_work->event) { in mlxsw_sp_switchdev_bridge_fdb_event_work()
2863 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_fdb_event_work()
2874 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_fdb_event_work()
2889 kfree(switchdev_work->fdb_info.addr); in mlxsw_sp_switchdev_bridge_fdb_event_work()
2890 kfree(switchdev_work); in mlxsw_sp_switchdev_bridge_fdb_event_work()
2897 switchdev_work) in mlxsw_sp_switchdev_vxlan_fdb_add()
2901 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_vxlan_fdb_add()
2910 vxlan_fdb_info = &switchdev_work->vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_fdb_add()
2969 switchdev_work) in mlxsw_sp_switchdev_vxlan_fdb_del()
2973 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_vxlan_fdb_del()
2981 vxlan_fdb_info = &switchdev_work->vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_fdb_del()
3012 struct mlxsw_sp_switchdev_event_work *switchdev_work = in mlxsw_sp_switchdev_vxlan_fdb_event_work() local
3014 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3031 switch (switchdev_work->event) { in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3033 mlxsw_sp_switchdev_vxlan_fdb_add(mlxsw_sp, switchdev_work); in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3036 mlxsw_sp_switchdev_vxlan_fdb_del(mlxsw_sp, switchdev_work); in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3042 kfree(switchdev_work); in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3048 switchdev_work, in mlxsw_sp_switchdev_vxlan_work_prepare()
3051 struct vxlan_dev *vxlan = netdev_priv(switchdev_work->dev); in mlxsw_sp_switchdev_vxlan_work_prepare()
3083 switchdev_work->vxlan_fdb_info = *vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_work_prepare()
3093 struct mlxsw_sp_switchdev_event_work *switchdev_work; in mlxsw_sp_switchdev_event() local
3115 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in mlxsw_sp_switchdev_event()
3116 if (!switchdev_work) in mlxsw_sp_switchdev_event()
3119 switchdev_work->dev = dev; in mlxsw_sp_switchdev_event()
3120 switchdev_work->event = event; in mlxsw_sp_switchdev_event()
3130 INIT_WORK(&switchdev_work->work, in mlxsw_sp_switchdev_event()
3132 memcpy(&switchdev_work->fdb_info, ptr, in mlxsw_sp_switchdev_event()
3133 sizeof(switchdev_work->fdb_info)); in mlxsw_sp_switchdev_event()
3134 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in mlxsw_sp_switchdev_event()
3135 if (!switchdev_work->fdb_info.addr) in mlxsw_sp_switchdev_event()
3137 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in mlxsw_sp_switchdev_event()
3147 INIT_WORK(&switchdev_work->work, in mlxsw_sp_switchdev_event()
3149 err = mlxsw_sp_switchdev_vxlan_work_prepare(switchdev_work, in mlxsw_sp_switchdev_event()
3156 kfree(switchdev_work); in mlxsw_sp_switchdev_event()
3160 mlxsw_core_schedule_work(&switchdev_work->work); in mlxsw_sp_switchdev_event()
3166 kfree(switchdev_work); in mlxsw_sp_switchdev_event()