#
3f5ac8f2 |
| 24-Jun-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: remove Rx scatter support
This is done in preparation of bypassing Verbs entirely for the data path as a performance improvement. RX scatter cannot be maintained during the transition and
net/mlx5: remove Rx scatter support
This is done in preparation of bypassing Verbs entirely for the data path as a performance improvement. RX scatter cannot be maintained during the transition and will be reimplemented later.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
573f54af |
| 24-Jun-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: remove Tx gather support
This is done in preparation of bypassing Verbs entirely for the data path as a performance improvement. TX gather cannot be maintained during the transition and wi
net/mlx5: remove Tx gather support
This is done in preparation of bypassing Verbs entirely for the data path as a performance improvement. TX gather cannot be maintained during the transition and will be reimplemented later.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
85e347db |
| 08-Jun-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
net/mlx5: enhance SR-IOV detection
SR-IOV mode is currently set when dealing with VF devices. PF devices must be taken into account as well if they have active VFs.
Signed-off-by: Nelio Laranjeiro
net/mlx5: enhance SR-IOV detection
SR-IOV mode is currently set when dealing with VF devices. PF devices must be taken into account as well if they have active VFs.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
78d9c95d |
| 08-Jun-2016 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx: retrieve mbuf size through proper function
No need to allocate a mbuf for that.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
|
#
f3b492d7 |
| 08-Jun-2016 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx: ensure MTU update is effective
There is no guarantee that the new MTU is effective after writing its value to sysfs. Retrieve it to be sure.
Signed-off-by: Adrien Mazarguil <adrien.mazargu
net/mlx: ensure MTU update is effective
There is no guarantee that the new MTU is effective after writing its value to sysfs. Retrieve it to be sure.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
d06c608c |
| 20-Jun-2016 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
net/mlx: fix compilation with glibc 2.20
Since _BSD_SOURCE was deprecated in favor of _DEFAULT_SOURCE in Glibc 2.19 and entirely removed in 2.20, various BSD ioctl macros are not exposed anymore whe
net/mlx: fix compilation with glibc 2.20
Since _BSD_SOURCE was deprecated in favor of _DEFAULT_SOURCE in Glibc 2.19 and entirely removed in 2.20, various BSD ioctl macros are not exposed anymore when _XOPEN_SOURCE is defined, and linux/if.h now conflicts with net/if.h.
Add _DEFAULT_SOURCE and keep _BSD_SOURCE for compatibility with older versions.
Suggested-by: Bruce Richardson <bruce.richardson@intel.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
b2feed01 |
| 31-Mar-2016 |
Thomas Monjalon <thomas.monjalon@6wind.com> |
ethdev: add 100G link speed
The link speed configuration is now done with bitmaps so 100G speed requires only a new bit flag. The actual link speed is a number so its size must be increased from 16-
ethdev: add 100G link speed
The link speed configuration is now done with bitmaps so 100G speed requires only a new bit flag. The actual link speed is a number so its size must be increased from 16-bit to 32-bit.
Signed-off-by: Marc Sune <marcdevel@gmail.com> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Tested-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Tested-by: Matej Vido <vido@cesnet.cz>
show more ...
|
#
82113036 |
| 31-Mar-2016 |
Marc Sune <marcdevel@gmail.com> |
ethdev: redesign link speed config
This patch redesigns the API to set the link speed/s configuration of an ethernet port. Specifically:
- it allows to define a set of advertised speeds for auto-
ethdev: redesign link speed config
This patch redesigns the API to set the link speed/s configuration of an ethernet port. Specifically:
- it allows to define a set of advertised speeds for auto-negociation. - it allows to disable link auto-negociation (single fixed speed). - default: auto-negociate all supported speeds.
A flag autoneg in struct rte_eth_link indicates if link speed was a result of auto-negociation or was fixed by configuration.
Signed-off-by: Marc Sune <marcdevel@gmail.com> Tested-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Tested-by: Beilei Xing <beilei.xing@intel.com> Tested-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
e274f573 |
| 31-Mar-2016 |
Marc Sune <marcdevel@gmail.com> |
ethdev: add speed capabilities
The speed capabilities of a device can be retrieved with rte_eth_dev_info_get().
The new field speed_capa is initialized in the drivers without taking care of device
ethdev: add speed capabilities
The speed capabilities of a device can be retrieved with rte_eth_dev_info_get().
The new field speed_capa is initialized in the drivers without taking care of device characteristics in this patch. When the capabilities of a driver are accurate, the table in overview.rst must be filled.
Signed-off-by: Marc Sune <marcdevel@gmail.com>
show more ...
|
#
c64ccc0e |
| 18-Mar-2016 |
Nélio Laranjeiro <nelio.laranjeiro@6wind.com> |
mlx5: fix overwritten RSS configuration
RSS configuration provided by the application should not be used as storage by the PMD.
Fixes: 2f97422e7759 ("mlx5: support RSS hash update and get")
Signed
mlx5: fix overwritten RSS configuration
RSS configuration provided by the application should not be used as storage by the PMD.
Fixes: 2f97422e7759 ("mlx5: support RSS hash update and get")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
e192ef80 |
| 17-Mar-2016 |
Yaacov Hazan <yaacovh@mellanox.com> |
mlx5: add VLAN insertion offload
VLAN insertion can be done in hardware when supported in Verbs. A software fallback is provided otherwise. The software implementation is also used when multi-packet
mlx5: add VLAN insertion offload
VLAN insertion can be done in hardware when supported in Verbs. A software fallback is provided otherwise. The software implementation is also used when multi-packet send is enabled on a queue, as both features are mutually exclusive.
Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
a48deada |
| 17-Mar-2016 |
Or Ami <ora@mellanox.com> |
mlx5: allow operation in secondary processes
Secondary processes are expected to use queues and other resources allocated by the primary, however Verbs resources can only be shared between processes
mlx5: allow operation in secondary processes
Secondary processes are expected to use queues and other resources allocated by the primary, however Verbs resources can only be shared between processes when inherited through fork().
This limitation can be worked around for TX by configuring separate queues from secondary processes.
Signed-off-by: Or Ami <ora@mellanox.com>
show more ...
|
#
62072098 |
| 17-Mar-2016 |
Or Ami <ora@mellanox.com> |
mlx5: support setting link up or down
Add driver functions to set link state up or down. Burst functions are updated to make sure applications cannot attempt to send/receive after link is brought do
mlx5: support setting link up or down
Add driver functions to set link state up or down. Burst functions are updated to make sure applications cannot attempt to send/receive after link is brought down.
Signed-off-by: Or Ami <ora@mellanox.com>
show more ...
|
#
78a38edf |
| 14-Mar-2016 |
Jianfeng Tan <jianfeng.tan@intel.com> |
ethdev: query supported packet types
Add a new API rte_eth_dev_get_supported_ptypes to query what packet types can be filled by a given device. The device should be already started or its PMD RX bur
ethdev: query supported packet types
Add a new API rte_eth_dev_get_supported_ptypes to query what packet types can be filled by a given device. The device should be already started or its PMD RX burst function already decided, since the packet types supported may vary depending on RX function.
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
0497ddaa |
| 03-Mar-2016 |
Yaacov Hazan <yaacovh@mellanox.com> |
mlx5: add special flows for broadcast and IPv6 multicast
Until now, broadcast frames were handled like unicast. Moving the related flow to the special flows table frees up the related unicast MAC en
mlx5: add special flows for broadcast and IPv6 multicast
Until now, broadcast frames were handled like unicast. Moving the related flow to the special flows table frees up the related unicast MAC entry.
The same method is used to handle IPv6 multicast frames.
Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
634efbc2 |
| 02-Nov-2015 |
Nelio Laranjeiro <nelio.laranjeiro@6wind.com> |
mlx5: support RETA query and update
ConnectX-4 adapters do not have a constant indirection table size, which is set at runtime from the number of RX queues. The maximum size is retrieved using a har
mlx5: support RETA query and update
ConnectX-4 adapters do not have a constant indirection table size, which is set at runtime from the number of RX queues. The maximum size is retrieved using a hardware query and is normally 512.
Since the current RETA API cannot handle a variable size, any query/update command causes it to be silently updated to RSS_INDIRECTION_TABLE_SIZE entries regardless of the original size.
Also due to the underlying type of the configuration structure, the maximum size is limited to RSS_INDIRECTION_TABLE_SIZE (currently 128, at most 256 entries).
A port stop/start must be done to apply the new RETA configuration.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
198a3c33 |
| 30-Oct-2015 |
Nelio Laranjeiro <nelio.laranjeiro@6wind.com> |
mlx5: handle link status interrupts
Add interrupts handler for port status notification.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazargu
mlx5: handle link status interrupts
Add interrupts handler for port status notification.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
ecc1c29d |
| 30-Oct-2015 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
mlx5: refactor Rx code for the new verbs RSS API
The new Verbs RSS API is lower-level than the previous one and much more flexible but requires RX queues to use Work Queues (WQs) internally instead
mlx5: refactor Rx code for the new verbs RSS API
The new Verbs RSS API is lower-level than the previous one and much more flexible but requires RX queues to use Work Queues (WQs) internally instead of Queue Pairs (QPs), which are grouped in an indirection table used by a new kind of hash RX QPs.
Hash RX QPs and the indirection table together replace the parent RSS QP while WQs are mostly similar to child QPs.
RSS hash key is not configurable yet.
Summary of changes:
- Individual DPDK RX queues do not store flow properties anymore, this info is now part of the hash RX queues. - All functions affecting the parent queue when RSS is enabled or the basic queues otherwise are modified to affect hash RX queues instead. - Hash RX queues are also used when a single DPDK RX queue is configured (no RSS) to remove that special case. - Hash RX queues and indirection table are created/destroyed when device is started/stopped in addition to create/destroy flows. - Contrary to QPs, WQs are moved to the "ready" state before posting RX buffers, otherwise they are ignored. - Resource domain information is added to WQs for better performance. - CQs are not resized anymore when switching between non-SG and SG modes as it does not work correctly with WQs. Use the largest possible size instead, since CQ size does not have to be the same as the number of elements in the RX queue. This also applies to the maximum number of outstanding WRs in a WQ (max_recv_wr).
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Olga Shern <olgas@mellanox.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Or Ami <ora@mellanox.com> Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com>
show more ...
|
#
02d75430 |
| 30-Oct-2015 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
mlx5: support flow control
Like most other device control operations, those are handled by the related kernel network device through syscalls.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6win
mlx5: support flow control
Like most other device control operations, those are handled by the related kernel network device through syscalls.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
cb8faed7 |
| 30-Oct-2015 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
mlx5: support link status update
Link information is retrieved using ethtool ioctls.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6
mlx5: support link status update
Link information is retrieved using ethtool ioctls.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
1bdbe1af |
| 30-Oct-2015 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
mlx5: support promiscuous and allmulticast Rx modes
These modes require special non-MAC flows.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.la
mlx5: support promiscuous and allmulticast Rx modes
These modes require special non-MAC flows.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Yaacov Hazan <yaacovh@mellanox.com>
show more ...
|
#
cf37ca95 |
| 30-Oct-2015 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
mlx5: support MTU configuration
Depending on the MTU and whether jumbo frames are enabled, RX queues may switch between SG and non-SG modes for better performance.
Signed-off-by: Adrien Mazarguil <
mlx5: support MTU configuration
Depending on the MTU and whether jumbo frames are enabled, RX queues may switch between SG and non-SG modes for better performance.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
show more ...
|
#
e60fbd5b |
| 30-Oct-2015 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
mlx5: add device configure/start/stop
This commit adds the remaining missing callbacks to make mlx5 usable. Like mlx4, device start and stop are implemented on top of MAC RX flows.
Signed-off-by: A
mlx5: add device configure/start/stop
This commit adds the remaining missing callbacks to make mlx5 usable. Like mlx4, device start and stop are implemented on top of MAC RX flows.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Francesco Santoro <francesco.santoro@6wind.com> Signed-off-by: Didier Pallard <didier.pallard@6wind.com>
show more ...
|
#
771fa900 |
| 30-Oct-2015 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
mlx5: introduce new driver for Mellanox ConnectX-4 adapters
In its current state, this driver implements the bare minimum to initialize itself and Mellanox ConnectX-4 adapters without doing anything
mlx5: introduce new driver for Mellanox ConnectX-4 adapters
In its current state, this driver implements the bare minimum to initialize itself and Mellanox ConnectX-4 adapters without doing anything else (no RX/TX for instance). It is disabled by default since it is based on the mlx4 driver and also depends on libibverbs.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Signed-off-by: Or Ami <ora@mellanox.com>
show more ...
|