net/mlx5: Split the load/unload flow into hardware and software flows