Lines Matching refs:switchdev_work

2869 					  switchdev_work,  in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2874 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2879 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2887 switch (switchdev_work->event) { in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2917 switchdev_work) in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2920 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2927 if (switchdev_work->event != SWITCHDEV_FDB_ADD_TO_DEVICE && in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2928 switchdev_work->event != SWITCHDEV_FDB_DEL_TO_DEVICE) in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2931 if (switchdev_work->event == SWITCHDEV_FDB_ADD_TO_DEVICE && in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2932 (!switchdev_work->fdb_info.added_by_user || in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2933 switchdev_work->fdb_info.is_local)) in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2951 switchdev_work->fdb_info.vid); in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2959 mlxsw_sp_switchdev_bridge_vxlan_fdb_event(mlxsw_sp, switchdev_work, fid, in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2968 struct mlxsw_sp_switchdev_event_work *switchdev_work = in mlxsw_sp_switchdev_bridge_fdb_event_work() local
2970 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_bridge_fdb_event_work()
2977 mlxsw_sp_switchdev_bridge_nve_fdb_event(switchdev_work); in mlxsw_sp_switchdev_bridge_fdb_event_work()
2985 switch (switchdev_work->event) { in mlxsw_sp_switchdev_bridge_fdb_event_work()
2987 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_fdb_event_work()
2998 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_fdb_event_work()
3013 kfree(switchdev_work->fdb_info.addr); in mlxsw_sp_switchdev_bridge_fdb_event_work()
3014 kfree(switchdev_work); in mlxsw_sp_switchdev_bridge_fdb_event_work()
3021 switchdev_work) in mlxsw_sp_switchdev_vxlan_fdb_add()
3025 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_vxlan_fdb_add()
3034 vxlan_fdb_info = &switchdev_work->vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_fdb_add()
3093 switchdev_work) in mlxsw_sp_switchdev_vxlan_fdb_del()
3097 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_vxlan_fdb_del()
3105 vxlan_fdb_info = &switchdev_work->vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_fdb_del()
3136 struct mlxsw_sp_switchdev_event_work *switchdev_work = in mlxsw_sp_switchdev_vxlan_fdb_event_work() local
3138 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3155 switch (switchdev_work->event) { in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3157 mlxsw_sp_switchdev_vxlan_fdb_add(mlxsw_sp, switchdev_work); in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3160 mlxsw_sp_switchdev_vxlan_fdb_del(mlxsw_sp, switchdev_work); in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3166 kfree(switchdev_work); in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3172 switchdev_work, in mlxsw_sp_switchdev_vxlan_work_prepare()
3175 struct vxlan_dev *vxlan = netdev_priv(switchdev_work->dev); in mlxsw_sp_switchdev_vxlan_work_prepare()
3207 switchdev_work->vxlan_fdb_info = *vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_work_prepare()
3217 struct mlxsw_sp_switchdev_event_work *switchdev_work; in mlxsw_sp_switchdev_event() local
3239 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in mlxsw_sp_switchdev_event()
3240 if (!switchdev_work) in mlxsw_sp_switchdev_event()
3243 switchdev_work->dev = dev; in mlxsw_sp_switchdev_event()
3244 switchdev_work->event = event; in mlxsw_sp_switchdev_event()
3254 INIT_WORK(&switchdev_work->work, in mlxsw_sp_switchdev_event()
3256 memcpy(&switchdev_work->fdb_info, ptr, in mlxsw_sp_switchdev_event()
3257 sizeof(switchdev_work->fdb_info)); in mlxsw_sp_switchdev_event()
3258 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in mlxsw_sp_switchdev_event()
3259 if (!switchdev_work->fdb_info.addr) in mlxsw_sp_switchdev_event()
3261 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in mlxsw_sp_switchdev_event()
3271 INIT_WORK(&switchdev_work->work, in mlxsw_sp_switchdev_event()
3273 err = mlxsw_sp_switchdev_vxlan_work_prepare(switchdev_work, in mlxsw_sp_switchdev_event()
3280 kfree(switchdev_work); in mlxsw_sp_switchdev_event()
3284 mlxsw_core_schedule_work(&switchdev_work->work); in mlxsw_sp_switchdev_event()
3290 kfree(switchdev_work); in mlxsw_sp_switchdev_event()