History log of /dpdk/drivers/net/ena/ena_ethdev.c (Results 176 – 200 of 259)
Revision Date Author Comments
# 4d7877fd 31-Oct-2018 Michal Krawczyk <mk@semihalf.com>

net/ena: remove resources when port is being closed

The new API introduced in 18.11 is suggesting, that the driver should
release all it's resources at the dev_close routine.

All resources previous

net/ena: remove resources when port is being closed

The new API introduced in 18.11 is suggesting, that the driver should
release all it's resources at the dev_close routine.

All resources previously released in uninit routine during PCI removal,
are now being released at the dev_close and the PMD is indicating that
it is supporting API changes by setting RTE_ETH_DEV_CLOSE_REMOVE flag.

As the device is not allocating MAC addresses dynamically, it is setting
mac_addrs field to NULL, so it wouldn't be released by the
rte_eth_dev_release_port().

Signed-off-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 0bfe8460 25-Oct-2018 Michal Krawczyk <mk@semihalf.com>

net/ena: change version to 1.1.1

Version change is connected with major bug fixes.

Signed-off-by: Michal Krawczyk <mk@semihalf.com>


# e5df9f33 25-Oct-2018 Stewart Allen <allenste@amazon.com>

net/ena: fix passing RSS hash to mbuf

The driver was passing to the mbuf Rx queue ID instead of hash received
from the device. Now, the RSS hash from the Rx descriptor is being set.

Fixes: 1173fca2

net/ena: fix passing RSS hash to mbuf

The driver was passing to the mbuf Rx queue ID instead of hash received
from the device. Now, the RSS hash from the Rx descriptor is being set.

Fixes: 1173fca25af9 ("ena: add polling-mode driver")
Cc: stable@dpdk.org

Signed-off-by: Stewart Allen <allenste@amazon.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# df238f84 25-Oct-2018 Michal Krawczyk <mk@semihalf.com>

net/ena: recreate HW IO rings on start and stop

On the start the driver was refilling all Rx buffs, but the old ones
were not released. That way running start/stop for a few times was
causing device

net/ena: recreate HW IO rings on start and stop

On the start the driver was refilling all Rx buffs, but the old ones
were not released. That way running start/stop for a few times was
causing device to run out of descriptors.

To fix the issue, IO rings are now being destroyed on stop, and
recreated on start. That way the device is not losing any descriptors.

Furthermore, there was also memory leak for the Rx mbufs, which were
created on start and not destroyed on stop.

Fixes: eb0ef49dd5d5 ("net/ena: add stop and uninit routines")
Cc: stable@dpdk.org

Signed-off-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 8f62ec38 16-Oct-2018 Qi Zhang <qi.z.zhang@intel.com>

drivers/net: enable device detach on secondary process

With the enabling for hotplug on multi-process,
rte_eth_dev_pci_generic_remove can be used to detach the device from
a secondary process also.

drivers/net: enable device detach on secondary process

With the enabling for hotplug on multi-process,
rte_eth_dev_pci_generic_remove can be used to detach the device from
a secondary process also. But we need to take care of the uninit callback
parameter to make sure it handles the secondary case correctly.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>

show more ...


# f8e99896 18-Jun-2018 Thomas Monjalon <thomas@monjalon.net>

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 <thomas@monjalon.net>

show more ...


# 361913ad 26-Jun-2018 Daria Kolistratova <daria.kolistratova@intel.com>

net/ena: fix SIGFPE with 0 Rx queue

When the number of rx queues is 0 (what can be when application does
not receive) failed with SIGFPE.
It happens when the application is also requesting ETH_MQ_RX

net/ena: fix SIGFPE with 0 Rx queue

When the number of rx queues is 0 (what can be when application does
not receive) failed with SIGFPE.
It happens when the application is also requesting ETH_MQ_RX_RSS_FLAG
in the rte_dev->data->dev_conf.rxmode.mq_mode.
Fixed adding zero rx queues check.

