net/mlx5: check device status before creating flow
authorBing Zhao <bingz@mellanox.com>
Tue, 24 Mar 2020 15:34:00 +0000 (15:34 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 21 Apr 2020 11:57:05 +0000 (13:57 +0200)
commit40b9e7f65fe1ef9f65f80c59e11b0af3d362a80d
tree4eca75ca9b9e5b42430df3dfb62668cfdcb79e4d
parente7bfa3596a0abdb7424125019e1231af33773488
net/mlx5: check device status before creating flow

By default, flows are categorized into two types of a mlx5 device.
  1. The PMD driver will create some default flows to enable the
     traffic and give some default behaviors on the packets. And
     this is transparent to the upper layer application.
  2. Other flows will be created in the application based on its
     needs.
When in the old cached mode for application flows, it is allowed
to created the flow before the device is started. And when
starting the device, all the flows will be applied to the hardware
and take effect. The cached flows will be also applied in the same
time.
In non-cached mode, all the flows will never be cached when stopping
a device. So it makes no sense to insert any flow into the device
before it is started. Default flows owned by PMD driver are not
affected in this case.

Signed-off-by: Bing Zhao <bingz@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
drivers/net/mlx5/mlx5_flow.c