Lines Matching refs:switchdev_work

2775 					  switchdev_work,  in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2780 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2785 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2793 switch (switchdev_work->event) { in mlxsw_sp_switchdev_bridge_vxlan_fdb_event()
2823 switchdev_work) in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2826 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2833 if (switchdev_work->event != SWITCHDEV_FDB_ADD_TO_DEVICE && in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2834 switchdev_work->event != SWITCHDEV_FDB_DEL_TO_DEVICE) in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2837 if (switchdev_work->event == SWITCHDEV_FDB_ADD_TO_DEVICE && in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2838 !switchdev_work->fdb_info.added_by_user) in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2856 switchdev_work->fdb_info.vid); in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2864 mlxsw_sp_switchdev_bridge_vxlan_fdb_event(mlxsw_sp, switchdev_work, fid, in mlxsw_sp_switchdev_bridge_nve_fdb_event()
2873 struct mlxsw_sp_switchdev_event_work *switchdev_work = in mlxsw_sp_switchdev_bridge_fdb_event_work() local
2875 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_bridge_fdb_event_work()
2882 mlxsw_sp_switchdev_bridge_nve_fdb_event(switchdev_work); in mlxsw_sp_switchdev_bridge_fdb_event_work()
2890 switch (switchdev_work->event) { in mlxsw_sp_switchdev_bridge_fdb_event_work()
2892 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_fdb_event_work()
2903 fdb_info = &switchdev_work->fdb_info; in mlxsw_sp_switchdev_bridge_fdb_event_work()
2918 kfree(switchdev_work->fdb_info.addr); in mlxsw_sp_switchdev_bridge_fdb_event_work()
2919 kfree(switchdev_work); in mlxsw_sp_switchdev_bridge_fdb_event_work()
2926 switchdev_work) in mlxsw_sp_switchdev_vxlan_fdb_add()
2930 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_vxlan_fdb_add()
2939 vxlan_fdb_info = &switchdev_work->vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_fdb_add()
2998 switchdev_work) in mlxsw_sp_switchdev_vxlan_fdb_del()
3002 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_vxlan_fdb_del()
3010 vxlan_fdb_info = &switchdev_work->vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_fdb_del()
3041 struct mlxsw_sp_switchdev_event_work *switchdev_work = in mlxsw_sp_switchdev_vxlan_fdb_event_work() local
3043 struct net_device *dev = switchdev_work->dev; in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3060 switch (switchdev_work->event) { in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3062 mlxsw_sp_switchdev_vxlan_fdb_add(mlxsw_sp, switchdev_work); in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3065 mlxsw_sp_switchdev_vxlan_fdb_del(mlxsw_sp, switchdev_work); in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3071 kfree(switchdev_work); in mlxsw_sp_switchdev_vxlan_fdb_event_work()
3077 switchdev_work, in mlxsw_sp_switchdev_vxlan_work_prepare()
3080 struct vxlan_dev *vxlan = netdev_priv(switchdev_work->dev); in mlxsw_sp_switchdev_vxlan_work_prepare()
3112 switchdev_work->vxlan_fdb_info = *vxlan_fdb_info; in mlxsw_sp_switchdev_vxlan_work_prepare()
3122 struct mlxsw_sp_switchdev_event_work *switchdev_work; in mlxsw_sp_switchdev_event() local
3144 switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); in mlxsw_sp_switchdev_event()
3145 if (!switchdev_work) in mlxsw_sp_switchdev_event()
3148 switchdev_work->dev = dev; in mlxsw_sp_switchdev_event()
3149 switchdev_work->event = event; in mlxsw_sp_switchdev_event()
3159 INIT_WORK(&switchdev_work->work, in mlxsw_sp_switchdev_event()
3161 memcpy(&switchdev_work->fdb_info, ptr, in mlxsw_sp_switchdev_event()
3162 sizeof(switchdev_work->fdb_info)); in mlxsw_sp_switchdev_event()
3163 switchdev_work->fdb_info.addr = kzalloc(ETH_ALEN, GFP_ATOMIC); in mlxsw_sp_switchdev_event()
3164 if (!switchdev_work->fdb_info.addr) in mlxsw_sp_switchdev_event()
3166 ether_addr_copy((u8 *)switchdev_work->fdb_info.addr, in mlxsw_sp_switchdev_event()
3176 INIT_WORK(&switchdev_work->work, in mlxsw_sp_switchdev_event()
3178 err = mlxsw_sp_switchdev_vxlan_work_prepare(switchdev_work, in mlxsw_sp_switchdev_event()
3185 kfree(switchdev_work); in mlxsw_sp_switchdev_event()
3189 mlxsw_core_schedule_work(&switchdev_work->work); in mlxsw_sp_switchdev_event()
3195 kfree(switchdev_work); in mlxsw_sp_switchdev_event()