Signed-off-by: Daria Kolistratova <daria.kolistratova@intel.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 05e0eee0 29-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: enable write combining

Write combining (WC) increases NIC performance by making better
utilization of PCI bus. ENA PMD may make usage of this feature.

To enable it load igb_uio driver with

net/ena: enable write combining

Write combining (WC) increases NIC performance by making better
utilization of PCI bus. ENA PMD may make usage of this feature.

To enable it load igb_uio driver with wc_activate set to 1.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

show more ...


# 41e59028 07-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: set link speed as none

Link speed should is not limited to 10Gb/s and it shouldn't be hardcoded.

They link speed is set to none instead and the applications shouldn't
rely on this value wh

net/ena: set link speed as none

Link speed should is not limited to 10Gb/s and it shouldn't be hardcoded.

They link speed is set to none instead and the applications shouldn't
rely on this value when using ENA PMD.

Fixes: 1173fca25af9 ("ena: add polling-mode driver")
Cc: stable@dpdk.org

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# ba82e010 07-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: update NUMA node

During initializing Tx queues update Non-Uniform Memory Access
configuration in NIC firmware.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@se

net/ena: update NUMA node

During initializing Tx queues update Non-Uniform Memory Access
configuration in NIC firmware.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 241da076 07-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: adjust error checking and cleaning

Adjust error checking and cleaning to Linux driver:
* add checking if MTU is to small,
* fix error messages (mismatched Rx and Tx),
* return error rece

net/ena: adjust error checking and cleaning

Adjust error checking and cleaning to Linux driver:
* add checking if MTU is to small,
* fix error messages (mismatched Rx and Tx),
* return error received from base driver or proper error
code instead of -1,
* in case of error release occupied resources,
* in case of Rx error trigger NIC reset.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 3d19e1ab 07-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: add (un)likely statements

Add likely and unlikely statements to increase performance.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>


# f7d82d24 07-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: validate Tx req id

Validate Tx req id during clearing completed packets.
If id is wrong, trigger NIC reset.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semih

net/ena: validate Tx req id

Validate Tx req id during clearing completed packets.
If id is wrong, trigger NIC reset.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 01bd6877 07-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: rework configuration of IO queue numbers

Move configuration of IO queue numbers to separate function and take
into consideration max number of IO completion queues.

Signed-off-by: Rafal Ko

net/ena: rework configuration of IO queue numbers

Move configuration of IO queue numbers to separate function and take
into consideration max number of IO completion queues.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 983cce2d 07-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: log unimplemented handler error

Enable AENQ FATAL_ERROR and WARNING callbacks by setting flags
in aenq_groups. They are handled by "unimplemented handler".

If unimplemented handler is call

net/ena: log unimplemented handler error

Enable AENQ FATAL_ERROR and WARNING callbacks by setting flags
in aenq_groups. They are handled by "unimplemented handler".

If unimplemented handler is called, error is logged.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 92680dc2 07-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: add info about max number of Tx/Rx descriptors

In function ena_infos_get driver provides information about minimal
and maximal number of Rx and Tx descriptors.

Signed-off-by: Rafal Kozik <

net/ena: add info about max number of Tx/Rx descriptors

In function ena_infos_get driver provides information about minimal
and maximal number of Rx and Tx descriptors.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 2061fe41 07-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: linearize Tx mbuf

Function ena_check_and_linearize_mbuf check Tx mbuf for number of
segments and linearize (defragment) it if necessary. It is called
before sending each packet.

Informatio

net/ena: linearize Tx mbuf

Function ena_check_and_linearize_mbuf check Tx mbuf for number of
segments and linearize (defragment) it if necessary. It is called
before sending each packet.

Information about maximum number of segments is stored per each ring.

Maximum number of segments supported by NIC is taken from ENA COM in
ena_calc_queue_size function and stored in adapter structure.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# c2034976 07-Jun-2018 Michal Krawczyk <mk@semihalf.com>

