#
fc40db99 |
| 08-Feb-2018 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx: control netdevices through ioctl only
Several control operations implemented by these PMDs affect netdevices through sysfs, itself subject to file system permission checks enforced by the k
net/mlx: control netdevices through ioctl only
Several control operations implemented by these PMDs affect netdevices through sysfs, itself subject to file system permission checks enforced by the kernel, which limits their use for most purposes to applications running with root privileges.
Since performing the same operations through ioctl() requires fewer capabilities (only CAP_NET_ADMIN) and given the remaining operations are already implemented this way, this patch standardizes on ioctl() and gets rid of redundant code.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Reviewed-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
show more ...
|
#
8fd92a66 |
| 29-Jan-2018 |
Olivier Matz <olivier.matz@6wind.com> |
net/mlx5: use SPDX tags in 6WIND copyrighted files
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Bruce Richardson <bruce.rich
net/mlx5: use SPDX tags in 6WIND copyrighted files
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
0e83b8e5 |
| 30-Jan-2018 |
Nelio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: move rdma-core calls to separate file
This lays the groundwork for externalizing rdma-core as an optional run-time dependency instead of a mandatory one.
No functional change.
Signed-off
net/mlx5: move rdma-core calls to separate file
This lays the groundwork for externalizing rdma-core as an optional run-time dependency instead of a mandatory one.
No functional change.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
e313ef4c |
| 25-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: fix link state on device start
Following commit c7bf62255edf ("net/mlx5: fix handling link status event") the link state must be up in order for the burst function to be set on the device
net/mlx5: fix link state on device start
Following commit c7bf62255edf ("net/mlx5: fix handling link status event") the link state must be up in order for the burst function to be set on the device ops.
As the link may take time to move between down and up state it is possible the rte_eth_dev_start call will return with wrong burst function (either null or the empty burst function).
Fixing it by forcing the link to be up before returning from device start. In case the link is still not up after 5 seconds fail the function. In addition initialize the burst function on device probe to prevent crashes before the link is up.
Fixes: c7bf62255edf ("net/mlx5: fix handling link status event") Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
b233b027 |
| 22-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: fix missing RSS capability
The PMD was not reporting the supported RSS capabilities.
Fixes: 2f97422e7759 ("mlx5: support RSS hash update and get") Cc: stable@dpdk.org
Signed-off-by: Shah
net/mlx5: fix missing RSS capability
The PMD was not reporting the supported RSS capabilities.
Fixes: 2f97422e7759 ("mlx5: support RSS hash update and get") Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
ffc905f3 |
| 22-Jan-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: separate driver APIs
Create a rte_ethdev_driver.h file and move PMD specific APIs here. Drivers updated to include this new header file.
There is no update in header content and since ethde
ethdev: separate driver APIs
Create a rte_ethdev_driver.h file and move PMD specific APIs here. Drivers updated to include this new header file.
There is no update in header content and since ethdev.h included by ethdev_driver.h, nothing changed from driver point of view, only logically grouping of APIs. From applications point of view they can't access to driver specific APIs anymore and they shouldn't.
More PMD specific data structures still remain in ethdev.h because of inline functions in header use them. Those will be handled separately.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
d3e0f392 |
| 20-Jan-2018 |
Matan Azrad <matan@mellanox.com> |
net/mlx5: support a device removal check operation
Add support to get removal status of mlx5 device. It is not supported in secondary process.
Signed-off-by: Matan Azrad <matan@mellanox.com>
|
#
c7bf6225 |
| 17-Jan-2018 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: fix handling link status event
Even though link of a port gets down, device still can receive traffic. That is the reason why mlx5_set_link_up/down() switches rx/tx_pkt_burst(). However, i
net/mlx5: fix handling link status event
Even though link of a port gets down, device still can receive traffic. That is the reason why mlx5_set_link_up/down() switches rx/tx_pkt_burst(). However, if link gets down by an external command (e.g. ifconfig), it isn't effective. It is better to change burst functions when link status change is detected.
Fixes: 62072098b54e ("mlx5: support setting link up or down") Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
6817ad38 |
| 10-Jan-2018 |
Yongseok Koh <yskoh@mellanox.com> |
net/mlx5: fix deadlock of link status alarm
If mlx5_dev_link_status_handler() is executed while canceling the alarm, deadlock can happen because rte_eal_alarm_cancel() waits for all callbackes to fi
net/mlx5: fix deadlock of link status alarm
If mlx5_dev_link_status_handler() is executed while canceling the alarm, deadlock can happen because rte_eal_alarm_cancel() waits for all callbackes to finish execution and both calls are protected by priv->lock.
Fixes: 198a3c339a8f ("mlx5: handle link status interrupts") Cc: stable@dpdk.org
Signed-off-by: Yongseok Koh <yskoh@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
cebe3d7b |
| 04-Jan-2018 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: remove useless parameter in callback process
The pointer to the user parameter of the callback registration is automatically pass to the callback function. There is no point to allow changin
ethdev: remove useless parameter in callback process
The pointer to the user parameter of the callback registration is automatically pass to the callback function. There is no point to allow changing this user parameter by a caller. That's why this parameter is always set to NULL by PMDs and set only in ethdev layer before calling the callback function.
The history is that the user parameter was initially used by the callback implementation to pass some information between the application and the driver: c1ceaf3ad056 ("ethdev: add an argument to internal callback function") Then a new parameter has been added to leave the user parameter to its standard usage of context given at registration: d6af1a13d7a1 ("ethdev: add return values to callback process API")
The NULL parameter in the internal callback processing function is now removed. It makes clear that the callback parameter is user managed and opaque from a DPDK point of view.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
17b843eb |
| 10-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: convert to new Rx offloads API
Ethdev Rx offloads API has changed since:
commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API")
This commit support the new Rx offloads API.
Sig
net/mlx5: convert to new Rx offloads API
Ethdev Rx offloads API has changed since:
commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API")
This commit support the new Rx offloads API.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
dbccb4cd |
| 10-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: convert to new Tx offloads API
Ethdev Tx offloads API has changed since:
commit cba7f53b717d ("ethdev: introduce Tx queue offloads API")
This commit support the new Tx offloads API.
Sig
net/mlx5: convert to new Tx offloads API
Ethdev Tx offloads API has changed since:
commit cba7f53b717d ("ethdev: introduce Tx queue offloads API")
This commit support the new Tx offloads API.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
7fe24446 |
| 10-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: add device configuration structure
Move device configuration and features capabilities to its own structure. This structure is filled by mlx5_pci_probe(), outside of this function it shoul
net/mlx5: add device configuration structure
Move device configuration and features capabilities to its own structure. This structure is filled by mlx5_pci_probe(), outside of this function it should be treated as *read only*.
This configuration struct will be used for the Tx/Rx queue setup to select the Tx/Rx queue parameters based on the user configuration and device capabilities. In addition it will be used by the burst selection function to decide on the best pkt burst to be used.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
1cfa649b |
| 10-Jan-2018 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: change pkt burst select function prototype
Change the function prototype to return the function pointer of the selected Tx/Rx burst function instead of assigning it directly to the device
net/mlx5: change pkt burst select function prototype
Change the function prototype to return the function pointer of the selected Tx/Rx burst function instead of assigning it directly to the device context.
Such change will enable to use those select functions to query the burst function that will be selected according to the device configuration.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
21e3a974 |
| 26-Dec-2017 |
Shahaf Shuler <shahafs@mellanox.com> |
net/mlx5: fix RSS key configuration
The trigger for PMD to use the application RSS configuration should be based on the validity of rss_key and not the rss_key_len. Otherwise segmentation fault can
net/mlx5: fix RSS key configuration
The trigger for PMD to use the application RSS configuration should be based on the validity of rss_key and not the rss_key_len. Otherwise segmentation fault can occur if application provide valid RSS key length but without any RSS key.
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: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
51e7fa8d |
| 23-Nov-2017 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: fix secondary process verification
Since the secondary process has its own devops, function which cannot be called by the secondary don't need anymore to verify which process is calling it
net/mlx5: fix secondary process verification
Since the secondary process has its own devops, function which cannot be called by the secondary don't need anymore to verify which process is calling it.
Fixes: 87ec44ce1651 ("net/mlx5: add operations for secondary process") Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
01d79216 |
| 23-Nov-2017 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: remove get priv internal function
mlx5_get_priv() is barely use across the driver. To avoid mixing access, this function is definitely removed.
Signed-off-by: Nelio Laranjeiro <nelio.lar
net/mlx5: remove get priv internal function
mlx5_get_priv() is barely use across the driver. To avoid mixing access, this function is definitely removed.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
b113cb5e |
| 10-Nov-2017 |
Edward Makarov <makarov@kraftway.ru> |
net/mlx5: fix link speed bitmasks
The constant ETHTOOL_LINK_MODE_1000baseT_Full_BIT and the others like that in mlx5_link_update_unlocked_gs must be bit masks but unfortunately they are bit numbers.
net/mlx5: fix link speed bitmasks
The constant ETHTOOL_LINK_MODE_1000baseT_Full_BIT and the others like that in mlx5_link_update_unlocked_gs must be bit masks but unfortunately they are bit numbers. This commit fixes the issue.
Fixes: 188408719888 ("net/mlx5: fix support for newer link speeds") Cc: stable@dpdk.org
Signed-off-by: Edward Makarov <makarov@kraftway.ru> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
c752998b |
| 26-Oct-2017 |
Gaetan Rivet <gaetan.rivet@6wind.com> |
pci: introduce library and driver
The PCI lib defines the types and methods allowing to use PCI elements.
The PCI bus implements a bus driver for PCI devices by constructing rte_bus elements using
pci: introduce library and driver
The PCI lib defines the types and methods allowing to use PCI elements.
The PCI bus implements a bus driver for PCI devices by constructing rte_bus elements using the PCI lib.
Move the relevant code out of the EAL to its expected place.
Libraries, drivers, unit tests and applications are updated to use the new rte_bus_pci.h header when necessary.
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
show more ...
|
#
78c7406b |
| 10-Oct-2017 |
Raslan Darawsheh <rasland@mellanox.com> |
net/mlx5: add Rx HW timestamp
Expose Rx HW timestamp to packet mbufs.
Signed-off-by: Raslan Darawsheh <rasland@mellanox.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
|
#
29c1d8bb |
| 09-Oct-2017 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: handle a single RSS hash key for all protocols
Since RSS configuration can also be used by flow API, there is no more necessity to keep a list of RSS configurable for each protocol.
Signe
net/mlx5: handle a single RSS hash key for all protocols
Since RSS configuration can also be used by flow API, there is no more necessity to keep a list of RSS configurable for each protocol.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Yongseok Koh <yskoh@mellanox.com>
show more ...
|
#
87ec44ce |
| 06-Oct-2017 |
Xueming Li <xuemingl@mellanox.com> |
net/mlx5: add operations for secondary process
Add operations that are safe for secondary processes: * (x)stats * device info get * rx/tx descriptor status
Signed-off-by: Xueming Li <xuemingl@mella
net/mlx5: add operations for secondary process
Add operations that are safe for secondary processes: * (x)stats * device info get * rx/tx descriptor status
Signed-off-by: Xueming Li <xuemingl@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
f8b9a3ba |
| 06-Oct-2017 |
Xueming Li <xuemingl@mellanox.com> |
net/mlx5: install a socket to exchange a file descriptor
Use a unix socket to get back the communication channel with the Kernel driver from the primary process, this is necessary to remap those pag
net/mlx5: install a socket to exchange a file descriptor
Use a unix socket to get back the communication channel with the Kernel driver from the primary process, this is necessary to remap those pages in the secondary process memory space and thus use the same Tx queues.
This is only supported from rdma-core (v15).
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Xueming Li <xuemingl@mellanox.com>
show more ...
|
#
aee1b165 |
| 06-Oct-2017 |
Xueming Li <xuemingl@mellanox.com> |
net/mlx5: change eth device reference for secondary process
rte_eth_dev created by primary process were not available in secondary process, it was not possible to use the primary process local memor
net/mlx5: change eth device reference for secondary process
rte_eth_dev created by primary process were not available in secondary process, it was not possible to use the primary process local memory object from a secondary process.
This patch modify the reference of primary rte_eth_dev object, use local rte_eth_dev secondary process instead.
Signed-off-by: Xueming Li <xuemingl@mellanox.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
43e9d979 |
| 26-Sep-2017 |
Shachar Beiser <shacharbe@mellanox.com> |
net/mlx5: support upstream rdma-core
This removes the dependency on specific Mellanox OFED libraries by using the upstream rdma-core and linux upstream community code. Both rdma-core upstream and Me
net/mlx5: support upstream rdma-core
This removes the dependency on specific Mellanox OFED libraries by using the upstream rdma-core and linux upstream community code. Both rdma-core upstream and Mellanox OFED are Linux user-space packages: 1. Rdma-core is Linux upstream user-space package.(Generic) 2. Mellanox OFED is Mellanox's Linux user-space package.(Proprietary) The difference between the two are the APIs towards the kernel.
Support for x86-32 is removed due to issues in rdma-core library. ICC compilation will be supported as soon as the following patch is integrated in rdma-core: https://marc.info/?l=linux-rdma&m=150643474705690&w=2
Signed-off-by: Shachar Beiser <shacharbe@mellanox.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|