#
fd51012d |
| 11-Dec-2024 |
Andre Muezerie <andremue@linux.microsoft.com> |
drivers: use portable variadic macros
Many places are using a GCC extension related to variadic macros, where a name prepends the ellipsis. This results in a warning like the one below when compilin
drivers: use portable variadic macros
Many places are using a GCC extension related to variadic macros, where a name prepends the ellipsis. This results in a warning like the one below when compiling the code with MSVC:
app\test-pmd\testpmd.h(1314): error C2608: invalid token '...' in macro parameter list
Variadic macros became a standard part of the C language with C99. GCC, Clang and MSVC handle them properly.
The fix is to remove the prefix name (args... becomes ...) and use __VA_ARGS__.
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
1acb7f54 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
dev: hide driver object
Make rte_driver opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_driver defi
dev: hide driver object
Make rte_driver opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_driver definition. Update drivers and library to use the internal header.
Some applications may have been dereferencing rte_driver objects, mark this object's accessors as stable.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
show more ...
|
#
fb7ad441 |
| 21-Mar-2021 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: replace callback getting filter operations
Since rte_flow is the only API for filtering operations, the legacy driver interface filter_ctrl was too much complicated for the simple task of ge
ethdev: replace callback getting filter operations
Since rte_flow is the only API for filtering operations, the legacy driver interface filter_ctrl was too much complicated for the simple task of getting the struct rte_flow_ops.
The filter type RTE_ETH_FILTER_GENERIC and the filter operarion RTE_ETH_FILTER_GET are removed. The new driver callback flow_ops_get replaces filter_ctrl.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
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 ...
|
#
1be514fb |
| 22-Oct-2020 |
Andrew Rybchenko <arybchenko@solarflare.com> |
ethdev: remove legacy FDIR filter type support
Instead of FDIR filters RTE flow API should be used.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Ajit Khaparde <ajit.khapard
ethdev: remove legacy FDIR filter type support
Instead of FDIR filters RTE flow API should be used.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
9ffe2a15 |
| 25-Sep-2020 |
Manish Chopra <manishc@marvell.com> |
net/qede: configure VFs on hardware
Based on number of VFs enabled at PCI, PF-PMD driver instance enables/configures those VFs from hardware perspective, such that in later patches they could get re
net/qede: configure VFs on hardware
Based on number of VFs enabled at PCI, PF-PMD driver instance enables/configures those VFs from hardware perspective, such that in later patches they could get required HW access to communicate with PFs for slowpath configuration and run the fastpath themselves.
This patch also add two new qede IOV files [qede_sriov(.c|.h)] under qede directory to add non-base driver IOV APIs/contents there.
Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Rasesh Mody <rmody@marvell.com>
show more ...
|
#
a50d7cbb |
| 08-Jul-2020 |
Rasesh Mody <rmody@marvell.com> |
net/qede: support registers dump
Add support for .get_reg eth_dev ops which will be used to collect the firmware debug data.
PMD on detecting on some HW errors will collect the FW/HW Dump to a buff
net/qede: support registers dump
Add support for .get_reg eth_dev ops which will be used to collect the firmware debug data.
PMD on detecting on some HW errors will collect the FW/HW Dump to a buffer and then it will save it to a file implemented in qede_save_fw_dump().
Dump file location and name: Location: <RTE_SDK> or DPDK root Name: qede_pmd_dump_mm-dd-yy_hh-mm-ss.bin
DPDK applications can initiate a debug data collection by invoking DPDK library’s rte_eth_dev_get_reg_info() API. This API invokes .get_reg() interface in the PMD.
PMD implementation of .get_reg() collects the FW/HW Dump, saves it to data field of rte_dev_reg_info and passes it to the application. It’s the responsibility of the application to save the FW/HW Dump to a file. We recommendation using the file name format used by qede_save_fw_dump().
Signed-off-by: Rasesh Mody <rmody@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
show more ...
|
#
29bb154f |
| 20-Oct-2019 |
Shahed Shaikh <shshaikh@marvell.com> |
net/qede: fix setting MTU
New MTU value is not propagated to vport in HW when MTU update request is sent while ports are stopped.
This patch fixes the logic error for above mentioned condition.
Fi
net/qede: fix setting MTU
New MTU value is not propagated to vport in HW when MTU update request is sent while ports are stopped.
This patch fixes the logic error for above mentioned condition.
Fixes: d121a6b5f781 ("net/qede: fix VF MTU update") Cc: stable@dpdk.org
Signed-off-by: Shahed Shaikh <shshaikh@marvell.com> Reviewed-by: Rasesh Mody <rmody@marvell.com>
show more ...
|
#
58bb1ee4 |
| 20-Oct-2019 |
Rasesh Mody <rmody@marvell.com> |
net/qede/base: update FW to 8.40.33.0
In our testing we have identified a critical FW bug. Performance is degraded significantly for certain packet sizes with 8.40.25.0 FW.
This patch updates the F
net/qede/base: update FW to 8.40.33.0
In our testing we have identified a critical FW bug. Performance is degraded significantly for certain packet sizes with 8.40.25.0 FW.
This patch updates the FW to version 8.40.33.0. The updated FW has a fix to performance issue.
The patch also adds initialization for FW overlay RAM as part of hardware initialization which is required by the new FW.
Fixes: 3b307c55f2ac ("net/qede/base: update FW to 8.40.25.0") Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rmody@marvell.com>
show more ...
|
#
2b5243d7 |
| 06-Oct-2019 |
Rasesh Mody <rmody@marvell.com> |
net/qede: print adapter info during init failure
Dump the info logs banner with available information in case of device initialization failure.
Signed-off-by: Rasesh Mody <rmody@marvell.com>
|
#
3b307c55 |
| 06-Oct-2019 |
Rasesh Mody <rmody@marvell.com> |
net/qede/base: update FW to 8.40.25.0
This patch updates the FW to 8.40.25.0 and corresponding base driver changes. It also updates the PMD version to 2.11.0.1. The FW updates consists of enhancemen
net/qede/base: update FW to 8.40.25.0
This patch updates the FW to 8.40.25.0 and corresponding base driver changes. It also updates the PMD version to 2.11.0.1. The FW updates consists of enhancements and fixes as described below.
- VF RX queue start ramrod can get stuck due to completion error. Return EQ completion with error, when fail to load VF data. Use VF FID in RX queue start ramrod - Fix big receive buffer initialization for 100G to address failure leading to BRB hardware assertion - GRE tunnel traffic doesn't run when non-L2 ethernet protocol is enabled, fix FW to not forward tunneled SYN packets to LL2. - Fix the FW assert that is caused during vport_update when tx-switching is enabled - Add initial FW support for VF Representors - Add ecore_get_hsi_def_val() API to get default HSI values - Move following from .c to .h files: TSTORM_QZONE_START and MSTORM_QZONE_START enum ilt_clients renamed struct ecore_dma_mem to phys_mem_desc and moved - Add ecore_cxt_set_cli() and ecore_cxt_set_blk() APIs to set client config and block details - Use SET_FIELD() macro where appropriate - Address spell check and code alignment issues
Signed-off-by: Rasesh Mody <rmody@marvell.com>
show more ...
|
#
2c0784eb |
| 12-Sep-2019 |
Shahed Shaikh <shshaikh@marvell.com> |
net/qede: implement flow drop action
Add support to configure drop action in rte_flow infrastructure and add counter for dropped packets due to this filter action "rx_gft_filter_drop".
Also, update
net/qede: implement flow drop action
Add support to configure drop action in rte_flow infrastructure and add counter for dropped packets due to this filter action "rx_gft_filter_drop".
Also, update supported flows and actions in qede guide.
Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
show more ...
|
#
8de0c420 |
| 12-Sep-2019 |
Shahed Shaikh <shshaikh@marvell.com> |
net/qede: fix odd number of queues usage in 100G mode
As per HW design of 100Gb mode, device internally uses 2 engines (eng0 and eng1), and both engines need to be configured symmetrically. Based on
net/qede: fix odd number of queues usage in 100G mode
As per HW design of 100Gb mode, device internally uses 2 engines (eng0 and eng1), and both engines need to be configured symmetrically. Based on this requirement, driver design chose an approach to allow user to allocate only even number of queues and split those queues on both engines equally.
This approach puts a limitation on number of queues to be allocated - i.e. user can't configure odd number of queues on 100Gb mode. OVS configures DPDK port with 1 rxq and 1 txq, which causes initialization of qede port to fail.
Issue is fixed by changing the implementation of queue allocation and assignment to hw engines only for 100Gb devices and allowing user to configure odd number queues.
New approach works as below - - Create 'struct qede_fastpath_cmt' to hold hw queue pair of both engines and provide it to rte_ethdev's Rx/Tx queues structure. - So ethdev will see only one queue for underlying queue pair created for hw engine pair. - Install separate Rx/Tx data path handlers for 100Gb mode and regular mode - Rx/Tx handlers for 100Gb mode will split packet processing across both engines by providing hw queue structures from 'struct qede_fastpath_cmt' passed by Rx/Tx callbacks to respective engines.
Fixes: 2af14ca79c0a ("net/qede: support 100G") Cc: stable@dpdk.org
Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
show more ...
|
#
6d13ea8e |
| 21-May-2019 |
Olivier Matz <olivier.matz@6wind.com> |
net: add rte prefix to ether structures
Add 'rte_' prefix to structures: - rename struct ether_addr as struct rte_ether_addr. - rename struct ether_hdr as struct rte_ether_hdr. - rename struct vlan_
net: add rte prefix to ether structures
Add 'rte_' prefix to structures: - rename struct ether_addr as struct rte_ether_addr. - rename struct ether_hdr as struct rte_ether_hdr. - rename struct vlan_hdr as struct rte_vlan_hdr. - rename struct vxlan_hdr as struct rte_vxlan_hdr. - rename struct vxlan_gpe_hdr as struct rte_vxlan_gpe_hdr.
Do not update the command line library to avoid adding a dependency to librte_net.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
520dd992 |
| 28-Oct-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
drivers: prefix global variables with module name
Some global variables are defined with generic names, add component name as prefix to variables to prevent collusion with application variables.
Si
drivers: prefix global variables with module name
Some global variables are defined with generic names, add component name as prefix to variables to prevent collusion with application variables.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com> Acked-by: Tianfei Zhang <tianfei.zhang@intel.com>
show more ...
|
#
1954863e |
| 29-Sep-2018 |
Rasesh Mody <rasesh.mody@cavium.com> |
net/qede: bump PMD version to 2.10.0.1
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
|
#
267d32de |
| 08-Sep-2018 |
Shahed Shaikh <shahed.shaikh@cavium.com> |
net/qede: support generic flow API
- Add support for rte_flow_validate(), rte_flow_create() and rte_flow_destroy() APIs - This patch adds limited support for the flow items because of the limite
net/qede: support generic flow API
- Add support for rte_flow_validate(), rte_flow_create() and rte_flow_destroy() APIs - This patch adds limited support for the flow items because of the limited filter profiles supported by HW. - Only 4 tuples - src and dst IP (v4 or v6) addresses and src and dst port IDs of TCP or UDP. - also, only redirect to queue action is supported.
Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
show more ...
|
#
f5765f66 |
| 08-Sep-2018 |
Shahed Shaikh <shahed.shaikh@cavium.com> |
net/qede: refactor flow director into generic aRFS
- In order to prepare the base for RTE FLOW support, convert common code used for flow director support into common aRFS code.
Signed-off-by:
net/qede: refactor flow director into generic aRFS
- In order to prepare the base for RTE FLOW support, convert common code used for flow director support into common aRFS code.
Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
show more ...
|
#
eb54ba75 |
| 08-Sep-2018 |
Shahed Shaikh <shahed.shaikh@cavium.com> |
net/qede: reorganize filter code
- rename qede_fdir.c to qede_filter.c - move all filter code to qede_filter.c
Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
|
#
69b7a143 |
| 08-Aug-2018 |
Rasesh Mody <rasesh.mody@cavium.com> |
net/qede: bump version to 2.9.0.1
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
|
#
3126df22 |
| 14-Jul-2018 |
Rasesh Mody <rasesh.mody@cavium.com> |
net/qede: move SPDX tags to source files
We were using LICENSE.qede_pmd to reference inclusion of SPDX licensing tag from all the source file. Remove the LICENSE.qede_pmd file and directly include S
net/qede: move SPDX tags to source files
We were using LICENSE.qede_pmd to reference inclusion of SPDX licensing tag from all the source file. Remove the LICENSE.qede_pmd file and directly include SPDX tags in source files.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
d121a6b5 |
| 22-May-2018 |
Rasesh Mody <rasesh.mody@cavium.com> |
net/qede: fix VF MTU update
This patch fixes VF MTU update to work without having to restart the vport and there by not requiring port re-configuration. It adds a VF MTU Update TLV to achieve the sa
net/qede: fix VF MTU update
This patch fixes VF MTU update to work without having to restart the vport and there by not requiring port re-configuration. It adds a VF MTU Update TLV to achieve the same. Firmware can handle VF MTU update by just pausing the vport.
Fixes: dd28bc8c6ef4 ("net/qede: fix VF port creation sequence") Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
show more ...
|
#
9adde217 |
| 23-May-2018 |
Rasesh Mody <rasesh.mody@cavium.com> |
net/qede: change copyright info to Cavium
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
|
#
46fb1632 |
| 09-Apr-2018 |
Rasesh Mody <rasesh.mody@cavium.com> |
net/qede: update PMD version to 2.8.0.1
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
|
#
e1e38962 |
| 28-Mar-2018 |
Harish Patil <harish.patil@cavium.com> |
net/qede: enable IPGRE offload support
Signed-off-by: Harish Patil <harish.patil@cavium.com>
|