#
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 ...
|
#
a04322f6 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus: hide bus object
Make rte_bus opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_bus definition an
bus: hide bus object
Make rte_bus opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_bus definition and helpers. Update drivers and library to use the internal header.
Some applications may have been dereferencing rte_bus 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>
show more ...
|
#
4851ef2b |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/vdev: make driver-only headers private
The vdev bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentat
bus/vdev: make driver-only headers private
The vdev bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macro manipulating the bus singleton object, - remove inclusion of rte_bus.h and fix the code that relied on implicit inclusion,
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
#
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <stephen@networkplumber.org> |
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free functions found by nullfree.cocci
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
eeded204 |
| 26-Apr-2021 |
David Marchand <david.marchand@redhat.com> |
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 <david.marchand@redhat.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
702b27d3 |
| 22-Oct-2020 |
Long Li <longli@microsoft.com> |
net/vdev_netvsc: fix device probing error flow
If a device probe fails, the alarm is canceled and will no longer work for previously probed devices.
Fix this by checking if alarm is necessary at th
net/vdev_netvsc: fix device probing error flow
If a device probe fails, the alarm is canceled and will no longer work for previously probed devices.
Fix this by checking if alarm is necessary at the end of each device probe. Reset the alarm if there are vdev_netvsc_ctx created.
Fixes: e7dc5d7becc5 ("net/vdev_netvsc: implement core functionality") Cc: stable@dpdk.org
Signed-off-by: Long Li <longli@microsoft.com> Acked-by: Matan Azrad <matan@nvidia.com>
show more ...
|
#
9c99878a |
| 01-Jul-2020 |
Jerin Jacob <jerinj@marvell.com> |
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 <jerinj@marvell.com> Acked-by: Adam Dybkowski <adamx.dybkowski@intel.com> Acked-by: Sachin Saxena <sachin.saxena@nxp.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
show more ...
|
#
43e34a22 |
| 10-Feb-2020 |
Thomas Monjalon <thomas@monjalon.net> |
build: remove redundant config include
The header file rte_config.h is always included by make or meson. If required in an exported API header file, it must be included in the public header file for
build: remove redundant config include
The header file rte_config.h is always included by make or meson. If required in an exported API header file, it must be included in the public header file for external applications. In the internal files, explicit include of rte_config.h is useless, and can be removed.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Matan Azrad <matan@mellanox.com> Acked-by: David Marchand <david.marchand@redhat.com> Acked-by: Neil Horman <nhorman@tuxdriver.com>
show more ...
|
#
72505bf3 |
| 05-Jul-2019 |
Stephen Hemminger <stephen@networkplumber.org> |
net/vdev_netvsc: use new ethernet address parser
Use rte_ether_unformat_addr rather than sscanf.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Matan Azrad <matan@mellanox.
net/vdev_netvsc: use new ethernet address parser
Use rte_ether_unformat_addr rather than sscanf.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
75b66dec |
| 06-Jun-2019 |
Ilya Maximets <i.maximets@samsung.com> |
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: stable@dpdk.org
Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
f4be6a9a |
| 10-May-2019 |
Michael Santana <msantana@redhat.com> |
fix off-by-one errors in snprintf
snprintf guarantees to always correctly place a null terminator in the buffer string. So manually placing a null terminator in a buffer right after a call to snprin
fix off-by-one errors in snprintf
snprintf guarantees to always correctly place a null terminator in the buffer string. So manually placing a null terminator in a buffer right after a call to snprintf is redundant code.
Additionally, there is no need to use 'sizeof(buffer) - 1' in snprintf as this means we are not using the last character in the buffer. 'sizeof(buffer)' is enough.
Cc: stable@dpdk.org
Signed-off-by: Michael Santana <msantana@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
show more ...
|
#
538da7a1 |
| 21-May-2019 |
Olivier Matz <olivier.matz@6wind.com> |
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 <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 ...
|
#
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 ...
|
#
cc7cd517 |
| 13-Mar-2019 |
Stephen Hemminger <stephen@networkplumber.org> |
net/vdev_netvsc: fix device cast
The return value from bus->find_device is a rte_device which is not safe to cast to a rte_vdev_device structure. It doesn't really matter since only being checked fo
net/vdev_netvsc: fix device cast
The return value from bus->find_device is a rte_device which is not safe to cast to a rte_vdev_device structure. It doesn't really matter since only being checked for NULL but static checkers might find a bug here.
Fixes: 56252de779a6 ("net/vdev_netvsc: add automatic probing") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
08078fda |
| 20-Nov-2018 |
Stephen Hemminger <stephen@networkplumber.org> |
net/vdev_netvsc: get rid of unnecessary debug log message
If vdev_netvsc is run with debug logging enabled, then the log output will fill with: net_vdev_netvsc: interface lo is non-ethernet device
net/vdev_netvsc: get rid of unnecessary debug log message
If vdev_netvsc is run with debug logging enabled, then the log output will fill with: net_vdev_netvsc: interface lo is non-ethernet device
Remove the message since it is not useful.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
9631253f |
| 09-Oct-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
drivers/net: fix log type string
Syntax for log type string is "pmd.<subsystem>.<driver>[.<pmd_local>]"
Fixes: 3e92fd4e4ec0 ("net/bnxt: use dynamic log type") Fixes: d7f4562ab10a ("net/bonding: con
drivers/net: fix log type string
Syntax for log type string is "pmd.<subsystem>.<driver>[.<pmd_local>]"
Fixes: 3e92fd4e4ec0 ("net/bnxt: use dynamic log type") Fixes: d7f4562ab10a ("net/bonding: convert to dynamic logging") Fixes: 6086ab3bb3d2 ("net/vdev_netvsc: introduce Hyper-V platform driver") Fixes: 7db274b9ada2 ("doc: describe dynamic logging format") Fixes: a10a988a0ba6 ("net/dpaa2: support dynamic logging") Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
83d63f09 |
| 21-May-2018 |
Matan Azrad <matan@mellanox.com> |
net/vdev_netvsc: fix automatic probing
The vdev_netvsc driver allows an automatic probe in Hyper-V VM systems unless it was already specified by the EAL command line.
The detection of a specified N
net/vdev_netvsc: fix automatic probing
The vdev_netvsc driver allows an automatic probe in Hyper-V VM systems unless it was already specified by the EAL command line.
The detection of a specified NetVSC device is wrongly done by comparing the vdev_netvsc driver name to all the vdev devices names, including the suffix device index. Thus, if the user specifies the vdev_netvsc device by adding an index to the device name, the comparison fails. Consequently, the vdev_netvsc driver may automatically probe NetVSC devices, despite the NetVSC device that was specified by the EAL command line.
Compare the vdev_netvsc driver name to the devices names without the index.
Fixes: 56252de779a6 ("net/vdev_netvsc: add automatic probing") Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
d7a13d2d |
| 14-May-2018 |
Andy Green <andy@warmcat.com> |
net/vdev_netvsc: replace strncpy by strlcpy
Continue snprintf to strlcpy conversions started by commit c022cb400e92 ("convert snprintf to strlcpy").
Cc: stable@dpdk.org
Signed-off-by: Andy Green <
net/vdev_netvsc: replace strncpy by strlcpy
Continue snprintf to strlcpy conversions started by commit c022cb400e92 ("convert snprintf to strlcpy").
Cc: stable@dpdk.org
Signed-off-by: Andy Green <andy@warmcat.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
2e4d2e56 |
| 14-May-2018 |
Andy Green <andy@warmcat.com> |
net/vdev_netvsc: readlink inputs cannot be aliased
drivers/net/vdev_netvsc/vdev_netvsc.c:335:2:error: passing argument 2 to restrict-qualified parameter aliases with argument 1 ret = readlink(buf,
net/vdev_netvsc: readlink inputs cannot be aliased
drivers/net/vdev_netvsc/vdev_netvsc.c:335:2:error: passing argument 2 to restrict-qualified parameter aliases with argument 1 ret = readlink(buf, buf, size); ^~~
Fixes: e7dc5d7becc5 ("net/vdev_netvsc: implement core functionality") Cc: stable@dpdk.org
Signed-off-by: Andy Green <andy@warmcat.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
4205da3a |
| 10-Apr-2018 |
Matan Azrad <matan@mellanox.com> |
net/vdev_netvsc: prefer netvsc devices in scan
There is an option to run a non-netvsc device as a netvsc device only when the "force" parameter is set to 1 in the EAL command line. Consequently, mor
net/vdev_netvsc: prefer netvsc devices in scan
There is an option to run a non-netvsc device as a netvsc device only when the "force" parameter is set to 1 in the EAL command line. Consequently, more than one device may be found to be matching the "mac" parameter specifying the device.
Prefer netvsc devices to be scanned before any non-netvsc device, even when the "force" parameter is set.
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
118d2f80 |
| 10-Apr-2018 |
Matan Azrad <matan@mellanox.com> |
net/vdev_netvsc: add check for specifying by 1 way
There are now 2 ways to specify a netvsc device by the EAL command line - either by the interface name or by the MAC address.
The user should not
net/vdev_netvsc: add check for specifying by 1 way
There are now 2 ways to specify a netvsc device by the EAL command line - either by the interface name or by the MAC address.
The user should not specify a netvsc device using more than 1 way, Thus, if a device is specified in more than 1 way, the driver stops to probe it.
Validate it in the driver initialization.
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
0b39cc82 |
| 10-Apr-2018 |
Matan Azrad <matan@mellanox.com> |
net/vdev_netvsc: remove specified devices IP check
If the netvsc driver starts in blacklist mode, it does not automatically probe IP associated netvsc devices. Therefore, the only way to probe them
net/vdev_netvsc: remove specified devices IP check
If the netvsc driver starts in blacklist mode, it does not automatically probe IP associated netvsc devices. Therefore, the only way to probe them is to specify them by the EAL command line, using the "force" parameter to skip the IP check in the driver.
>From now on, the user does not need to add the "force" parameter if he specifies an IP associated netvsc device by the EAL command line, and the responsibility of the IP check is now in the user's hands.
However, in the absence of any specification, the driver still skips IP associated netvsc devices.
Cc: stable@dpdk.org
Signed-off-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
519fb285 |
| 10-Apr-2018 |
Ophir Munk <ophirmu@mellanox.com> |
net/vdev_netvsc: shorten devices names
Prior to this commit the vdev_netvsc PMD was creating tap and failsafe devices with long names, such as "net_tap_net_vdev_netvsc0" or "net_failsafe_net_vdev_ne
net/vdev_netvsc: shorten devices names
Prior to this commit the vdev_netvsc PMD was creating tap and failsafe devices with long names, such as "net_tap_net_vdev_netvsc0" or "net_failsafe_net_vdev_netvsc0". This commits creates tap and failsafe devices with short names such as "net_tap_netvsc0" or "net_failsafe_netvsc0".
Signed-off-by: Ophir Munk <ophirmu@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
b65ecf19 |
| 23-Apr-2018 |
Gaetan Rivet <gaetan.rivet@6wind.com> |
devargs: rename legacy API
The previous symbols were deprecated for two releases. They are now marked as such and cannot be used anymore.
They are replaced by ones respecting the new namespace that
devargs: rename legacy API
The previous symbols were deprecated for two releases. They are now marked as such and cannot be used anymore.
They are replaced by ones respecting the new namespace that are marked experimental.
As a result, eth_dev attach and detach are slightly reworked to follow the changes.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|