#
96fd2bd6 |
| 02-Jul-2021 |
Igor Romanov <igor.romanov@oktetlabs.ru> |
net/sfc: support flow action count in transfer rules
For now, a rule may have only one dedicated counter, shared counters are not supported.
HW delivers (or "streams") counter readings using specia
net/sfc: support flow action count in transfer rules
For now, a rule may have only one dedicated counter, shared counters are not supported.
HW delivers (or "streams") counter readings using special packets. The driver creates a dedicated Rx queue to receive such packets and requests that HW start "streaming" the readings to it.
The counter queue is polled periodically, and the first available service core is used for that. Hence, the user has to specify at least one service core for counters to work. Such a core is shared by all MAE-capable devices managed by sfc driver.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com> Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
show more ...
|
#
09cafbdd |
| 02-Jul-2021 |
Igor Romanov <igor.romanov@oktetlabs.ru> |
net/sfc: prepare for internal Rx queue
Make software index of an Rx queue and ethdev index separate. When an ethdev RxQ is accessed in ethdev callbacks, an explicit ethdev queue index is used.
Sign
net/sfc: prepare for internal Rx queue
Make software index of an Rx queue and ethdev index separate. When an ethdev RxQ is accessed in ethdev callbacks, an explicit ethdev queue index is used.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com> Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
show more ...
|
#
ad5750a7 |
| 16-Mar-2021 |
Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> |
net/sfc: allow PPPoE flow pattern items
These items allow the user to avoid having to set the EtherType field in an ETH item to match PPPoE traffic. Using a PPPoED (PPPoE discovery) or PPPoES (PPPoE
net/sfc: allow PPPoE flow pattern items
These items allow the user to avoid having to set the EtherType field in an ETH item to match PPPoE traffic. Using a PPPoED (PPPoE discovery) or PPPoES (PPPoE session) item will lead to EtherType filter being set up with a corresponding value. If an ETH item provides its own EtherType value, it will be checked for correctness.
Matching on PPPoE fields is not supported.
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
923a96b8 |
| 12-Mar-2021 |
Igor Romanov <igor.romanov@oktetlabs.ru> |
net/sfc: change MAE rule actions parsing parameter
Current API signature makes it hard to add other entities that belong to a flow specification. Pass the flow specification so that additional membe
net/sfc: change MAE rule actions parsing parameter
Current API signature makes it hard to add other entities that belong to a flow specification. Pass the flow specification so that additional members can be accessed through the spec.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com> Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
show more ...
|
#
98d26ef7 |
| 11-Mar-2021 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
net/sfc: update copyright year
Bump copyright year to 2021.
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
|
#
df96fd0d |
| 29-Jan-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
ethdev: make driver-only headers private
The rte_ethdev_driver.h, rte_ethdev_vdev.h and rte_ethdev_pci.h files are for drivers only and should be a private to DPDK and not installed.
Signed-off-by:
ethdev: make driver-only headers private
The rte_ethdev_driver.h, rte_ethdev_vdev.h and rte_ethdev_pci.h files are for drivers only and should be a private to DPDK and not installed.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Steven Webster <steven.webster@windriver.com>
show more ...
|
#
dadff137 |
| 20-Oct-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: support encap flow items in transfer rules
Add support for flow items VXLAN, Geneve and NVGRE to MAE-specific RTE flow implementation.
Having support for these items implies the ability to
net/sfc: support encap flow items in transfer rules
Add support for flow items VXLAN, Geneve and NVGRE to MAE-specific RTE flow implementation.
Having support for these items implies the ability to insert so-called outer MAE rules and refer to them in MAE action rules. The patch takes care of all necessary facilities to do that.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
b61e717a |
| 20-Oct-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: add facilities to handle bundles of actions
There are MAE actions which do not have uniform counterparts in terms of RTE flow. However, there are bundles of RTE flow actions which can be co
net/sfc: add facilities to handle bundles of actions
There are MAE actions which do not have uniform counterparts in terms of RTE flow. However, there are bundles of RTE flow actions which can be considered as such counterparts.
Implement facilities to handle related RTE flow actions as parts of a whole. These facilities will be used by a later patch to add support for VLAN PUSH actions bundle.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
041f22ec |
| 20-Oct-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: implement flow insert/remove in MAE backend
Exercise action set allocation / release and action rule insertion / removal in order to let flow API callers actually get created flows function
net/sfc: implement flow insert/remove in MAE backend
Exercise action set allocation / release and action rule insertion / removal in order to let flow API callers actually get created flows functioning.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
662286ae |
| 20-Oct-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: add actions parsing stub to MAE backend
If parsing a flow results in an action set specification identical to an already existing one, duplication will be avoided by reusing the list entry
net/sfc: add actions parsing stub to MAE backend
If parsing a flow results in an action set specification identical to an already existing one, duplication will be avoided by reusing the list entry of the latter. Using an attach helper and a reference counter is meant to serve the said purpose.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
8b61dd99 |
| 20-Oct-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: add verify method to flow validate path
The new method is needed to make sure that a flow being validated will have a chance to be accepted by the FW. MAE-specific implementation of the met
net/sfc: add verify method to flow validate path
The new method is needed to make sure that a flow being validated will have a chance to be accepted by the FW. MAE-specific implementation of the method should compare the class of a rule being validated with the corresponding classes of active rules, and, if no matches found, make a request to the FW. Support for the latter will be added in future.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
7a25bc98 |
| 20-Oct-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: add pattern parsing stub to MAE backend
Add pattern parsing stub, define and implement flow cleanup method. The latter is needed to free any dynamic structures allocated during flow parsing
net/sfc: add pattern parsing stub to MAE backend
Add pattern parsing stub, define and implement flow cleanup method. The latter is needed to free any dynamic structures allocated during flow parsing.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
01628fc5 |
| 20-Oct-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: add concept of MAE (transfer) rules
Define the corresponding specification structure and make the code identify MAE rules by testing transfer attribute presence. Also, add a priority level
net/sfc: add concept of MAE (transfer) rules
Define the corresponding specification structure and make the code identify MAE rules by testing transfer attribute presence. Also, add a priority level check.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
92a15fc5 |
| 24-Sep-2020 |
Igor Romanov <igor.romanov@oktetlabs.ru> |
net/sfc: fix RSS hash offload if queue action is used
When RSS hash offload is requested, the ingress filters that forward packets to an RX queue must have an RSS context assigned to them to calcula
net/sfc: fix RSS hash offload if queue action is used
When RSS hash offload is requested, the ingress filters that forward packets to an RX queue must have an RSS context assigned to them to calculate RSS hash, which was not always provided.
Fix it by creating a dummy RSS context that forwards packets to the same queue and assign it to created by flow API filters when RSS hash offload is enabled. RSS key and hash functions from default RSS context are used.
Fixes: 5d308972954c ("ethdev: add mbuf RSS update as an offload") Cc: stable@dpdk.org
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|
#
1b0236e2 |
| 17-Sep-2020 |
Andrew Rybchenko <arybchenko@solarflare.com> |
net/sfc: include header with debug helpers directly
Avoid build failures on further restructuring.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andy Moreton <amoreton@xi
net/sfc: include header with debug helpers directly
Avoid build failures on further restructuring.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
a0147be5 |
| 30-Mar-2020 |
Andrew Rybchenko <arybchenko@solarflare.com> |
net/sfc: add Xilinx copyright
Xilinx acquired Solarflare in 2019.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: James Fox <jamesfox@xilinx.com>
|
#
f6752f66 |
| 10-Mar-2020 |
Igor Romanov <igor.romanov@oktetlabs.ru> |
net/sfc: set priority of created filters to manual
The priority should be explicitly set to manual for correct usage of libefx filters.
Fixes: a9825ccf5bb8 ("net/sfc: support flow API filters") Cc:
net/sfc: set priority of created filters to manual
The priority should be explicitly set to manual for correct usage of libefx filters.
Fixes: a9825ccf5bb8 ("net/sfc: support flow API filters") Cc: stable@dpdk.org
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|
#
2e2e5bdf |
| 05-Mar-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: generalise flow pattern item processing
This is needed to reuse pattern processing engine for MAE.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <aryb
net/sfc: generalise flow pattern item processing
This is needed to reuse pattern processing engine for MAE.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|
#
4f867ad6 |
| 05-Mar-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: generalise flow start and stop path
As a preparation step, generalise flow start and stop path using callbacks.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Ry
net/sfc: generalise flow start and stop path
As a preparation step, generalise flow start and stop path using callbacks.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|
#
5b2b9236 |
| 05-Mar-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: generalise flow parsing
Generalise flow attribute parsing function in regard to transfer attribute. Add a method table and factor out VNIC-specific parsing code as a callback.
Signed-off-b
net/sfc: generalise flow parsing
Generalise flow attribute parsing function in regard to transfer attribute. Add a method table and factor out VNIC-specific parsing code as a callback.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|
#
7ba16684 |
| 05-Mar-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: introduce flow allocation and free path
Riverhead boards maintain support for MAE, a low-level Match-Action Engine. The upcoming patches will bring support for MAE to RTE flow implementatio
net/sfc: introduce flow allocation and free path
Riverhead boards maintain support for MAE, a low-level Match-Action Engine. The upcoming patches will bring support for MAE to RTE flow implementation.
A follow-up patch will introduce MAE-specific specification cleanup method. In order to prepare for the patch, introduce flow allocation and free path.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|
#
6f63bf7b |
| 05-Mar-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: generalise flow specification structure
Add the concept of a flow specification type.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarf
net/sfc: generalise flow specification structure
Add the concept of a flow specification type.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|
#
19621712 |
| 05-Mar-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: make flow list engine-agnostic
A backend which a driver employs to handle flow rules of a given type depends on the underlying NIC flow engine. The driver in question in its current state i
net/sfc: make flow list engine-agnostic
A backend which a driver employs to handle flow rules of a given type depends on the underlying NIC flow engine. The driver in question in its current state is tailored to support the only flow engine, VNIC filtering. As the need arises to add support for transfer rules, the driver has to be reworked so that it becomes possible to introduce yet another backend.
As a preparation step, make the flow list shared between different engines.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|
#
7571c08d |
| 05-Mar-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: make flow RSS details VNIC-specific
The flow specification structure will be transformed to a generic one, and its current contents will be fenced off to form a VNIC-specific parameters. Fl
net/sfc: make flow RSS details VNIC-specific
The flow specification structure will be transformed to a generic one, and its current contents will be fenced off to form a VNIC-specific parameters. Flow RSS details do not belong to the said specification currently, albeit being VNIC-specific. This patch addresses this issue as a preparation step.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|
#
653b285f |
| 03-Nov-2019 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: fix adapter lock usage on rule creation
The point is that adapter lock has to be held on list accesses, as well as when talking to the HW.
Fixes: a9825ccf5bb8 ("net/sfc: support flow API f
net/sfc: fix adapter lock usage on rule creation
The point is that adapter lock has to be held on list accesses, as well as when talking to the HW.
Fixes: a9825ccf5bb8 ("net/sfc: support flow API filters") Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
show more ...
|