#
2b843cac |
| 13-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
drivers: use per line logging in helpers
Use RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fen
drivers: use per line logging in helpers
Use RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Thomas Monjalon <thomas@monjalon.net>
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 ...
|
#
d61138d4 |
| 22-Oct-2021 |
Harman Kalra <hkalra@marvell.com> |
drivers: remove direct access to interrupt handle
Removing direct access to interrupt handle structure fields, rather use respective get set APIs for the same. Making changes to all the drivers acce
drivers: remove direct access to interrupt handle
Removing direct access to interrupt handle structure fields, rather use respective get set APIs for the same. Making changes to all the drivers access the interrupt handle fields.
Signed-off-by: Harman Kalra <hkalra@marvell.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com> Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Raslan Darawsheh <rasland@nvidia.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 ...
|
#
39fab5a0 |
| 15-Oct-2020 |
Stephen Hemminger <stephen@networkplumber.org> |
net/failsafe: replace references to slave devices
The term slave is only used in some comments and can be replaced with sub devices, as done elsewhere.
Signed-off-by: Stephen Hemminger <stephen@net
net/failsafe: replace references to slave devices
The term slave is only used in some comments and can be replaced with sub devices, as done elsewhere.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
1a7fa562 |
| 28-Sep-2020 |
Thomas Monjalon <thomas@monjalon.net> |
net/failsafe: release port upon close
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources can be freed by rte_eth_dev_close().
Freeing of private port resources is moved from the ".remov
net/failsafe: release port upon close
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources can be freed by rte_eth_dev_close().
Freeing of private port resources is moved from the ".remove(device)" to the ".dev_close(port)" operation.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
b9663f60 |
| 27-Apr-2020 |
Yunjian Wang <wangyunjian@huawei.com> |
net/failsafe: fix fd leak
Zero is a valid fd. The fd won't be closed thus leading fd leak, when it is zero.
Also the service proxy is initialized at 0. This is assuming that all of its fields are i
net/failsafe: fix fd leak
Zero is a valid fd. The fd won't be closed thus leading fd leak, when it is zero.
Also the service proxy is initialized at 0. This is assuming that all of its fields are invalid at 0. The issue is that a file descriptor at 0 is a valid one.
The value -1 is used as sentinel during cleanup. Initialize the RX proxy file descriptor to -1.
Fixes: f234e5bd996d ("net/failsafe: register slaves Rx interrupts") Fixes: 9e0360aebf23 ("net/failsafe: register as Rx interrupt mode") Cc: stable@dpdk.org
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> Signed-off-by: Gaetan Rivet <grive@u256.net> Tested-by: Ali Alnubani <alialnu@mellanox.com>
show more ...
|
#
b28f28ae |
| 22-Oct-2019 |
Dharmik Thakkar <dharmik.thakkar@arm.com> |
rename private header files
Some of the internal header files have 'rte_' prefix and some don't. Remove 'rte_' prefix from all internal header files.
Suggested-by: Thomas Monjalon <thomas@monjalon.
rename private header files
Some of the internal header files have 'rte_' prefix and some don't. Remove 'rte_' prefix from all internal header files.
Suggested-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Dharmik Thakkar <dharmik.thakkar@arm.com> Reviewed-by: Phil Yang <phil.yang@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
#
4586be37 |
| 16-May-2019 |
Stephen Hemminger <sthemmin@microsoft.com> |
net/failsafe: fix reported device info
The failsafe driver device info had several issues in the info it reported in dev_info_get: - it cleared dev_info->device set in rte_eth_dev_info_get - man
net/failsafe: fix reported device info
The failsafe driver device info had several issues in the info it reported in dev_info_get: - it cleared dev_info->device set in rte_eth_dev_info_get - many fields (for example max_rx_queue) should be the minimum of all sub devices - it reported tx capa for the active transmit device, but the device may change.
There was enough messed up that ended up reworking the info_get handler. There is no need to save current values or have a template for defaults.
Fixes: 4e31ee26ed51 ("net/failsafe: report actual device capabilities") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.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 ...
|
#
2f4b9983 |
| 18-Mar-2019 |
Raslan Darawsheh <rasland@mellanox.com> |
net/failsafe: replace sub-device pointer with port id
In multiprocess context, the pointer to sub-device is shared between processes. Previously, it was a pointer to per process eth_dev so it's need
net/failsafe: replace sub-device pointer with port id
In multiprocess context, the pointer to sub-device is shared between processes. Previously, it was a pointer to per process eth_dev so it's needed to replace this dependency.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
show more ...
|
#
fa7bb47a |
| 18-Mar-2019 |
Raslan Darawsheh <rasland@mellanox.com> |
net/failsafe: change back-reference from sub-device
In multiprocess context, the sub-device structure is shared between processes. The reference to the failsafe device was a per process pointer. It'
net/failsafe: change back-reference from sub-device
In multiprocess context, the sub-device structure is shared between processes. The reference to the failsafe device was a per process pointer. It's changed to port id which is the same for all processes.
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
show more ...
|
#
08647012 |
| 18-Mar-2019 |
Raslan Darawsheh <rasland@mellanox.com> |
net/failsafe: replace local device with shared data
In multiprocess context, the private structure is shared between processes. The back reference from private to generic data was using a pointer to
net/failsafe: replace local device with shared data
In multiprocess context, the private structure is shared between processes. The back reference from private to generic data was using a pointer to a per process eth_dev. It's now changed to a reference of the shared data.
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
show more ...
|
#
5fbc1d49 |
| 06-Mar-2019 |
Bruce Richardson <bruce.richardson@intel.com> |
build/freebsd: rename macro BSDPAPP to FREEBSD
Rename the macro and all instances in DPDK code, but keep a copy of the old macro defined for legacy code linking against DPDK
Signed-off-by: Bruce Ri
build/freebsd: rename macro BSDPAPP to FREEBSD
Rename the macro and all instances in DPDK code, but keep a copy of the old macro defined for legacy code linking against DPDK
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
cd834eee |
| 14-Dec-2018 |
Stephen Hemminger <sthemmin@microsoft.com> |
net/failsafe: remove unnecessary debug messages
The failsafe driver spews messages every time it is polling making debugging other things more difficult. Just remove it.
Example: net_failsafe: Hot-
net/failsafe: remove unnecessary debug messages
The failsafe driver spews messages every time it is polling making debugging other things more difficult. Just remove it.
Example: net_failsafe: Hot-plug mutex was locked by thread 140182066431744 by the hot-plug alarm net_failsafe: Hot-plug mutex was locked by thread 140182066431744 by the hot-plug alarm ...
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.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 ...
|
#
86123c2d |
| 08-Oct-2018 |
Stephen Hemminger <stephen@networkplumber.org> |
net/failsafe: use prefix for function
All other visible functions in failsafe driver have 'failsafe_' prefix.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Gaetan Rivet <g
net/failsafe: use prefix for function
All other visible functions in failsafe driver have 'failsafe_' prefix.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
show more ...
|
#
33fcf207 |
| 31-Aug-2018 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/failsafe: switch to flow API object conversion function
This patch replaces rte_flow_copy() with rte_flow_conv().
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Nelio La
net/failsafe: switch to flow API object conversion function
This patch replaces rte_flow_copy() with rte_flow_conv().
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
901efc0d |
| 21-Sep-2018 |
Evgeny Im <evgeny.im@oktetlabs.com> |
net/failsafe: support multicast address list set
Signed-off-by: Evgeny Im <evgeny.im@oktetlabs.com> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Gaetan Rivet <gaetan.rivet@6
net/failsafe: support multicast address list set
Signed-off-by: Evgeny Im <evgeny.im@oktetlabs.com> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
show more ...
|
#
0545c580 |
| 22-May-2018 |
Matan Azrad <matan@mellanox.com> |
net/failsafe: fix removed sub-device cleanup
The fail-safe PMD registers to RMV event for each removable sub-device port in order to cleanup the sub-device resources and switch the Tx sub-device dir
net/failsafe: fix removed sub-device cleanup
The fail-safe PMD registers to RMV event for each removable sub-device port in order to cleanup the sub-device resources and switch the Tx sub-device directly when it is plugged-out.
During removal time, the fail-safe PMD stops and closes the sub-device but it doesn't unregister the LSC and RMV callbacks of the sub-device port.
It can lead the callbacks to be called for a port which is no more associated with the fail-safe sub-device, because there is not a guarantee that a sub-device gets the same port ID for each plug-in process. This port, for example, may belong to another sub-device of a different fail-safe device.
Unregister the LSC and RMV callbacks for sub-devices which are not used.
Fixes: 598fb8aec6f6 ("net/failsafe: support device removal") Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
show more ...
|
#
7fda13d3 |
| 10-May-2018 |
Matan Azrad <matan@mellanox.com> |
net/failsafe: fix sub-device ownership race
There is time between the sub-device port probing by the sub-device PMD to the sub-device port ownership taking by a fail-safe port.
In this time, the po
net/failsafe: fix sub-device ownership race
There is time between the sub-device port probing by the sub-device PMD to the sub-device port ownership taking by a fail-safe port.
In this time, the port is available for the application usage. For example, the port will be exposed to the applications which use RTE_ETH_FOREACH_DEV iterator.
Thus, ownership unaware applications may manage the port in this time what may cause a lot of problematic behaviors in the fail-safe sub-device initialization.
Register to the ethdev NEW event to take the sub-device port ownership before it becomes exposed to the application.
Fixes: a46f8d584eb8 ("net/failsafe: add fail-safe PMD") Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
ebeb72ec |
| 25-Apr-2018 |
Stephen Hemminger <stephen@networkplumber.org> |
net/failsafe: convert to dynamic logging
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
|
#
5feecc57 |
| 20-Mar-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
align SPDX Mellanox copyrights
Aligning Mellanox SPDX copyrights to a single format. In addition replace to SPDX licence files which were missed.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
align SPDX Mellanox copyrights
Aligning Mellanox SPDX copyrights to a single format. In addition replace to SPDX licence files which were missed.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
3344fb8f |
| 13-Feb-2018 |
Thomas Monjalon <thomas@monjalon.net> |
net/failsafe: fix FreeBSD build
The type pthread_t is not portable because it is freely defined. On Linux, it is an unsigned long int which can be printed with %l. On FreeBSD, it is a pointer which
net/failsafe: fix FreeBSD build
The type pthread_t is not portable because it is freely defined. On Linux, it is an unsigned long int which can be printed with %l. On FreeBSD, it is a pointer which can be printed with %p.
That's why there was this error: drivers/net/failsafe/failsafe_private.h:377:53: error: format specifies type 'unsigned long' but the argument has type 'pthread_t' (aka 'struct pthread *')
Fixes: 655fcd68c7d2 ("net/failsafe: fix hotplug races")
Reported-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Tested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
655fcd68 |
| 12-Feb-2018 |
Matan Azrad <matan@mellanox.com> |
net/failsafe: fix hotplug races
Fail-safe uses a periodic alarm mechanism, running from the host thread, to manage the hot-plug events of its sub-devices. This management requires a lot of sub-devic
net/failsafe: fix hotplug races
Fail-safe uses a periodic alarm mechanism, running from the host thread, to manage the hot-plug events of its sub-devices. This management requires a lot of sub-devices PMDs operations (stop, close, start, configure, etc.).
While the hot-plug alarm runs in the host thread, the application may call fail-safe operations, which directly trigger the sub-devices PMDs operations as well. This call may occur from any thread decided by the application (probably the master thread).
Thus, more than one operation can be executed to a sub-device at the same time. This can initiate a lot of races in the sub-PMDs.
Moreover, some control operations update the fail-safe internal databases, which can be used by the alarm mechanism at the same time. This can also initiate races and crashes.
Fail-safe is the owner of its sub-devices and must synchronize their use according to the ETHDEV ownership rules.
Synchronize hot-plug management by a new lock mechanism uses a mutex to atomically defend each critical section in the fail-safe hot-plug mechanism and control operations to prevent any races between them.
Fixes: a46f8d5 ("net/failsafe: add fail-safe PMD") Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
show more ...
|