#
a4996bd8 |
| 10-May-2018 |
Wei Dai <wei.dai@intel.com> |
ethdev: new Rx/Tx offloads API
This patch check if a input requested offloading is valid or not. Any reuqested offloading must be supported in the device capabilities. Any offloading is disabled by
ethdev: new Rx/Tx offloads API
This patch check if a input requested offloading is valid or not. Any reuqested offloading must be supported in the device capabilities. Any offloading is disabled by default if it is not set in the parameter dev_conf->[rt]xmode.offloads to rte_eth_dev_configure() and [rt]x_conf->offloads to rte_eth_[rt]x_queue_setup(). If any offloading is enabled in rte_eth_dev_configure() by application, it is enabled on all queues no matter whether it is per-queue or per-port type and no matter whether it is set or cleared in [rt]x_conf->offloads to rte_eth_[rt]x_queue_setup(). If a per-queue offloading hasn't be enabled in rte_eth_dev_configure(), it can be enabled or disabled for individual queue in ret_eth_[rt]x_queue_setup(). A new added offloading is the one which hasn't been enabled in rte_eth_dev_configure() and is reuqested to be enabled in rte_eth_[rt]x_queue_setup(), it must be per-queue type, otherwise trigger an error log. The underlying PMD must be aware that the requested offloadings to PMD specific queue_setup() function only carries those new added offloadings of per-queue type.
This patch can make above such checking in a common way in rte_ethdev layer to avoid same checking in underlying PMD.
This patch assumes that all PMDs in 18.05-rc2 have already converted to offload API defined in 17.11 . It also assumes that all PMDs can return correct offloading capabilities in rte_eth_dev_infos_get().
In the beginning of [rt]x_queue_setup() of underlying PMD, add offloads = [rt]xconf->offloads | dev->data->dev_conf.[rt]xmode.offloads; to keep same as offload API defined in 17.11 to avoid upper application broken due to offload API change. PMD can use the info that input [rt]xconf->offloads only carry the new added per-queue offloads to do some optimization or some code change on base of this patch.
Signed-off-by: Wei Dai <wei.dai@intel.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
show more ...
|
#
32d4246c |
| 09-May-2018 |
Xueming Li <xuemingl@mellanox.com> |
net/mlx5: fix SW parser enabling
Fixes: 5f8ba81c4228 ("net/mlx5: support generic tunnel offloading")
Signed-off-by: Xueming Li <xuemingl@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
|
#
d11d651f |
| 01-May-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: add Rx and Tx tuning parameters
A new ethdev API was exposed by commit 3be82f5cc5e3 ("ethdev: support PMD-tuned Tx/Rx parameters")
Enabling the PMD to provide default parameters in case n
net/mlx5: add Rx and Tx tuning parameters
A new ethdev API was exposed by commit 3be82f5cc5e3 ("ethdev: support PMD-tuned Tx/Rx parameters")
Enabling the PMD to provide default parameters in case no strict request from application in order to improve the out of the box experience.
While the current API lacks the means for the PMD to provide the best possible value, providing the best default the PMD can guess. The values are based on Mellanox performance report and depends on the underlying NIC capabilities.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
7d2e32f7 |
| 01-May-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: fix ethtool link setting call order
According to ethtool_link_setting API recommendation ETHTOOL_GLINKSETTINGS should be called before ETHTOOL_GSET as the later one deprecated.
Fixes: f47
net/mlx5: fix ethtool link setting call order
According to ethtool_link_setting API recommendation ETHTOOL_GLINKSETTINGS should be called before ETHTOOL_GSET as the later one deprecated.
Fixes: f47ba80080ab ("net/mlx5: remove kernel version check")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
5f8ba81c |
| 08-Apr-2018 |
Xueming Li <xuemingl@mellanox.com> |
net/mlx5: support generic tunnel offloading
This commit adds support for generic tunnel TSO and checksum offload. PMD will compute the inner/outer headers offset according to the mbuf fields. Hardwa
net/mlx5: support generic tunnel offloading
This commit adds support for generic tunnel TSO and checksum offload. PMD will compute the inner/outer headers offset according to the mbuf fields. Hardware will do calculation based on offsets and types.
Signed-off-by: Xueming Li <xuemingl@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
18c01b98 |
| 23-Apr-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: split MAC address add/remove code
Move some code in DPDK callbacks to add/remove MAC addresses to internal function. This modification will be necessary to handle implement the devop set_
net/mlx5: split MAC address add/remove code
Move some code in DPDK callbacks to add/remove MAC addresses to internal function. This modification will be necessary to handle implement the devop set_mc_addr_list.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
3fef0822 |
| 17-Apr-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
drivers/net: update link status
Update link status related feature document items and minor updates in some link status related functions.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked
drivers/net: update link status
Update link status related feature document items and minor updates in some link status related functions.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
cd8c7c7c |
| 09-Apr-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: replace bus specific struct with generic dev
Public struct rte_eth_dev_info has a "struct rte_pci_device" field in it although it is common for all ethdev in all buses.
Replacing pci specif
ethdev: replace bus specific struct with generic dev
Public struct rte_eth_dev_info has a "struct rte_pci_device" field in it although it is common for all ethdev in all buses.
Replacing pci specific struct with generic device struct and updating places that are using pci device in a way to get this information from generic device.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by: David Marchand <david.marchand@6wind.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
ccdcba53 |
| 05-Apr-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: use Netlink to add/remove MAC addresses
VF devices are not able to receive traffic unless it fully requests it though Netlink. This will cause the request to be processed by the PF which
net/mlx5: use Netlink to add/remove MAC addresses
VF devices are not able to receive traffic unless it fully requests it though Netlink. This will cause the request to be processed by the PF which will add/remove the MAC address to the VF table if the VF is trusted.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
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 ...
|
#
c022cb40 |
| 12-Mar-2018 |
Bruce Richardson <bruce.richardson@intel.com> |
convert snprintf to strlcpy
Since we have support for the strlcpy function in DPDK, replace all instances where a string is copied using snprintf.
Signed-off-by: Bruce Richardson <bruce.richardson@
convert snprintf to strlcpy
Since we have support for the strlcpy function in DPDK, replace all instances where a string is copied using snprintf.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
e7041f55 |
| 26-Mar-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: fix RSS key length query
The RSS key length returned by rte_eth_dev_info_get command was taken from the PMD private structure. This structure initialization was done only after the port co
net/mlx5: fix RSS key length query
The RSS key length returned by rte_eth_dev_info_get command was taken from the PMD private structure. This structure initialization was done only after the port configuration.
Considering Mellanox device supports only 40B long RSS key, reporting the fixed number instead.
Fixes: 29c1d8bb3e79 ("net/mlx5: handle a single RSS hash key for all protocols") Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
a1572312 |
| 26-Mar-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: enforce RSS key length limitation
RSS hash key must be 40 Bytes long.
Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro
net/mlx5: enforce RSS key length limitation
RSS hash key must be 40 Bytes long.
Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
cfee9475 |
| 12-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: fix link status to use wait to complete
Wait to complete is present to let the application get a correct status when it requires it, it should not be ignored.
Fixes: e313ef4c2fe8 ("net/ml
net/mlx5: fix link status to use wait to complete
Wait to complete is present to let the application get a correct status when it requires it, it should not be ignored.
Fixes: e313ef4c2fe8 ("net/mlx5: fix link state on device start") Fixes: cb8faed7dde8 ("mlx5: support link status update") Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
7ba5320b |
| 12-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: fix link status behavior
This behavior is mixed between what should be handled by the application and what is under PMD responsibility.
According to DPDK API: - link_update() should only
net/mlx5: fix link status behavior
This behavior is mixed between what should be handled by the application and what is under PMD responsibility.
According to DPDK API: - link_update() should only query the link status [1] - link_set_{up,down}() should only set the link to the according status [1] - dev_{start,stop}() should enable/disable traffic reception/emission [2]
On this PMD, the link status is retrieved from the net device associated owned by the Linux Kernel, it does not means that even when this interface is down, the PMD cannot send/receive traffic from the NIC those two information are unrelated, until the physical port is active and has a link, the PMD can receive/send traffic on the wire.
According to DPDK API, calling the rte_eth_dev_start() even when the Linux interface link is down is then possible and allowed, as the traffic will flow between the DPDK application and the Physical port.
This also means that a synchronization between the Linux interface and the DPDK application remains under the DPDK application responsibility.
To handle such synchronization the application should behave as the following scheme, to start:
rte_eth_get_link(port_id, &link); if (link.link_status == ETH_DOWN) rte_eth_dev_set_link_up(port_id); rte_eth_dev_start(port_id);
Taking in account the possible returned values for each function.
and to stop:
rte_eth_dev_stop(port_id); rte_eth_dev_set_link_down(port_id);
The application should also set the LSC interrupt callbacks to catch and behave accordingly when the administrator set the Linux device down/up. The same callbacks are called when the link on the medium falls/raise.
[1] https://dpdk.org/browse/dpdk/tree/lib/librte_ether/rte_ethdev_core.h [2] https://dpdk.org/browse/dpdk/tree/lib/librte_ether/rte_ethdev.h#n1677
Fixes: c7bf62255edf ("net/mlx5: fix handling link status event") Fixes: e313ef4c2fe8 ("net/mlx5: fix link state on device start") Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
f47ba800 |
| 12-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: remove kernel version check
Kernel version check was introduced in commit 3a49ffe38a95 ("net/mlx5: fix link status query") due to a bug fixed by commit ef09a7fc7620 ("net/mlx5: fix inconsi
net/mlx5: remove kernel version check
Kernel version check was introduced in commit 3a49ffe38a95 ("net/mlx5: fix link status query") due to a bug fixed by commit ef09a7fc7620 ("net/mlx5: fix inconsistent link status query")
This patch restore the previous behavior as described in Linux API.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
a170a30d |
| 13-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: use dynamic logging
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
|
#
0f99970b |
| 13-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: use port id in PMD log
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
|
#
a6d83b6a |
| 05-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: standardize on negative errno values
Set rte_errno systematically as well.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.
net/mlx5: standardize on negative errno values
Set rte_errno systematically as well.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
af4f09f2 |
| 05-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: prefix all functions with mlx5
This change removes the need to distinguish unlocked priv_*() functions which are therefore renamed using a mlx5_*() prefix for consistency.
At the same tim
net/mlx5: prefix all functions with mlx5
This change removes the need to distinguish unlocked priv_*() functions which are therefore renamed using a mlx5_*() prefix for consistency.
At the same time, all functions from mlx5 uses a pointer to the ETH device instead of the one to the PMD private data.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
7b2423cd |
| 05-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: remove control path locks
In priv struct only the memory region needs to be protected against concurrent access between the control plane and the data plane.
Signed-off-by: Nelio Laranjei
net/mlx5: remove control path locks
In priv struct only the memory region needs to be protected against concurrent access between the control plane and the data plane.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
0b3456e3 |
| 05-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: remove useless empty lines
Some empty lines have been added in the middle of the code without any reason. This commit removes them.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6win
net/mlx5: remove useless empty lines
Some empty lines have been added in the middle of the code without any reason. This commit removes them.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
fb732b0a |
| 05-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: add missing function documentation
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
|
#
56f08e16 |
| 05-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: mark parameters with unused attribute
Replaces all (void)foo; by __rte_unused macro except when variables are under #if statements.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind
net/mlx5: mark parameters with unused attribute
Replaces all (void)foo; by __rte_unused macro except when variables are under #if statements.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
a61888c8 |
| 05-Mar-2018 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: fix sriov flag
priv_get_num_vfs() was used to help the PMD in prefetching the mbuf in datapath when the PMD was behaving in VF mode. This knowledge is no more used.
Fixes: 528a9fbec6de ("
net/mlx5: fix sriov flag
priv_get_num_vfs() was used to help the PMD in prefetching the mbuf in datapath when the PMD was behaving in VF mode. This knowledge is no more used.
Fixes: 528a9fbec6de ("net/mlx5: support ConnectX-5 devices") Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|