|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3 |
|
| #
47f5dee1 |
| 11-Nov-2021 |
Kumara Parameshwaran <[email protected]> |
net/failsafe: fix secondary process probe
Remove the vdev args check for secondary process which prevents the secondary from attaching to the device created by the primary process via the hotplug fr
net/failsafe: fix secondary process probe
Remove the vdev args check for secondary process which prevents the secondary from attaching to the device created by the primary process via the hotplug framework. This check was removed for other vdevs but was missed for failsafe.
Fixes: 4852aa8f6e21 ("drivers/net: enable hotplug on secondary process") Cc: [email protected]
Signed-off-by: Kumara Parameshwaran <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc2, v21.11-rc1 |
|
| #
d61138d4 |
| 22-Oct-2021 |
Harman Kalra <[email protected]> |
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 <[email protected]> Acked-by: Hyong Youb Kim <[email protected]> Signed-off-by: David Marchand <[email protected]> Tested-by: Raslan Darawsheh <[email protected]>
show more ...
|
| #
295968d1 |
| 22-Oct-2021 |
Ferruh Yigit <[email protected]> |
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to have 'rte_eth' prefix.
All internal components switched to using new names.
Syntax fixed on lines that this patch touches.
Signed-off-by: Ferruh Yigit <[email protected]> Acked-by: Tyler Retzlaff <[email protected]> Acked-by: Andrew Rybchenko <[email protected]> Acked-by: Ajit Khaparde <[email protected]> Acked-by: Jerin Jacob <[email protected]> Acked-by: Wisam Jaddo <[email protected]> Acked-by: Rosen Xu <[email protected]> Acked-by: Chenbo Xia <[email protected]> Acked-by: Hemant Agrawal <[email protected]> Acked-by: Somnath Kotur <[email protected]>
show more ...
|
| #
a7db3afc |
| 25-Aug-2021 |
Aman Deep Singh <[email protected]> |
net: add macro to extract MAC address bytes
Added macros to simplify print of MAC address. The six bytes of a MAC address are extracted in a macro here, to improve code readablity.
Signed-off-by: A
net: add macro to extract MAC address bytes
Added macros to simplify print of MAC address. The six bytes of a MAC address are extracted in a macro here, to improve code readablity.
Signed-off-by: Aman Deep Singh <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
c2c4f87b |
| 25-Aug-2021 |
Aman Deep Singh <[email protected]> |
net: add macro for MAC address print
Added macro to print six bytes of MAC address. The MAC addresses will be printed in upper case hexadecimal format. In case there is a specific check for lower ca
net: add macro for MAC address print
Added macro to print six bytes of MAC address. The MAC addresses will be printed in upper case hexadecimal format. In case there is a specific check for lower case MAC address, the user may need to make a change in such test case after this patch.
Signed-off-by: Aman Deep Singh <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
|
Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2 |
|
| #
eeded204 |
| 26-Apr-2021 |
David Marchand <[email protected]> |
log: register with standardized names
Let's try to enforce the convention where most drivers use a pmd. logtype with their class reflected in it, and libraries use a lib. logtype.
Introduce two new
log: register with standardized names
Let's try to enforce the convention where most drivers use a pmd. logtype with their class reflected in it, and libraries use a lib. logtype.
Introduce two new macros: - RTE_LOG_REGISTER_DEFAULT can be used when a single logtype is used in a component. It is associated to the default name provided by the build system, - RTE_LOG_REGISTER_SUFFIX can be used when multiple logtypes are used, and then the passed name is appended to the default name,
RTE_LOG_REGISTER is left untouched for existing external users and for components that do not comply with the convention.
There is a new Meson variable log_prefix to adapt the default name for baseband (pmd.bb.), bus (no pmd.) and mempool (no pmd.) classes.
Note: achieved with below commands + reverted change on net/bonding + edits on crypto/virtio, compress/mlx5, regex/mlx5
$ git grep -l RTE_LOG_REGISTER drivers/ | while read file; do pattern=${file##drivers/}; class=${pattern%%/*}; pattern=${pattern#$class/}; drv=${pattern%%/*}; case "$class" in baseband) pattern=pmd.bb.$drv;; bus) pattern=bus.$drv;; mempool) pattern=mempool.$drv;; *) pattern=pmd.$class.$drv;; esac sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern',/RTE_LOG_REGISTER_DEFAULT(\1,/' $file; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern'\.\(.*\),/RTE_LOG_REGISTER_SUFFIX(\1, \2,/' $file; done
$ git grep -l RTE_LOG_REGISTER lib/ | while read file; do pattern=${file##lib/}; pattern=lib.${pattern%%/*}; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern',/RTE_LOG_REGISTER_DEFAULT(\1,/' $file; sed -i -e 's/RTE_LOG_REGISTER(\(.*\), '$pattern'\.\(.*\),/RTE_LOG_REGISTER_SUFFIX(\1, \2,/' $file; done
Signed-off-by: David Marchand <[email protected]> Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: Bruce Richardson <[email protected]>
show more ...
|
|
Revision tags: v21.05-rc1, v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2 |
|
| #
df96fd0d |
| 29-Jan-2021 |
Bruce Richardson <[email protected]> |
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 <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]> Acked-by: Thomas Monjalon <[email protected]> Acked-by: Steven Webster <[email protected]>
show more ...
|
|
Revision tags: v21.02-rc1, v20.11, v20.11-rc5, v20.11-rc4, v20.11-rc3, v20.11-rc2, v20.11-rc1 |
|
| #
39fab5a0 |
| 15-Oct-2020 |
Stephen Hemminger <[email protected]> |
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 <[email protected]>
show more ...
|
| #
f30e69b4 |
| 14-Oct-2020 |
Ferruh Yigit <[email protected]> |
ethdev: add device flag to bypass auto-filled queue xstats
Queue stats are stored in 'struct rte_eth_stats' as array and array size is defined by 'RTE_ETHDEV_QUEUE_STAT_CNTRS' compile time flag.
As
ethdev: add device flag to bypass auto-filled queue xstats
Queue stats are stored in 'struct rte_eth_stats' as array and array size is defined by 'RTE_ETHDEV_QUEUE_STAT_CNTRS' compile time flag.
As a result of technical board discussion, decided to remove the queue statistics from 'struct rte_eth_stats' in the long term.
Instead PMDs should represent the queue statistics via xstats, this gives more flexibility on the number of the queues supported.
Currently queue stats in the xstats are filled by ethdev layer, using some basic stats, when queue stats removed from basic stats the responsibility to fill the relevant xstats will be pushed to the PMDs.
During the switch period, temporary 'RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS' device flag is created. Initially all PMDs using xstats set this flag. The PMDs implemented queue stats in the xstats should clear the flag.
When all PMDs switch to the xstats for the queue stats, queue stats related fields from 'struct rte_eth_stats' will be removed, as well as 'RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS' flag. Later 'RTE_ETHDEV_QUEUE_STAT_CNTRS' compile time flag also can be removed.
Signed-off-by: Ferruh Yigit <[email protected]> Acked-by: Haiyue Wang <[email protected]> Acked-by: Xiao Wang <[email protected]> Acked-by: Thomas Monjalon <[email protected]>
show more ...
|
| #
fbd19135 |
| 28-Sep-2020 |
Thomas Monjalon <[email protected]> |
ethdev: remove old close behaviour
The temporary flag RTE_ETH_DEV_CLOSE_REMOVE is removed. It was introduced in DPDK 18.11 in order to give time for PMDs to migrate.
The old behaviour was to free o
ethdev: remove old close behaviour
The temporary flag RTE_ETH_DEV_CLOSE_REMOVE is removed. It was introduced in DPDK 18.11 in order to give time for PMDs to migrate.
The old behaviour was to free only queues when closing a port. The new behaviour is calling rte_eth_dev_release_port() which does three more tasks: - trigger event callback - reset state and few pointers - free all generic port resources
The private port resources must be released in the .dev_close callback.
The .remove callback should: - call .dev_close callback - call rte_eth_dev_release_port() - free multi-port device shared resources
Despite waiting two years, some drivers have not migrated, so they may hit issues with the incompatible new behaviour. After sending emails, adding logs, and announcing the deprecation, the only last solution is to declare these drivers as unmaintained: ionic, liquidio, nfp Below is a summary of what to implement in those drivers.
* The freeing of private port resources must be moved from the ".remove(device)" function to the ".dev_close(port)" function.
* If a generic resource (.mac_addrs or .hash_mac_addrs) cannot be freed, it must be set to NULL in ".dev_close" function to protect from subsequent rte_eth_dev_release_port() freeing.
* Note 1: The generic resources are freed in rte_eth_dev_release_port(), after ".dev_close" is called in rte_eth_dev_close(), but not when calling ".dev_close" directly from the ".remove" PMD function. That's why rte_eth_dev_release_port() must still be called explicitly from ".remove(device)" after calling the ".dev_close" PMD function.
* Note 2: If a device can have multiple ports, the common resources must be freed only in the ".remove(device)" function.
* Note 3: The port is supposed to be in a stopped state when it is closed. If it is not the case, it is free to the PMD implementation how to react when trying to close a non-stopped port: either try to stop it automatically or just return an error.
Signed-off-by: Thomas Monjalon <[email protected]> Reviewed-by: Liron Himi <[email protected]> Reviewed-by: Haiyue Wang <[email protected]> Acked-by: Jeff Guo <[email protected]> Acked-by: Andrew Rybchenko <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]> Acked-by: Stephen Hemminger <[email protected]>
show more ...
|
| #
1a7fa562 |
| 28-Sep-2020 |
Thomas Monjalon <[email protected]> |
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 <[email protected]> Acked-by: Stephen Hemminger <[email protected]>
show more ...
|
|
Revision tags: v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2, v20.08-rc1 |
|
| #
9c99878a |
| 01-Jul-2020 |
Jerin Jacob <[email protected]> |
log: introduce logtype register macro
Introduce the RTE_LOG_REGISTER macro to avoid the code duplication in the logtype registration process.
It is a wrapper macro for declaring the logtype, regist
log: introduce logtype register macro
Introduce the RTE_LOG_REGISTER macro to avoid the code duplication in the logtype registration process.
It is a wrapper macro for declaring the logtype, registering it and setting its level in the constructor context.
Signed-off-by: Jerin Jacob <[email protected]> Acked-by: Adam Dybkowski <[email protected]> Acked-by: Sachin Saxena <[email protected]> Acked-by: Akhil Goyal <[email protected]>
show more ...
|
|
Revision tags: v20.05, v20.05-rc4, v20.05-rc3, v20.05-rc2 |
|
| #
b9663f60 |
| 27-Apr-2020 |
Yunjian Wang <[email protected]> |
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: [email protected]
Signed-off-by: Yunjian Wang <[email protected]> Signed-off-by: Gaetan Rivet <[email protected]> Tested-by: Ali Alnubani <[email protected]>
show more ...
|
|
Revision tags: v20.05-rc1, v20.02, v20.02-rc4, v20.02-rc3, v20.02-rc2, v20.02-rc1, v19.11, v19.11-rc4, v19.11-rc3, v19.11-rc2, v19.11-rc1, v19.08, v19.08-rc4, v19.08-rc3, v19.08-rc2, v19.08-rc1 |
|
| #
69a27a5f |
| 21-Jun-2019 |
Stephen Hemminger <[email protected]> |
net/failsafe: skip devargs if not present in secondary
When secondary process is run was noticing that the log always contained complaints about unable to parse devargs.
It turns out that an empty
net/failsafe: skip devargs if not present in secondary
When secondary process is run was noticing that the log always contained complaints about unable to parse devargs.
It turns out that an empty devargs turns into "" and this value is not parsable. Change the failsafe secondary to just skip doing devargs if it empty.
Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
75b66dec |
| 06-Jun-2019 |
Ilya Maximets <[email protected]> |
eal: fix positive error codes from probe/remove
According to API, 'rte_dev_probe()' and 'rte_dev_remove()' must return 0 or negative error code. Bus code returns positive values if device wasn't rec
eal: fix positive error codes from probe/remove
According to API, 'rte_dev_probe()' and 'rte_dev_remove()' must return 0 or negative error code. Bus code returns positive values if device wasn't recognized by any driver, so the result of 'bus->plug/unplug()' must be converted. 'local_dev_probe()' and 'local_dev_remove()' also has their internal API, so the conversion should be done there.
Positive on remove means that device not found by driver. Positive on probe means that there are no suitable buses/drivers, i.e. device is not supported.
Users of these API fixed to provide a good example by respecting DPDK API. This also will allow to catch such issues in the future.
Fixes: a3ee360f4440 ("eal: add hotplug add/remove device") Fixes: 244d5130719c ("eal: enable hotplug on multi-process") Cc: [email protected]
Signed-off-by: Ilya Maximets <[email protected]> Reviewed-by: David Marchand <[email protected]>
show more ...
|
| #
538da7a1 |
| 21-May-2019 |
Olivier Matz <[email protected]> |
net: add rte prefix to ether functions
Add 'rte_' prefix to functions: - rename is_same_ether_addr() as rte_is_same_ether_addr(). - rename is_zero_ether_addr() as rte_is_zero_ether_addr(). - rename
net: add rte prefix to ether functions
Add 'rte_' prefix to functions: - rename is_same_ether_addr() as rte_is_same_ether_addr(). - rename is_zero_ether_addr() as rte_is_zero_ether_addr(). - rename is_unicast_ether_addr() as rte_is_unicast_ether_addr(). - rename is_multicast_ether_addr() as rte_is_multicast_ether_addr(). - rename is_broadcast_ether_addr() as rte_is_broadcast_ether_addr(). - rename is_universal_ether_addr() as rte_is_universal_ether_addr(). - rename is_local_admin_ether_addr() as rte_is_local_admin_ether_addr(). - rename is_valid_assigned_ether_addr() as rte_is_valid_assigned_ether_addr(). - rename eth_random_addr() as rte_eth_random_addr(). - rename ether_addr_copy() as rte_ether_addr_copy(). - rename ether_format_addr() as rte_ether_format_addr().
Signed-off-by: Olivier Matz <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
6d13ea8e |
| 21-May-2019 |
Olivier Matz <[email protected]> |
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 <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
|
Revision tags: v19.05, v19.05-rc4, v19.05-rc3, v19.05-rc2, v19.05-rc1 |
|
| #
49377908 |
| 18-Mar-2019 |
Raslan Darawsheh <[email protected]> |
net/failsafe: support secondary process
Add implementation for probe in secondary.
Failsafe will attempt to attach all the sub-devices in secondary process.
Signed-off-by: Raslan Darawsheh <raslan
net/failsafe: support secondary process
Add implementation for probe in secondary.
Failsafe will attempt to attach all the sub-devices in secondary process.
Signed-off-by: Raslan Darawsheh <[email protected]> Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
2f4b9983 |
| 18-Mar-2019 |
Raslan Darawsheh <[email protected]> |
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 <[email protected]> Signed-off-by: Raslan Darawsheh <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
08647012 |
| 18-Mar-2019 |
Raslan Darawsheh <[email protected]> |
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 <[email protected]> Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
|
Revision tags: v19.02, v19.02-rc4, v19.02-rc3, v19.02-rc2, v19.02-rc1, v18.11, v18.11-rc5, v18.11-rc4, v18.11-rc3, v18.11-rc2, v18.11-rc1 |
|
| #
520dd992 |
| 28-Oct-2018 |
Ferruh Yigit <[email protected]> |
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 <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]> Acked-by: Shreyansh Jain <[email protected]> Acked-by: Tianfei Zhang <[email protected]>
show more ...
|
| #
e16adf08 |
| 19-Oct-2018 |
Thomas Monjalon <[email protected]> |
ethdev: free all common data when releasing port
This is a clean-up of common ethdev data freeing. All data freeing are moved to rte_eth_dev_release_port() and done only in case of primary process.
ethdev: free all common data when releasing port
This is a clean-up of common ethdev data freeing. All data freeing are moved to rte_eth_dev_release_port() and done only in case of primary process.
It is probably fixing some memory leaks for PMDs which were not freeing all data.
Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: Andrew Rybchenko <[email protected]>
show more ...
|
| #
901efc0d |
| 21-Sep-2018 |
Evgeny Im <[email protected]> |
net/failsafe: support multicast address list set
Signed-off-by: Evgeny Im <[email protected]> Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Gaetan Rivet <gaetan.rivet@6
net/failsafe: support multicast address list set
Signed-off-by: Evgeny Im <[email protected]> Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
|
Revision tags: v18.08, v18.08-rc3, v18.08-rc2 |
|
| #
d1c3ab22 |
| 20-Jul-2018 |
Ferruh Yigit <[email protected]> |
drivers/net: fix crash in secondary process
Calling rte_eth_dev_info_get() on secondary process cause a crash because eth_dev->device is not set properly.
Fixes: ee27edbe0c10 ("drivers/net: share v
drivers/net: fix crash in secondary process
Calling rte_eth_dev_info_get() on secondary process cause a crash because eth_dev->device is not set properly.
Fixes: ee27edbe0c10 ("drivers/net: share vdev data to secondary process") Cc: [email protected]
Reported-by: Vipin Varghese <[email protected]> Signed-off-by: Ferruh Yigit <[email protected]> Reviewed-by: Qi Zhang <[email protected]>
show more ...
|
|
Revision tags: v18.08-rc1 |
|
| #
f8e99896 |
| 18-Jun-2018 |
Thomas Monjalon <[email protected]> |
remove useless constructor headers
A constructor is usually declared with RTE_INIT* macros. As it is a static function, no need to declare before its definition. The macro is used directly in the fu
remove useless constructor headers
A constructor is usually declared with RTE_INIT* macros. As it is a static function, no need to declare before its definition. The macro is used directly in the function definition.
Signed-off-by: Thomas Monjalon <[email protected]>
show more ...
|