On 10/5/2021 6:16 PM, Martin Havlik wrote:
This patchset stems from [1].

Not all PMDs allow RTE flow rule creation before device start.
Introduced capability marks the ones that allow it.
The capability is then used to fix flow rule creation for
dedicated queues in slave devices in bonding.

The introduced capa _will need to be set_ for all appropriate PMDs
in `rte_eth_dev_info->dev_capa`.
That is not pretty, but it holds the semantics of a capability
correctly, as opposed to making it a requirement to have the device
started before creating flow rules.


+Ori & Dmitry.

I think right now the method to check if device supports adding flow
rules when stopped is run 'rte_flow_create()' when device is stopped
and check return value.

Can we do similar in the bonding?

I am not clear if there is an error to differentiate flow create is
failed because device is stopped (or from some other reason).


And other option is, what happens if rule is always created after
device started?

[1] https://www.mail-archive.com/dev@dpdk.org/msg214840.html

Martin Havlik (2):
   lib/ethdev: introduce RTE_ETH_DEV_CAPA_FLOW_CREATE_BEFORE_START
   net/bonding: require started device for dedicated queues

  drivers/net/bonding/rte_eth_bond_pmd.c | 25 +++++++++++++++++++------
  lib/ethdev/rte_ethdev.h                |  2 ++
  2 files changed, 21 insertions(+), 6 deletions(-)


Reply via email to