net/ena: add Rx out of order completion

This feature allows Rx packets to be cleaned up out of order.

Signed-off-by: Michal Krawczyk <mk@semihalf.com>


# e859d2b8 07-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: make watchdog configurable

Add variable wd_state to make driver functional without keep alive
AENQ handler.
The watchdog will be executed only if the aenq group has keep alive
enabled.

Sig

net/ena: make watchdog configurable

Add variable wd_state to make driver functional without keep alive
AENQ handler.
The watchdog will be executed only if the aenq group has keep alive
enabled.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 5efb9fc7 07-Jun-2018 Michal Krawczyk <mk@semihalf.com>

net/ena: check for admin queue state

The admin queue can stop responding or became inactive due to unexpected
behaviour of the device. In that case, the whole device should be
restarted.

Signed-off

net/ena: check for admin queue state

The admin queue can stop responding or became inactive due to unexpected
behaviour of the device. In that case, the whole device should be
restarted.

Signed-off-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# d9b8b106 07-Jun-2018 Michal Krawczyk <mk@semihalf.com>

net/ena: add watchdog and keep alive AENQ handler

Keep alive is executing AENQ interrupt periodically. It allows to check
health of the device and trigger reset event if the device will stop
respond

net/ena: add watchdog and keep alive AENQ handler

Keep alive is executing AENQ interrupt periodically. It allows to check
health of the device and trigger reset event if the device will stop
responding.

To check for the state of the device, the DPDK application must call
rte_timer_manage().

Signed-off-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 2081d5e2 07-Jun-2018 Michal Krawczyk <mk@semihalf.com>

net/ena: add reset routine

Reset routine can be used by the DPDK application to reset the device in
case of receiving RTE_ETH_EVENT_INTR_RESET from the PMD.

The reset event is not triggered by the

net/ena: add reset routine

Reset routine can be used by the DPDK application to reset the device in
case of receiving RTE_ETH_EVENT_INTR_RESET from the PMD.

The reset event is not triggered by the driver, yet. It will be added in
next commits to enable error recovery in case of misfunctioning of the
device.

Signed-off-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# 53b61841 07-Jun-2018 Michal Krawczyk <mk@semihalf.com>

net/ena: restart only initialized queues instead of all

There is no need to check for restart all queues. It is sufficient to
check only previously initialized queues.

Signed-off-by: Michal Krawczy

net/ena: restart only initialized queues instead of all

There is no need to check for restart all queues. It is sufficient to
check only previously initialized queues.

Signed-off-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# f01f060c 07-Jun-2018 Rafal Kozik <rk@semihalf.com>

net/ena: handle ENA notification

When ENA notifications are provided ena_notification handler is called.
It checks if received value is not corrupted and if necessary it
reports proper warnings.

Da

net/ena: handle ENA notification

When ENA notifications are provided ena_notification handler is called.
It checks if received value is not corrupted and if necessary it
reports proper warnings.

Data received from NIC is parsed in ena_update_hints. Fields for
storing those information was added to ena_adapter structure.

ENA notification are enabled by setting ENA_ADMIN_NOTIFICATION flag in
aenq_groups.

Signed-off-by: Rafal Kozik <rk@semihalf.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>

show more ...


# ca148440 07-Jun-2018 Michal Krawczyk <mk@semihalf.com>

net/ena: add LSC intr support and AENQ handling

To make the LSC interrupt working, the AENQ must be configured properly
in the ENA device. The AENQ interrupt is common for all maintenance
interrupts

net/ena: add LSC intr support and AENQ handling

To make the LSC interrupt working, the AENQ must be configured properly
in the ENA device. The AENQ interrupt is common for all maintenance
interrupts - the proper handler is then executed depending on the
received descriptor.

Signed-off-by: Michal Krawczyk <mk@semihalf.com>

show more ...


1234567891011