From: Shai Brandes
This update is an enhancement to the ENA driver version 2.11.0 release.
It is a "nice to have" feature for the 24.11 release, should it be
included before the code freeze deadline.
This addition leverages an internal framework used in our testing
processes, which may offer sig
From: Shai Brandes
The framework computes the differences between specified
start and end points in the code, providing insights into
performance by outputting a histogram of the time intervals.
The histogram can be used to track metrics like packet
processing latency in the network driver.
This
From: Shai Brandes
Add validation check for packet descriptor consistency
and improve reset logic and stats tracking.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
doc/guides/rel_notes/release_24_11.rst | 1 +
drivers/net/ena/ena_ethdev.c | 29 +++-
From: Shai Brandes
Removed obsolete devarg enforcing normal llq policy,
as its logic is now handled by the new `llq_policy` devarg.
Signed-off-by: Shai Brandes
---
doc/guides/nics/ena.rst | 4
1 file changed, 4 deletions(-)
diff --git a/doc/guides/nics/ena.rst b/doc/guides/nics/ena.rst
i
From: Shai Brandes
Dear all,
Please find attached the patches for our upcoming release.
We welcome and appreciate any feedback you may have.
Thank you in advance.
Best regards,
Shai Brandes
Shai Brandes (3):
net/ena: upgrade driver version to 2.11.0
net/ena: support malformed Rx descriptor e
From: Shai Brandes
Upgrade ENA driver version to 2.11.0.
Signed-off-by: Shai Brandes
---
drivers/net/ena/ena_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 1dec54fb58..1a652b09ac 100644
--- a/driver
From: Shai Brandes
Replaced `enable_llq`, `normal_llq_hdr` and `large_llq_hdr`
devargs with a new shared devarg named `llq_policy` that
implements the same logic and accepts the following values:
0 - Disable LLQ.
Use with extreme caution as it leads to a huge performance
degradation on AW
From: Shai Brandes
Added a new ena team member.
Signed-off-by: Shai Brandes
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 812463fe9f..01b1c2cb7f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -663,6 +663,7 @@ M: Shai Brandes
M: Evgeny Sche
From: Shai Brandes
upgrade driver version to 2.10.0.
Signed-off-by: Shai Brandes
---
drivers/net/ena/ena_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index feb229c5ec..e0c239e88f 100644
--- a/drivers/ne
From: Shai Brandes
This restructure is a simplification of the
Rx checksum inspection logic in ena_rx_mbuf_prepare.
Its purpose is to improve readability and maintainability
by consolidating conditions.
Signed-off-by: Shai Brandes
---
doc/guides/rel_notes/release_24_07.rst | 2 +
drivers/net/
From: Shai Brandes
This change fixes an issue where a non tcp/udp packet can be indicated
to have an invalid csum. If the device erroneously tries to verify the
csum on a non tcp/udp packet it will result in false indication that
there is a csum error. This change make the driver ignore the
indic
From: Shai Brandes
This commit adds the support for a new reset reason
for `MISS_FIRST_INTERRUPT` in order to distinguish
between resets where no interrupts have been received
and sporadic missed interrupts.
Signed-off-by: Shai Brandes
---
drivers/net/ena/base/ena_defs/ena_regs_defs.h | 1 +
1
From: Shai Brandes
Removed the sign inversion for when checking if
ena_com_set_host_attributes returns ENA_COM_UNSUPPORTED.
ENA_COM_UNSUPPORTED is defined as -EOPNOTSUPP, so the extra sign
inversion is wrong.
Fixes: 3adcba9a8987 ("net/ena: update HAL to the newer version")
Cc: sta...@dpdk.org
S
From: Shai Brandes
Rework device uninitialization flow to ensure complete resource
cleanup, and lay the groundwork for hot-unplug support. With this
change, `ena_destroy_device()` is removed, its functionality now
incorporated into `ena_close()`.
Signed-off-by: Shai Brandes
---
doc/guides/rel_
From: Shai Brandes
Removed a workaround for a false L4 bad Rx csum
indication from the device. The workaround was to set it
as unknown so the application would check it instead.
The issue was fixed in the device, thus the driver bad csum
handling should be fixed in the PMD.
Fixes: b2d2f1cf89a6 (
From: Shai Brandes
Current implementation of ena_trc_dbg on every TX packet has a major
performance impact on DPDK TX flow.
Profiling revealed that these calls, which trigger rte_log usage,
consume a significant amount of CPU resources.
Change details:
1. Several warning prints that incorrectly
From: Shai Brandes
Add ENA_FIELD_GET and ENA_FIELD_PREP macro to make access to
fields more readable.
Signed-off-by: Shai Brandes
---
drivers/net/ena/base/ena_com.c | 111
drivers/net/ena/base/ena_com.h | 10 +-
drivers/net/ena/base/ena_eth_com.c | 146 +
From: Shai Brandes
copyright dates are not mandatory to be maintained,
therefore the range of years was removed.
In addition, the copyrights lines were separated
into two comments.
Signed-off-by: Shai Brandes
---
drivers/net/ena/base/ena_com.c | 4 ++--
drivers/net/ena/base/en
From: Shai Brandes
Provide a method to check the number of used entries in the send queue
Signed-off-by: Shai Brandes
---
drivers/net/ena/base/ena_eth_com.h | 13 ++---
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ena/base/ena_eth_com.h
b/drivers/net/ena/b
From: Shai Brandes
Remove ENA_WARN checks from ena_com_wait_and_process_admin_cq_polling
since once the execution flow reaches the check, it must be
ENA_CMD_COMPLETED because it can't be either of the other options:
1. ENA_CMD_ABORTED - in such case it will perform "goto err" in the "if"
block
From: Shai Brandes
Update the comment above the phase bit descriptor
read in AENQ processing.
Signed-off-by: Shai Brandes
---
drivers/net/ena/base/ena_com.c | 16
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ena/base/ena_com.c b/drivers/net/ena/ba
From: Shai Brandes
Hi all,
This release contains:
1. HAL upgrade to latest divided into separate patches.
2. three bug fixes.
3. restructuring of the Rx checksum code for readability
4. restructuring of the device uninit flow which is also needed
for adding hot un/plug support later.
5. modifi
From: Shai Brandes
Remove an unused dev_node parameter when allocating DMA memory.
Signed-off-by: Shai Brandes
---
drivers/net/ena/base/ena_com.c | 9 ++---
drivers/net/ena/base/ena_plat_dpdk.h | 11 +--
2 files changed, 7 insertions(+), 13 deletions(-)
diff --git a/drivers
From: Shai Brandes
This patch adds the capability to print rx/tx descriptors.
This patch introduces a new function ena_com_tx_cdesc_idx_to_ptr
which is the equivalent of ena_com_rx_cdesc_idx_to_ptr but for tx cdesc.
Finally, this patch moves the io_cq header incrementation in
ena_com_cdesc_rx_pk
From: Shai Brandes
Replaced `enable_llq`, `normal_llq_hdr` and `large_llq_hdr`
devargs with a new shared devarg named `llq_policy` that
implements the same logic and accepts the following values:
0 - Disable LLQ.
Use with extreme caution as it leads to a huge performance
degradation on AW
From: Shai Brandes
Hi everyone, this is an API change to the ena PMD devargs that removes
the 3 devargs that control the user setting for the LLQ policy
and replaces it with a new shared devarg that implements the same logic.
Shai Brandes (1):
net/ena: restructure the llq policy user setting
From: Shai Brandes
Hi, the fix is for a bug that was introduced in 23.11.
The fix was already merged into 24.03 indirectly as part of c8a1898f82f8
("net/ena: improve style and readability")
and the entire function was later restructured in patch bcb1753156ac
("net/ena/base: modify customer met
From: Shai Brandes
[ upstream commit c8a1898f82f8c04cbe1d3e2d0eec0705386c23f7 ]
The driver accidentally allocates a huge memory
buffer for the customer metrics because it uses
an uninitialized variable for the buffer length.
This can lead to excessive memory footprint for
the driver which can ev
From: Shai Brandes
[ upstream commit c8a1898f82f8c04cbe1d3e2d0eec0705386c23f7 ]
The driver accidentally allocates a huge memory
buffer for the customer metrics because it uses
an uninitialized variable for the buffer length.
This can lead to excessive memory footprint for
the driver which can ev
From: Shai Brandes
Hi, the fix is for a bug that was introduced in 23.11.
The fix was already merged into 24.03 indirectly as part of c8a1898f82f8
("net/ena: improve style and readability")
and the entire function was later restructured in patch bcb1753156ac
("net/ena/base: modify customer met
From: Shai Brandes
The driver accidentally allocates a huge memory
buffer for the customer metrics because it uses
an uninitialized variable for the buffer length.
This can lead to excessive memory footprint for
the driver which can even fail to initialize in
case of insufficient memory.
Signed-
From: Shai Brandes
Hi, the fix is for a bug that was introduced in 23.11.
The fix was already merged into 24.03 indirectly as part of c8a1898f82f8
("net/ena: improve style and readability")
and the entire function was later restructured in patch bcb1753156ac
("net/ena/base: modify customer metr
From: Shai Brandes
Hi, the fix is for a bug that was introduced in 23.11.
The fix was already merged into 24.03 indirectly as part of c8a1898f82f8
("net/ena: improve style and readability")
and the entire function was later restructured in patch bcb1753156ac
("net/ena/base: modify customer metr
From: Shai Brandes
The driver accidentally allocates a huge memory
buffer for the customer metrics because it uses
an uninitialized variable for the buffer length.
This can lead to excessive memory footprint for
the driver which can even fail to initialize in
case of insufficient memory.
Signed-
From: Shai Brandes
Fixed an issue of double free of mbufs which is exposed
in mbuf fast free mode when handling multi-mbuf packets.
The faulty patch mishandled free of non-head mbufs as it
iterated over linked mbufs and collected them into an array,
which was then passed to rte_pktmbuf_free_bulk
From: Shai Brandes
upgrade driver version to 2.9.0.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/ena_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 1707d5f2c2..7b697c
From: Shai Brandes
This commit implements a new operation mode that enables purely
polling-based functionality, eliminating the need for interrupts in
the control path. This mode is not activated by default and can be
toggled using the "control_poll_interval" devarg. When operating in
this mode,
From: Shai Brandes
Selected AWS instances from later generations enable
large LLQ by default, allowing the transmission of
packets with headers exceeding 96 bytes.
Due to the overall ENA memory BAR size limitation,
large LLQ has the side effect of halving the maximum
number of LLQ entries (from
From: Shai Brandes
Change rte_intr_callback_unregister to its synchronous variant to
ensure all active interrupt callbacks are completed before proceeding
with the flow. Relocate the interrupt deregistration to precede the
release of stats memory, thereby preventing the interrupt handler
from acc
From: Shai Brandes
Update the device-preferred size of the Tx ring to fall within the
valid range when a large LLQ is enabled. For consistency, align the
device-preferred size of the Rx ring accordingly.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/ena_ethdev.c
From: Shai Brandes
Modify log prints to use correct format specifier
for unsigned variables and removed line breaks
for lines that do not exceed maximal line length.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/base/ena_eth_com.c | 22 +++---
d
From: Shai Brandes
1. Set buffer length to zero in case memory allocation failed
and after memory is released.
2. The driver checks buffer_virt_addr for customer allocation
success. In case the allocation fails, buffer_virt_addr
may not necessarily be NULL.
Signed-off-by: Shai Brandes
From: Shai Brandes
This patch makes several changes to improve
the style and readability of the code.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/base/ena_com.c | 13 +
drivers/net/ena/base/ena_plat_dpdk.h | 2 +-
2 files changed, 6 insertion
From: Shai Brandes
Adds support for reset request message from the device to the driver,
over AENQ, which in turn should cause the driver to trigger reset.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/base/ena_defs/ena_admin_defs.h | 3 ++-
drivers/net/ena/base/
From: Shai Brandes
Currently admin_queue->stats.aborted_cmd counter is incremented if an
admin command status is ENA_CMD_ABORTED and only if the admin queue is
in polling mode.
This commit fixes handling the case of incrementing
admin_queue->stats.aborted_cmd if the admin queue is in interrupt
mo
From: Shai Brandes
remove all other operating system enumeration as they
are unrelated to DPDK. Use a constant value instead.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/base/ena_defs/ena_admin_defs.h | 13 +
drivers/net/ena/base/ena_plat_dpdk.h
From: Shai Brandes
RX ring submission queue descriptors are always located in host memory
This optimization replaces the generic update tail method with a
tailored method for host memory type descriptors to avoid unnecessary if
statement.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
From: Shai Brandes
1. PHC algorithm is updated to support reading new PHC values.
2. Update default PHC expiration timeout.
3. Fix a theoretical PHC destroy race.
4. Adjust PHC for multiple devices.
5. PHC activation version check point.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
From: Shai Brandes
This commit adds an API to query the aenq on whether
there is a pending keep alive notification.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/base/ena_com.c | 39 ++
drivers/net/ena/base/ena_com.h | 10 +
From: Shai Brandes
The unlikely mechanism is used to reduce pipe flush,
caused by a wrong branch prediction.
Moreover, it increases readability by wrapping unexpected errors.
This commit adds unlikely to error checks that are unlikely to happen.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Ber
From: Shai Brandes
The dma_rmb() memory barrier guarantees that the device set the
phase bit before continuing to read the rest of the descriptor.
Because the phase bit and the rest of the descriptor are in the same
cache line this ensures coherency of the data from the descriptor.
Signed-off-by
From: Shai Brandes
There can be cases when we trigger reset if an admin interrupt
is missing.
In order to identify this use-case specifically,
this commit adds a new reset reason.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/base/ena_com.c| 2 ++
From: Shai Brandes
When invoking an admin command, in interrupt mode, if the interrupt
is received after timeout and also after the calling function finished
running, the response will be written into a memory that is no longer
valid.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
From: Shai Brandes
Limit the value of the exponent used for this backoff
at (1<<16) to prevent it from reaching to an excessive
value (1<<32) or potentially even overflowing.
In addition, for uniformity and readability purposes,
the min/max parameter in the calls of ENA_MIN32 and
ENA_MAX32 macros
From: Shai Brandes
Adding a check of the MBZ (Must Be Zero) fields in the
incoming tx and rx completion descriptors in order to
identify corrupted descriptors.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/base/ena_eth_com.c | 13 +++--
drivers/net/ena/ba
From: Shai Brandes
Several reserved bits in ena_eth_io_tx_cdesc and
ena_eth_io_rx_cdesc_base have been renamed explicitly to
MBZ (Must Be Zero).
These bits are set by the device to zero before being sent
to the driver. The fields are used as an integrity check in
order to ensure that the received
From: Shai Brandes
Adding ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED to identify
cases where the returned TX completion descriptors are
corrupted.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/base/ena_defs/ena_regs_defs.h | 1 +
1 file changed, 1 insertion(+)
diff
From: Shai Brandes
The flags field in ena_eth_io_tx_cdesc is 8-bits long.
The current macro used is READ_ONCE16.
Switching to READ_ONCE8 to avoid reading extra data.
Given that there's an implicit cast to u8 in the assignment,
the correct value is being read, but this change makes it
even more ac
From: Shai Brandes
RX ring submission queue descriptors are always located in host memory
This optimization replaces the generic descriptor retrieval method
with a tailored method for host memory type descriptors to avoid
unnecessary if statement.
Signed-off-by: Shai Brandes
Reviewed-by: Amit B
From: Shai Brandes
Add a new driver supported feature bit for TX IPv6 checksum offload.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
.../net/ena/base/ena_defs/ena_admin_defs.h| 19 ++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/net
From: Shai Brandes
In case the application enables fast mbuf release optimization,
the driver releases 256 TX mbufs in bulk upon reaching the
TX free threshold.
The existing implementation utilizes rte_mempool_put_bulk for bulk
freeing TXs, which exclusively supports direct mbufs.
In case the app
From: Shai Brandes
The driver will set the size of the LLQ header size
according to the recommendation from the device.
The user can bypass the recommendation via devargs:
- The existing devarg 'large_llq_hdr' (default 0)
allows user to enforce large llq header policy.
- The existing devarg 'en
From: Shai Brandes
ENA device will send asynchronous notifications to the
driver in order to notify users about sub-optimal configurations
and refer them to public AWS documentation for further action.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
doc/guides/rel_notes/release_24
From: Shai Brandes
Depending on its acceleration support, the device updates
a different statistic when an ingress packet is dropped
because no buffers are available to hold it.
- In AWS instance types from later generations
'rx_overruns' is updated.
- Otherwise, in legacy instance types,
'rx_dro
From: Shai Brandes
Updated the rte_eth_dev_info device supported speed
bitmap to include 200Gbps and 400Gbps capabilities.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/ena_ethdev.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/ne
From: Shai Brandes
1. Changed the rte_memcpy call to use the precomputed buf_size.
2. Removed redundant address operators (ampersand symbol)
when providing memcpy source address parameter.
3. Code style related change.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net
From: Shai Brandes
Hi all, the ena v2.9.0 release introduces:
1. HAL upgrade:
- renamed the 'base' folder to be 'hal'
- separated the HAL patches instead of a bulk update.
2. Restructured ena stats and metrics.
3. Restructured the LLQ configuration:
- configurable via devarg.
- suppor
From: Shai Brandes
upgrade driver version to 2.9.0.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/ena_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index a36efae38c..47f744
From: Shai Brandes
Selected AWS instances from later generations enable
large LLQ by default, allowing the transmission of
packets with headers exceeding 96 bytes.
Due to the overall ENA memory BAR size limitation,
large LLQ has the side effect of halving the maximum
number of LLQ entries (from
From: Shai Brandes
Update the device-preferred size of the Tx ring to fall within the
valid range when a large LLQ is enabled. For consistency, align the
device-preferred size of the Rx ring accordingly.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/ena_ethdev.c
From: Shai Brandes
Change rte_intr_callback_unregister to its synchronous variant to
ensure all active interrupt callbacks are completed before proceeding
with the flow. Relocate the interrupt deregistration to precede the
release of stats memory, thereby preventing the interrupt handler
from acc
From: Shai Brandes
This commit implements a new operation mode that enables purely
polling-based functionality, eliminating the need for interrupts in
the control path. This mode is not activated by default and can be
toggled using the "control_poll_interval" devarg. When operating in
this mode,
From: Shai Brandes
1. modify log prints to use correct format specifier
for unsigned variables.
2. removed line breaks for lines that do not exceed
maximal line length.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/hal/ena_eth_com.c | 22 +++--
From: Shai Brandes
This patch makes several changes to improve
the style and readability of the code.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/hal/ena_com.c | 13 +
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ena/hal
From: Shai Brandes
remove all other operating system enumeration as they
are unrelated to DPDK. Use a constant value instead.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/hal/ena_defs/ena_admin_defs.h | 13 +
drivers/net/ena/hal/ena_plat_dpdk.h
From: Shai Brandes
1. Set buffer length to zero in case memory allocation failed
and after memory is released.
2. The driver checks buffer_virt_addr for customer allocation
success. In case the allocation fails, buffer_virt_addr
may not necessarily be NULL.
Signed-off-by: Shai Brandes
From: Shai Brandes
Adds support for reset request message from the device to the driver,
over AENQ, which in turn should cause the driver to trigger reset.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/hal/ena_defs/ena_admin_defs.h | 3 ++-
drivers/net/ena/hal/en
From: Shai Brandes
Currently admin_queue->stats.aborted_cmd counter is incremented if an
admin command status is ENA_CMD_ABORTED and only if the admin queue is
in polling mode.
This commit fixes handling the case of incrementing
admin_queue->stats.aborted_cmd if the admin queue is in interrupt
mo
From: Shai Brandes
RX ring submission queue descriptors are always located in host memory
This optimization replaces the generic update tail method with a
tailored method for host memory type descriptors to avoid unnecessary if
statement.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
From: Shai Brandes
The dma_rmb() memory barrier guarantees that the device set the
phase bit before continuing to read the rest of the descriptor.
Because the phase bit and the rest of the descriptor are in the same
cache line this ensures coherency of the data from the descriptor.
Signed-off-by
From: Shai Brandes
This commit adds an API to query the aenq on whether
there is a pending keep alive notification.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/hal/ena_com.c | 39 +++
drivers/net/ena/hal/ena_com.h | 10 +
From: Shai Brandes
There can be cases when we trigger reset if an admin interrupt
is missing.
In order to identify this use-case specifically,
this commit adds a new reset reason.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/hal/ena_com.c| 2 ++
From: Shai Brandes
The unlikely mechanism is used to reduce pipe flush,
caused by a wrong branch prediction.
Moreover, it increases readability by wrapping unexpected errors.
This commit adds unlikely to error checks that are unlikely to happen.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Ber
From: Shai Brandes
When invoking an admin command, in interrupt mode, if the interrupt
is received after timeout and also after the calling function finished
running, the response will be written into a memory that is no longer
valid.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
From: Shai Brandes
1. PHC algorithm is updated to support reading new PHC values.
2. Update default PHC expiration timeout.
3. Fix a theoretical PHC destroy race.
4. Adjust PHC for multiple devices.
5. PHC activation version check point.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
From: Shai Brandes
Adding ENA_REGS_RESET_TX_DESCRIPTOR_MALFORMED to identify
cases where the returned TX completion descriptors are
corrupted.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/hal/ena_defs/ena_regs_defs.h | 1 +
1 file changed, 1 insertion(+)
diff -
From: Shai Brandes
The flags field in ena_eth_io_tx_cdesc is 8-bits long.
The current macro used is READ_ONCE16.
Switching to READ_ONCE8 to avoid reading extra data.
Given that there's an implicit cast to u8 in the assignment,
the correct value is being read, but this change makes it
even more ac
From: Shai Brandes
Adding a check of the MBZ (Must Be Zero) fields in the
incoming tx and rx completion descriptors in order to
identify corrupted descriptors.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/hal/ena_eth_com.c | 13 +++--
drivers/net/ena/hal
From: Shai Brandes
Several reserved bits in ena_eth_io_tx_cdesc and
ena_eth_io_rx_cdesc_base have been renamed explicitly to
MBZ (Must Be Zero).
These bits are set by the device to zero before being sent
to the driver. The fields are used as an integrity check in
order to ensure that the received
From: Shai Brandes
RX ring submission queue descriptors are always located in host memory
This optimization replaces the generic descriptor retrieval method
with a tailored method for host memory type descriptors to avoid
unnecessary if statement.
Signed-off-by: Shai Brandes
Reviewed-by: Amit B
From: Shai Brandes
limits the exponent in the exponential backoff
mechanism in order to avoid the value overflowing.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/hal/ena_com.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/en
From: Shai Brandes
ENA_MEMCPY_TO_DEVICE_64 macro needs pci bus id in order
to write to the device memory when using llq.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/hal/ena_eth_com.c | 3 ++-
drivers/net/ena/hal/ena_plat_dpdk.h | 3 ++-
2 files changed, 4 ins
From: Shai Brandes
Add a new driver supported feature bit for TX IPv6 checksum offload.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/hal/ena_defs/ena_admin_defs.h | 19 ++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/net
From: Shai Brandes
Changed the base HAL folder to hal.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/{base => hal}/ena_com.c | 0
drivers/net/ena/{base => hal}/ena_com.h | 0
drivers/net/ena/{base => hal}/ena_defs/ena_admin_defs.
From: Shai Brandes
The driver will set the size of the LLQ header size according to the
recommendation from the device.
Replaced `enable_llq` and `large_llq_hdr` devargs with
a new devarg `llq_policy` that accepts the following values:
0 - Disable LLQ.
Use with extreme caution as it leads to
From: Shai Brandes
Depending on its acceleration support, the device updates
a different statistic when an ingress packet is dropped
because no buffers are available to hold it.
- In AWS instance types from later generations
'rx_overruns' is updated.
- Otherwise, in legacy instance types,
'rx_dro
From: Shai Brandes
In case the application enables fast mbuf release optimization,
the driver releases 256 TX mbufs in bulk upon reaching the
TX free threshold.
The existing implementation utilizes rte_mempool_put_bulk for bulk
freeing TXs, which exclusively supports direct mbufs.
In case the app
From: Shai Brandes
ENA device will send asynchronous notifications to the
driver in order to notify users about sub-optimal configurations
and refer them to public AWS documentation for further action.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
doc/guides/rel_notes/release_24
From: Shai Brandes
Hi all, the ena v2.9.0 release introduces:
1. HAL upgrade:
- renamed the 'base' folder to be 'hal'
- separated the HAL patches instead of a bulk update.
2. Restructured ena stats and metrics.
3. Restructured the LLQ configuration:
- configurable via devarg.
- suppor
From: Shai Brandes
Updated the rte_eth_dev_info device supported speed
bitmap to include 200Gbps and 400Gbps capabilities.
Signed-off-by: Shai Brandes
Reviewed-by: Amit Bernstein
---
drivers/net/ena/ena_ethdev.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/ne
1 - 100 of 189 matches
Mail list logo