| #
3f9acb5c |
| 18-Aug-2022 |
Morten Brørup <mb@smartsharesystems.com> |
ethdev: avoid non-dataplane checks in Rx queue count
Applications may use rte_eth_rx_queue_count() in the Rx stage of the dataplane, so only check the function parameters if built with RTE_ETHDEV_DE
ethdev: avoid non-dataplane checks in Rx queue count
Applications may use rte_eth_rx_queue_count() in the Rx stage of the dataplane, so only check the function parameters if built with RTE_ETHDEV_DEBUG_RX.
Signed-off-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Ferruh Yigit <ferruh.yigit@xilinx.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
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 ...
|
| #
d1ce79d1 |
| 26-Sep-2022 |
Vamsi Attunuru <vattunuru@marvell.com> |
ethdev: add IPsec SA expiry event subtypes
Patch adds new event subtypes for notifying expiry events upon reaching IPsec SA soft packet expiry and hard packet/byte expiry limits.
Signed-off-by: Vam
ethdev: add IPsec SA expiry event subtypes
Patch adds new event subtypes for notifying expiry events upon reaching IPsec SA soft packet expiry and hard packet/byte expiry limits.
Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com> Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
| #
fc0a9293 |
| 12-Aug-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
ethdev: promote Rx metadata negotiation API
rte_eth_rx_metadata_negotiate() was introduced in DPDK 21.11. Since then, no one has requested any fixes. At the same time, the API is required by series
ethdev: promote Rx metadata negotiation API
rte_eth_rx_metadata_negotiate() was introduced in 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>
show more ...
|
| #
5007ac13 |
| 03-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated Flow Director configuration
Remove deprecated fdir_conf from device configuration. Assume that mode is equal to RTE_FDIR_MODE_NONE.
Add internal Flow Director configuratio
ethdev: remove deprecated Flow Director configuration
Remove deprecated fdir_conf from device configuration. Assume that mode is equal to RTE_FDIR_MODE_NONE.
Add internal Flow Director configuration copy in ixgbe and txgbe device private data since flow API supports requires it. Initialize mode to the first flow rule mode on the rule validation or creation.
Since Flow Director configuration data types are still used by some drivers internally, move it from public API to ethdev driver internal API.
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Dongdong Liu <liudongdong3@huawei.com>
show more ...
|
| #
16acf7b1 |
| 04-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated maximum Rx MAC addresses define
Remove deprecated ``ETH_NUM_RECEIVE_MAC_ADDR`` define. Use corresponding define with ``RTE_`` prefix instead.
Signed-off-by: Andrew Rybchen
ethdev: remove deprecated maximum Rx MAC addresses define
Remove deprecated ``ETH_NUM_RECEIVE_MAC_ADDR`` define. Use corresponding define with ``RTE_`` prefix 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 ...
|
| #
ab870119 |
| 04-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated VLAN offload configuration defines
Remove deprecated ``ETH_VLAN_*`` and ``ETH_QINQ_`` defines. Use corresponding defines with ``RTE_`` prefix instead.
Signed-off-by: Andre
ethdev: remove deprecated VLAN offload configuration defines
Remove deprecated ``ETH_VLAN_*`` and ``ETH_QINQ_`` defines. Use corresponding defines with ``RTE_`` prefix 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 ...
|
| #
25def33d |
| 04-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated flow control defines
Remove deprecated ``RTE_FC_*`` defines. Use corresponding defines with ``RTE_ETH_FC_`` prefix instead.
Signed-off-by: Andrew Rybchenko <andrew.rybchen
ethdev: remove deprecated flow control defines
Remove deprecated ``RTE_FC_*`` defines. Use corresponding defines with ``RTE_ETH_FC_`` prefix 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 ...
|
| #
25b77b60 |
| 04-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated tunnel type defines
Remove deprecated ``RTE_TUNNEL_*`` defines. Use corresponding defines with ``RTE_ETH_TUNNEL_`` prefix instead.
Signed-off-by: Andrew Rybchenko <andrew.
ethdev: remove deprecated tunnel type defines
Remove deprecated ``RTE_TUNNEL_*`` defines. Use corresponding defines with ``RTE_ETH_TUNNEL_`` prefix 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 ...
|
| #
935b9a43 |
| 04-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated DCB and VMDq defines
Remove deprecated ``ETH_DCB_*``, ``ETH_VMDQ_``, ``ETH_*_TCS``, ``ETH_*_POOLS`` and ``ETH_MAX_VMDQ_POOL`` defines. Use corresponding defines with ``RTE_
ethdev: remove deprecated DCB and VMDq defines
Remove deprecated ``ETH_DCB_*``, ``ETH_VMDQ_``, ``ETH_*_TCS``, ``ETH_*_POOLS`` and ``ETH_MAX_VMDQ_POOL`` defines. Use corresponding defines with ``RTE_`` prefix 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 ...
|
| #
3be1c233 |
| 04-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated Rx and Tx offload defines
Remove deprecated ``DEV_RX_OFFLOAD_*`` and ``DEV_TX_OFFLOAD_`` defines. Use corresponding defines with ``RTE_ETH_RX_OFFLOAD_`` and ``RTE_ETH_TX_OF
ethdev: remove deprecated Rx and Tx offload defines
Remove deprecated ``DEV_RX_OFFLOAD_*`` and ``DEV_TX_OFFLOAD_`` defines. Use corresponding defines with ``RTE_ETH_RX_OFFLOAD_`` and ``RTE_ETH_TX_OFFLOAD_`` prefix 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 ...
|
| #
683f93ef |
| 04-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated defines for RSS configuration
Remove deprecated ``ETH_RSS_*`` defines used for hash function and RETA size specification. Use corresponding defines with ``RTE_`` prefix in
ethdev: remove deprecated defines for RSS configuration
Remove deprecated ``ETH_RSS_*`` defines used for hash function and RETA size specification. Use corresponding defines with ``RTE_`` prefix 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 ...
|
| #
0593c208 |
| 04-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated Rx and Tx multi-queue mode defines
Remove deprecated ``ETH_MQ_RX_*`` and ``ETH_MQ_TX_*`` defines. Use corresponding defines with ``RTE_`` prefix instead.
Signed-off-by: An
ethdev: remove deprecated Rx and Tx multi-queue mode defines
Remove deprecated ``ETH_MQ_RX_*`` and ``ETH_MQ_TX_*`` defines. Use corresponding defines with ``RTE_`` prefix 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 ...
|
| #
667c74de |
| 04-Aug-2022 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: remove deprecated link speed and duplex defines
Remove deprecated ``ETH_LINK_SPEED_``, ``ETH_SPEED_NUM_`` and ``ETH_LINK_`` defines. Use corresponding defines with ``RTE_`` prefix instead.
ethdev: remove deprecated link speed and duplex defines
Remove deprecated ``ETH_LINK_SPEED_``, ``ETH_SPEED_NUM_`` and ``ETH_LINK_`` defines. Use corresponding defines with ``RTE_`` prefix 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 ...
|
| #
ec5ecd7e |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
dev: introduce device accessors
Prepare for making the device object opaque by adding accessors. Update existing "external" users.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by
dev: introduce device accessors
Prepare for making the device object opaque by adding accessors. Update existing "external" users.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
| #
97bbdba3 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
dev: introduce driver accessors
Prepare for making the driver object opaque by adding accessors. Update existing "external" users. Internal users may still dereference a rte_driver object.
Signed-o
dev: introduce driver accessors
Prepare for making the driver object opaque by adding accessors. Update existing "external" users. Internal users may still dereference a rte_driver object.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
| #
8f1d23ec |
| 23-Aug-2022 |
David Marchand <david.marchand@redhat.com> |
eal: deprecate RTE_FUNC_PTR_* macros
Those macros have no real value and are easily replaced with a simple if() block.
Existing users have been converted using a new cocci script. Deprecate them.
eal: deprecate RTE_FUNC_PTR_* macros
Those macros have no real value and are easily replaced with a simple if() block.
Existing users have been converted using a new cocci script. Deprecate them.
Signed-off-by: David Marchand <david.marchand@redhat.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 |
|
| #
bc70e559 |
| 08-Jun-2022 |
Spike Du <spiked@nvidia.com> |
ethdev: introduce available Rx descriptors threshold
A new event RTE_ETH_EVENT_RX_AVAIL_THRESH should be generated by HW when number of available descriptors in Rx queue goes below the threshold.
T
ethdev: introduce available Rx descriptors threshold
A new event RTE_ETH_EVENT_RX_AVAIL_THRESH should be generated by HW when number of available descriptors in Rx queue goes below the threshold.
The threshold is defined as a percentage of an Rx queue size with valid values from 0 to 99 (inclusive). Zero (default) value disables it.
There is no capability reporting for the feature. Application should simply try to set required threshold value and handle result.
Add testpmd commands to control the threshold: set port <port_id> rxq <rxq_id> avail_thresh <avail_thresh_num>
Signed-off-by: Spike Du <spiked@nvidia.com> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2 |
|
| #
bdde2d90 |
| 28-Oct-2021 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: promote port ownership API as stable
The port ownership concept was introduced in ethdev in DPDK 18.02. Not sure it is used by applications except those using failsafe or netvsc. It can also
ethdev: promote port ownership API as stable
The port ownership concept was introduced in ethdev in DPDK 18.02. Not sure it is used by applications except those using failsafe or netvsc. It can also be used by libraries or applications to sort out how ports are controlled.
Hiding sub-ports controlled by failsafe or netvsc look to be enough justification to promote this API as stable.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ray Kinsella <mdr@ashroe.eu> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
b77d3318 |
| 10-Apr-2022 |
Dmitry Kozlyuk <dkozlyuk@nvidia.com> |
ethdev: prohibit polling stopped queue
Whether it is allowed to call Rx/Tx functions for a stopped queue was undocumented. Some PMDs make this behavior a no-op either by explicitly checking the queu
ethdev: prohibit polling stopped queue
Whether it is allowed to call Rx/Tx functions for a stopped queue was undocumented. Some PMDs make this behavior a no-op either by explicitly checking the queue state or by the way how their routines are implemented or HW works.
No-op behavior may be convenient for application developers. But it also means that pollers of stopped queues would go all the way down to PMD Rx/Tx routines, wasting cycles. Some PMDs would do a check for the queue state on data path, even though it may never be needed for a particular application. Also, use cases for stopping queues or starting them deferred do not logically require polling stopped queues.
Use case 1: a secondary that was polling the queue has crashed, the primary is doing a recovery to free all mbufs. By definition the queue to be restarted is not polled.
Use case 2: deferred queue start or queue reconfiguration. The polling thread must be synchronized anyway, because queue start and stop are non-atomic.
Prohibit calling Rx/Tx functions on stopped queues.
Fixes: 0748be2cf9a2 ("ethdev: queue start and stop") Cc: stable@dpdk.org
Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
show more ...
|
| #
485df884 |
| 13-May-2022 |
Chengwen Feng <fengchengwen@huawei.com> |
ethdev: clarify null location case in xstats get
When xstats location is null in rte_eth_xstats_get() the return value is not clearly specified. Some PMDs (eg. hns3/ipn3ke/mvpp2/axgbe) return zero
ethdev: clarify null location case in xstats get
When xstats location is null in rte_eth_xstats_get() the return value is not clearly specified. Some PMDs (eg. hns3/ipn3ke/mvpp2/axgbe) return zero while others return the required number of elements.
In this patch, special parameter combinations are restricted: 1. highlight that xstats location may be null if and only if n is 0. 2. amend n parameter description to specify that if n is lower than the required number of elements, the function returns the required number of elements. 3. specify that if n is zero, the xstats must be NULL, the function returns the required number of elements (a duplicate which should help to not very attentive readers).
Add sanity check for null xstats and non-zero n case on API level to make it unnecessary to care about it in drivers.
Fixes: ce757f5c9a4d ("ethdev: new method to retrieve extended statistics") Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
| #
3b358e33 |
| 08-Mar-2022 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: fix doxygen comments for device info struct
API documentation for "struct rte_eth_dev_info" was missing some fields 'device' & 'max_hash_mac_addrs', because of syntax error in doxygen commen
ethdev: fix doxygen comments for device info struct
API documentation for "struct rte_eth_dev_info" was missing some fields 'device' & 'max_hash_mac_addrs', because of syntax error in doxygen comment, fixing it.
Bugzilla ID: 954 Fixes: 88ac4396ad29 ("ethdev: add VMDq support") Fixes: cd8c7c7ce241 ("ethdev: replace bus specific struct with generic dev") Cc: stable@dpdk.org
Reported-by: Bruce Merry <bmerry@sarao.ac.za> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
| #
edcf22c6 |
| 11-Feb-2022 |
Min Hu (Connor) <humin29@huawei.com> |
ethdev: introduce dump API
Added the ethdev dump API which provides querying private info from device. There exists many private properties in different PMD drivers, such as adapter state, Rx/Tx fun
ethdev: introduce dump API
Added the ethdev dump API which provides querying private info from device. There exists many private properties in different PMD drivers, such as adapter state, Rx/Tx func algorithm in hns3 PMD. The information of these properties is important for debug. As the information is private, the new API is introduced.
Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Ray Kinsella <mdr@ashroe.eu> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
| #
3c059b2c |
| 08-Feb-2022 |
Akhil Goyal <gakhil@marvell.com> |
ethdev: add mbuf dynfield for incomplete IP reassembly
Hardware IP reassembly may be incomplete for multiple reasons like reassembly timeout reached, duplicate fragments, etc. To save application cy
ethdev: add mbuf dynfield for incomplete IP reassembly
Hardware IP reassembly may be incomplete for multiple reasons like reassembly timeout reached, duplicate fragments, etc. To save application cycles to process these packets again, a new mbuf dynflag is added to show that the mbuf received is not reassembled properly.
Now if this dynflag is set, application can retrieve corresponding chain of mbufs using mbuf dynfield set by the PMD. Now, it will be up to application to either drop those fragments or wait for more time.
Signed-off-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|