| #
ece19cca |
| 26-Sep-2022 |
Alexander Kozyrev <akozyrev@nvidia.com> |
ethdev: get meter profile/policy objects
Introduce a new Meter API to retrieve a Meter profile and policy objects using the profile/policy ID previously created with meter_profile_add() and meter_po
ethdev: get meter profile/policy objects
Introduce a new Meter API to retrieve a Meter profile and policy objects using the profile/policy ID previously created with meter_profile_add() and meter_policy_create() functions. That allows to save the pointer and avoid any lookups in the corresponding lists for quick access during a flow rule creation. Also, it eliminates the need for CIR, CBS and EBS calculations and conversion to a PMD-specific format when the profile is used. Pointers are destroyed and cannot be used after the corresponding meter_profile_delete() or meter_policy_delete() are called.
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
443401d0 |
| 26-Sep-2022 |
Alexander Kozyrev <akozyrev@nvidia.com> |
ethdev: allow meter color marker modification
Extend modify_field Flow API with support of Meter Color Marker modifications. It allows setting the packet's metadata to any color marker: green, yello
ethdev: allow meter color marker modification
Extend modify_field Flow API with support of Meter Color Marker modifications. It allows setting the packet's metadata to any color marker: green, yellow or red. A user is able to specify an initial packet color for Meter API or create simple Metering and Marking flow rules based on his own coloring algorithm.
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
3af7a4af |
| 26-Sep-2022 |
Alexander Kozyrev <akozyrev@nvidia.com> |
ethdev: add meter color flow matching item
Provide an ability to use a Color Marker set by a Meter as a matching item in Flow API. The Color Marker reflects the metering result by setting the metada
ethdev: add meter color flow matching item
Provide an ability to use a Color Marker set by a Meter as a matching item in Flow API. The Color Marker reflects the metering result by setting the metadata for a packet to a particular codepoint: green, yellow or red.
Add testpmd command line to match on a meter color: flow create 0 ingress group 0 pattern meter color is green / end
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
c9dc0384 |
| 20-Sep-2022 |
Suanming Mou <suanmingm@nvidia.com> |
ethdev: add indirect action async query
As rte_flow_action_handle_create/destroy/update() have their own asynchronous rte_flow_async_action_handle_create/destroy/update() version functions to accele
ethdev: add indirect action async query
As rte_flow_action_handle_create/destroy/update() have their own asynchronous rte_flow_async_action_handle_create/destroy/update() version functions to accelerate the indirect action operations in queue based flow engine. Currently, the asynchronous version query function for indirect action was missing.
Add rte_flow_async_action_handle_query() function corresponding to rte_flow_action_handle_query(). The new asynchronous version function enables enqueue the query to the hardware similar as asynchronous flow management does and returns immediately to free the CPU for other tasks. Application can get the query results from rte_flow_pull() when the hardware completes its work.
Signed-off-by: Suanming Mou <suanmingm@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
| #
3d7c08e4 |
| 20-Sep-2022 |
Suanming Mou <suanmingm@nvidia.com> |
ethdev: add async flow connection tracking configuration
In queue based async flow engine, in order to optimize the flow insertion rate, PMD can use the hints from application to have resources pre-
ethdev: add async flow connection tracking configuration
In queue based async flow engine, in order to optimize the flow insertion rate, PMD can use the hints from application to have resources pre-allocate during initialization phase for actions such as count/meter/aging.
This commit adds the connection tracking action hints.
Signed-off-by: Suanming Mou <suanmingm@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
| #
c4574aed |
| 21-Sep-2022 |
Dariusz Sosnowski <dsosnowski@nvidia.com> |
ethdev: add GTP PSC QFI field to modify action
Introduce GTP PSC QFI modify field and add testpmd CLI command support.
An example for copying GTP QFI field using modify_field action:
modify_fi
ethdev: add GTP PSC QFI field to modify action
Introduce GTP PSC QFI modify field and add testpmd CLI command support.
An example for copying GTP QFI field using modify_field action:
modify_field op set dst_type meta src_type gtp_psc_qfi width 8
An example of setting GTP QFI field value to 0x1f using modify_field action:
modify_field op set dst_type gtp_psc_qfi src_type value src_value 1f width 8
Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
| #
0aaf0975 |
| 28-Sep-2022 |
Akhil Goyal <gakhil@marvell.com> |
ethdev: add MACsec flow item
A new flow item is defined for MACsec flows which can be offloaded to an inline device. If the flow matches with MACsec header, device will process as per the security s
ethdev: add MACsec flow item
A new flow item is defined for MACsec flows which can be offloaded to an inline device. If the flow matches with MACsec header, device will process as per the security session created using rte_security APIs. If an error comes while MACsec processing in HW, PMD will notify with the events defined in this patch.
Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
| #
235558fe |
| 12-Aug-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
ethdev: remove deprecated flow action physical port
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove.
The patch breaks ABI.
Signed-off-by: Ivan Malov <iva
ethdev: remove deprecated flow action physical port
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove.
The patch breaks ABI.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
| #
5e3779b7 |
| 12-Aug-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
ethdev: remove deprecated flow item physical port
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove.
The patch breaks ABI.
Signed-off-by: Ivan Malov <ivan.
ethdev: remove deprecated flow item physical port
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove.
The patch breaks ABI.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
| #
5c45fde3 |
| 12-Aug-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
ethdev: remove deprecated flow item VF
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove.
The patch breaks ABI.
Signed-off-by: Ivan Malov <ivan.malov@oktet
ethdev: remove deprecated flow item VF
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove.
The patch breaks ABI.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
| #
13f8de92 |
| 12-Aug-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
ethdev: remove deprecated flow item PF
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove.
The patch breaks ABI.
Signed-off-by: Ivan Malov <ivan.malov@oktet
ethdev: remove deprecated flow item PF
Such deprecation was commenced in DPDK 21.11. Since then, no parties have objected. Remove.
The patch breaks ABI.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
| #
50a239fa |
| 12-Aug-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
ethdev: promote flow transfer proxy API
rte_flow_pick_transfer_proxy() was first added to DPDK 21.11. Since then, no one has requested any fixes. At the same time, the API is required by series [1]
ethdev: promote flow transfer proxy API
rte_flow_pick_transfer_proxy() was first added to DPDK 21.11. Since then, no one has requested any fixes. At the same time, the API is required by series [1] in OvS for the new release.
[1] http://patchwork.ozlabs.org/project/openvswitch/list/?series=310415
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
| #
41b7de35 |
| 12-Aug-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
ethdev: promote port ID items and actions as stable
The following set of primitives has been introduced in 21.11:
- RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR - RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT - R
ethdev: promote port ID items and actions as stable
The following set of primitives has been introduced in 21.11:
- RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR - RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT - RTE_FLOW_ITEM_TYPE_PORT_REPRESENTOR - RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT
Since then, no one has requested any fixes. At the same time, the set is required by series [1] in OvS for the new release.
[1] http://patchwork.ozlabs.org/project/openvswitch/list/?series=310415
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
| #
36eccf7b |
| 04-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated metadata dynamic fields defines
Remove deprecated ``PKT_{R,T}X_DYNF_METADATA`` defines. Use corresponding defines ``RTE_MBUF_DYNFLAG_{R,T}X_METADATA`` instead.
Signed-off-
ethdev: remove deprecated metadata dynamic fields defines
Remove deprecated ``PKT_{R,T}X_DYNF_METADATA`` defines. Use corresponding defines ``RTE_MBUF_DYNFLAG_{R,T}X_METADATA`` instead.
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@xilinx.com>
show more ...
|
|
Revision tags: v22.07, v22.07-rc4, v22.07-rc3, v22.07-rc2 |
|
| #
83be526a |
| 20-Jun-2022 |
Sean Morrissey <sean.morrissey@intel.com> |
ethdev: remove unneeded header includes
These header includes have been flagged by the iwyu_tool and removed.
Signed-off-by: Sean Morrissey <sean.morrissey@intel.com>
|
|
Revision tags: v22.07-rc1 |
|
| #
c4e442fa |
| 02-Apr-2022 |
Jiawei Wang <jiaweiw@nvidia.com> |
ethdev: add IPv4/IPv6 ECN header rewrite action
This patch introduces the IPv4/IPv6 ECN modify field support, and adds the testpmd CLI commands support.
Usage: modify_field op set dst_type ipv4_ec
ethdev: add IPv4/IPv6 ECN header rewrite action
This patch introduces the IPv4/IPv6 ECN modify field support, and adds the testpmd CLI commands support.
Usage: modify_field op set dst_type ipv4_ecn src_type ...
For example:
flow create 0 ingress group 1 pattern eth / ipv4 / end actions modify_field op set dst_type ipv4_ecn src_type value src_value 0x03 width 2 / queue index 0 / end
Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2 |
|
| #
13cd6d5c |
| 23-Feb-2022 |
Alexander Kozyrev <akozyrev@nvidia.com> |
ethdev: bring in async indirect actions operations
Queue-based flow rules management mechanism is suitable not only for flow rules creation/destruction, but also for speeding up other types of Flow
ethdev: bring in async indirect actions operations
Queue-based flow rules management mechanism is suitable not only for flow rules creation/destruction, but also for speeding up other types of Flow API management. Indirect action object operations may be executed asynchronously as well. Provide async versions for all indirect action operations, namely: rte_flow_async_action_handle_create, rte_flow_async_action_handle_destroy and rte_flow_async_action_handle_update.
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
197e820c |
| 23-Feb-2022 |
Alexander Kozyrev <akozyrev@nvidia.com> |
ethdev: bring in async queue-based flow rules operations
A new, faster, queue-based flow rules management mechanism is needed for applications offloading rules inside the datapath. This asynchronous
ethdev: bring in async queue-based flow rules operations
A new, faster, queue-based flow rules management mechanism is needed for applications offloading rules inside the datapath. This asynchronous and lockless mechanism frees the CPU for further packet processing and reduces the performance impact of the flow rules creation/destruction on the datapath. Note that queues are not thread-safe and the queue should be accessed from the same thread for all queue operations. It is the responsibility of the app to sync the queue functions in case of multi-threaded access to the same queue.
The rte_flow_async_create() function enqueues a flow creation to the requested queue. It benefits from already configured resources and sets unique values on top of item and action templates. A flow rule is enqueued on the specified flow queue and offloaded asynchronously to the hardware. The function returns immediately to spare CPU for further packet processing. The application must invoke the rte_flow_pull() function to complete the flow rule operation offloading, to clear the queue, and to receive the operation status. The rte_flow_async_destroy() function enqueues a flow destruction to the requested queue.
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
f076bcfb |
| 23-Feb-2022 |
Alexander Kozyrev <akozyrev@nvidia.com> |
ethdev: add flow item/action templates
Treating every single flow rule as a completely independent and separate entity negatively impacts the flow rules insertion rate. Oftentimes in an application,
ethdev: add flow item/action templates
Treating every single flow rule as a completely independent and separate entity negatively impacts the flow rules insertion rate. Oftentimes in an application, many flow rules share a common structure (the same item mask and/or action list) so they can be grouped and classified together. This knowledge may be used as a source of optimization by a PMD/HW.
The pattern template defines common matching fields (the item mask) without values. The actions template holds a list of action types that will be used together in the same rule. The specific values for items and actions will be given only during the rule creation.
A table combines pattern and actions templates along with shared flow rule attributes (group ID, priority and traffic direction). This way a PMD/HW can prepare all the resources needed for efficient flow rules creation in the datapath. To avoid any hiccups due to memory reallocation, the maximum number of flow rules is defined at the table creation time.
The flow rule creation is done by selecting a table, a pattern template and an actions template (which are bound to the table), and setting unique values for the items and actions.
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
4ff58b73 |
| 23-Feb-2022 |
Alexander Kozyrev <akozyrev@nvidia.com> |
ethdev: introduce flow engine configuration
The flow rules creation/destruction at a large scale incurs a performance penalty and may negatively impact the packet processing when used as part of the
ethdev: introduce flow engine configuration
The flow rules creation/destruction at a large scale incurs a performance penalty and may negatively impact the packet processing when used as part of the datapath logic. This is mainly because software/hardware resources are allocated and prepared during the flow rule creation.
In order to optimize the insertion rate, PMD may use some hints provided by the application at the initialization phase. The rte_flow_configure() function allows to pre-allocate all the needed resources beforehand. These resources can be used at a later stage without costly allocations. Every PMD may use only the subset of hints and ignore unused ones or fail in case the requested configuration is not supported.
The rte_flow_info_get() is available to retrieve the information about supported pre-configurable resources. Both these functions must be called before any other usage of the flow API engine.
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
|
Revision tags: v22.03-rc1 |
|
| #
f61490bd |
| 11-Feb-2022 |
Sean Zhang <xiazhang@nvidia.com> |
ethdev: support GRE optional fields
Add flow pattern items and header format for matching optional fields (checksum/key/sequence) in GRE header. And the flags in gre item should be correspondingly s
ethdev: support GRE optional fields
Add flow pattern items and header format for matching optional fields (checksum/key/sequence) in GRE header. And the flags in gre item should be correspondingly set with the new added items.
Signed-off-by: Sean Zhang <xiazhang@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
|
Revision tags: v21.11 |
|
| #
bef7c9ff |
| 26-Nov-2021 |
Viacheslav Ovsiienko <viacheslavo@nvidia.com> |
ethdev: announce migration to generic flow modify action
The generic RTE_FLOW_ACTION_TYPE_MODIFY_FIELD action was introduced by [1]. This action provides an unified way to perform various arithmetic
ethdev: announce migration to generic flow modify action
The generic RTE_FLOW_ACTION_TYPE_MODIFY_FIELD action was introduced by [1]. This action provides an unified way to perform various arithmetic and transfer operations over packet network header fields and packet metadata.
[1] 73b68f4c54a0 ("ethdev: introduce generic modify flow action")
On other side there are a bunch of multiple legacy actions, that can be superseded by the generic MODIFY_FIELD action:
RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL sfc RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC bnxt, cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_SET_IPV4_DST bnxt, cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_SET_IPV6_DST cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_SET_TP_SRC cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_SET_TP_DST cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_DEC_TTL mlx5, sfc RTE_FLOW_ACTION_TYPE_SET_TTL mlx5 RTE_FLOW_ACTION_TYPE_SET_MAC_SRC cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_SET_MAC_DST cxgbe, mlx5 RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ mlx5 RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ mlx5 RTE_FLOW_ACTION_TYPE_INC_TCP_ACK mlx5 RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK mlx5 RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP mlx5 RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP mlx5 RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID bnxt, cnxk, cxgbe, enic, mlx5, octeontx2, sfc RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP bnxt, cnxk, cxgbe, enic, mlx5, octeontx2, sfc RTE_FLOW_ACTION_TYPE_SET_TAG mlx5 RTE_FLOW_ACTION_TYPE_SET_META mlx5
This note deprecates the following RTE Flow actions, as not supported by any of PMDs:
RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN
The following actions are supposed to be deprecated in 22.07 and replaced by generic field modify action:
RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC RTE_FLOW_ACTION_TYPE_SET_IPV4_DST RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC RTE_FLOW_ACTION_TYPE_SET_IPV6_DST RTE_FLOW_ACTION_TYPE_SET_TP_SRC RTE_FLOW_ACTION_TYPE_SET_TP_DST RTE_FLOW_ACTION_TYPE_DEC_TTL RTE_FLOW_ACTION_TYPE_SET_TTL RTE_FLOW_ACTION_TYPE_SET_MAC_SRC RTE_FLOW_ACTION_TYPE_SET_MAC_DST RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ RTE_FLOW_ACTION_TYPE_INC_TCP_ACK RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP RTE_FLOW_ACTION_TYPE_SET_TAG RTE_FLOW_ACTION_TYPE_SET_META
The VLAN set actions are interrelated to VLAN header insertion/removal and supported by multiple PMDs and widely used by applications and not supposed to be deprecated due to potential large impact on drivers and applications.
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
|
Revision tags: v21.11-rc4, v21.11-rc3 |
|
| #
51395027 |
| 12-Nov-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: fix typos
Fixes: 9039c8125730 ("ethdev: change promiscuous callbacks to return status") Fixes: 12e6e3e78fe0 ("ethdev: add API to dump device internal flow info") Fixes: 44bf3c796be3 ("ethdev
ethdev: fix typos
Fixes: 9039c8125730 ("ethdev: change promiscuous callbacks to return status") Fixes: 12e6e3e78fe0 ("ethdev: add API to dump device internal flow info") Fixes: 44bf3c796be3 ("ethdev: support flow aging") Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Ori Kam <orika@nvidia.com>
show more ...
|
|
Revision tags: v21.11-rc2 |
|
| #
1d5a3d68 |
| 02-Nov-2021 |
Dmitry Kozlyuk <dkozlyuk@nvidia.com> |
ethdev: add capability to keep flow rules on restart
Previously, it was not specified what happens to the flow rules when the device is stopped, possibly reconfigured, then started. If flow rules we
ethdev: add capability to keep flow rules on restart
Previously, it was not specified what happens to the flow rules when the device is stopped, possibly reconfigured, then started. If flow rules were kept, it could be convenient for application developers, because they wouldn't need to save and restore them. However, due to the number of flows and possible creation rate it is impractical to save all flow rules in DPDK layer. This means that flow rules persistence really depends on whether PMD and HW can implement it efficiently. It can also be limited by the rule item and action types, and its attributes transfer bit (a combination of an item/action type and a value of the transfer bit is called a rule feature).
Add a device capability bit for PMDs that can keep at least some of the flow rules across restart. Without this capability behavior is still unspecified and it is declared that the application must flush the rules before stopping the device. Allow the application to test for persistence of rules using a particular feature by attempting to create a flow rule using that feature when the device is stopped and checking for the specific error. This is logical because if the PMD can to create the flow rule when the device is not started and use it after the start happens, it is natural that it can move its internal flow rule object to the same state when the device is stopped and restore the state when the device is started.
Rule persistence across a reconfigurations is not required, because tracking all the rules and configuration-dependent resources they use may be infeasible. In case a PMD cannot keep the rules across reconfiguration, it is allowed just to report an error. Application must then flush the rules before attempting it.
Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
|
Revision tags: v21.11-rc1 |
|
| #
daa02b5c |
| 15-Oct-2021 |
Olivier Matz <olivier.matz@6wind.com> |
mbuf: add namespace to offload flags
Fix the mbuf offload flags namespace by adding an RTE_ prefix to the name. The old flags remain usable, but a deprecation warning is issued at compilation.
Sign
mbuf: add namespace to offload flags
Fix the mbuf offload flags namespace by adding an RTE_ prefix to the name. The old flags remain usable, but a deprecation warning is issued at compilation.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|