* [PATCH 0/3] net/ena: ena release 2.11.0 @ 2024-10-23 9:41 shaibran 2024-10-23 9:41 ` [PATCH 1/3] net/ena: upgrade driver version to 2.11.0 shaibran ` (3 more replies) 0 siblings, 4 replies; 6+ messages in thread From: shaibran @ 2024-10-23 9:41 UTC (permalink / raw) To: ferruh.yigit; +Cc: dev, Shai Brandes From: Shai Brandes <shaibran@amazon.com> 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 error net/ena: remove outdated devarg documentation doc/guides/nics/ena.rst | 4 ---- doc/guides/rel_notes/release_24_11.rst | 1 + drivers/net/ena/ena_ethdev.c | 31 +++++++++++++++++++------- drivers/net/ena/ena_ethdev.h | 2 ++ 4 files changed, 26 insertions(+), 12 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/3] net/ena: upgrade driver version to 2.11.0 2024-10-23 9:41 [PATCH 0/3] net/ena: ena release 2.11.0 shaibran @ 2024-10-23 9:41 ` shaibran 2024-10-23 9:41 ` [PATCH 2/3] net/ena: support malformed Rx descriptor error shaibran ` (2 subsequent siblings) 3 siblings, 0 replies; 6+ messages in thread From: shaibran @ 2024-10-23 9:41 UTC (permalink / raw) To: ferruh.yigit; +Cc: dev, Shai Brandes From: Shai Brandes <shaibran@amazon.com> Upgrade ENA driver version to 2.11.0. Signed-off-by: Shai Brandes <shaibran@amazon.com> --- 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/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -22,7 +22,7 @@ #include <ena_eth_io_defs.h> #define DRV_MODULE_VER_MAJOR 2 -#define DRV_MODULE_VER_MINOR 10 +#define DRV_MODULE_VER_MINOR 11 #define DRV_MODULE_VER_SUBMINOR 0 #define __MERGE_64B_H_L(h, l) (((uint64_t)h << 32) | l) -- 2.17.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/3] net/ena: support malformed Rx descriptor error 2024-10-23 9:41 [PATCH 0/3] net/ena: ena release 2.11.0 shaibran 2024-10-23 9:41 ` [PATCH 1/3] net/ena: upgrade driver version to 2.11.0 shaibran @ 2024-10-23 9:41 ` shaibran 2024-10-23 9:41 ` [PATCH 3/3] net/ena: remove outdated devarg documentation shaibran 2024-10-30 2:59 ` [PATCH 0/3] net/ena: ena release 2.11.0 Ferruh Yigit 3 siblings, 0 replies; 6+ messages in thread From: shaibran @ 2024-10-23 9:41 UTC (permalink / raw) To: ferruh.yigit; +Cc: dev, Shai Brandes From: Shai Brandes <shaibran@amazon.com> Add validation check for packet descriptor consistency and improve reset logic and stats tracking. Signed-off-by: Shai Brandes <shaibran@amazon.com> Reviewed-by: Amit Bernstein <amitbern@amazon.com> --- doc/guides/rel_notes/release_24_11.rst | 1 + drivers/net/ena/ena_ethdev.c | 29 +++++++++++++++++++------- drivers/net/ena/ena_ethdev.h | 2 ++ 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst index fa4822d928..e94564b8b7 100644 --- a/doc/guides/rel_notes/release_24_11.rst +++ b/doc/guides/rel_notes/release_24_11.rst @@ -142,6 +142,7 @@ New Features * Modified the PMD API that controls the LLQ header policy. * Replaced ``enable_llq``, ``normal_llq_hdr`` and ``large_llq_hdr`` devargs with a new shared devarg ``llq_policy`` that keeps the same logic. + * Added validation check for Rx packet descriptor consistency. * **Updated Cisco enic driver.** diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index 1a652b09ac..bba48ea1cc 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -162,6 +162,8 @@ static const struct ena_stats ena_stats_rx_strings[] = { ENA_STAT_RX_ENTRY(mbuf_alloc_fail), ENA_STAT_RX_ENTRY(bad_desc_num), ENA_STAT_RX_ENTRY(bad_req_id), + ENA_STAT_RX_ENTRY(bad_desc), + ENA_STAT_RX_ENTRY(unknown_error), }; #define ENA_STATS_ARRAY_GLOBAL ARRAY_SIZE(ena_stats_global_strings) @@ -1262,7 +1264,9 @@ static int ena_stats_get(struct rte_eth_dev *dev, stats->q_ibytes[i] = rx_stats->bytes; stats->q_ipackets[i] = rx_stats->cnt; stats->q_errors[i] = rx_stats->bad_desc_num + - rx_stats->bad_req_id; + rx_stats->bad_req_id + + rx_stats->bad_desc + + rx_stats->unknown_error; } max_rings_stats = RTE_MIN(dev->data->nb_tx_queues, @@ -2772,6 +2776,7 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, struct ena_ring *rx_ring = (struct ena_ring *)(rx_queue); unsigned int free_queue_entries; uint16_t next_to_clean = rx_ring->next_to_clean; + enum ena_regs_reset_reason_types reset_reason; uint16_t descs_in_use; struct rte_mbuf *mbuf; uint16_t completed; @@ -2804,15 +2809,25 @@ static uint16_t eth_ena_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, PMD_RX_LOG_LINE(ERR, "Failed to get the packet from the device, rc: %d", rc); - if (rc == ENA_COM_NO_SPACE) { + switch (rc) { + case ENA_COM_NO_SPACE: ++rx_ring->rx_stats.bad_desc_num; - ena_trigger_reset(rx_ring->adapter, - ENA_REGS_RESET_TOO_MANY_RX_DESCS); - } else { + reset_reason = ENA_REGS_RESET_TOO_MANY_RX_DESCS; + break; + case ENA_COM_FAULT: + ++rx_ring->rx_stats.bad_desc; + reset_reason = ENA_REGS_RESET_RX_DESCRIPTOR_MALFORMED; + break; + case ENA_COM_EIO: ++rx_ring->rx_stats.bad_req_id; - ena_trigger_reset(rx_ring->adapter, - ENA_REGS_RESET_INV_RX_REQ_ID); + reset_reason = ENA_REGS_RESET_INV_RX_REQ_ID; + break; + default: + ++rx_ring->rx_stats.unknown_error; + reset_reason = ENA_REGS_RESET_DRIVER_INVALID_STATE; + break; } + ena_trigger_reset(rx_ring->adapter, reset_reason); return 0; } diff --git a/drivers/net/ena/ena_ethdev.h b/drivers/net/ena/ena_ethdev.h index fe7d4a2d65..b8aead8f46 100644 --- a/drivers/net/ena/ena_ethdev.h +++ b/drivers/net/ena/ena_ethdev.h @@ -140,6 +140,8 @@ struct ena_stats_rx { u64 mbuf_alloc_fail; u64 bad_desc_num; u64 bad_req_id; + u64 bad_desc; + u64 unknown_error; }; struct __rte_cache_aligned ena_ring { -- 2.17.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 3/3] net/ena: remove outdated devarg documentation 2024-10-23 9:41 [PATCH 0/3] net/ena: ena release 2.11.0 shaibran 2024-10-23 9:41 ` [PATCH 1/3] net/ena: upgrade driver version to 2.11.0 shaibran 2024-10-23 9:41 ` [PATCH 2/3] net/ena: support malformed Rx descriptor error shaibran @ 2024-10-23 9:41 ` shaibran 2024-10-30 2:59 ` Ferruh Yigit 2024-10-30 2:59 ` [PATCH 0/3] net/ena: ena release 2.11.0 Ferruh Yigit 3 siblings, 1 reply; 6+ messages in thread From: shaibran @ 2024-10-23 9:41 UTC (permalink / raw) To: ferruh.yigit; +Cc: dev, Shai Brandes From: Shai Brandes <shaibran@amazon.com> Removed obsolete devarg enforcing normal llq policy, as its logic is now handled by the new `llq_policy` devarg. Signed-off-by: Shai Brandes <shaibran@amazon.com> --- 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 index a40f09be09..a34575dc9b 100644 --- a/doc/guides/nics/ena.rst +++ b/doc/guides/nics/ena.rst @@ -120,10 +120,6 @@ Runtime Configuration 3 - Enforce large LLQ policy. - * **normal_llq_hdr** (default 0) - - Enforce normal LLQ policy. - * **miss_txc_to** (default 5) Number of seconds after which the Tx packet will be considered missing. -- 2.17.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 3/3] net/ena: remove outdated devarg documentation 2024-10-23 9:41 ` [PATCH 3/3] net/ena: remove outdated devarg documentation shaibran @ 2024-10-30 2:59 ` Ferruh Yigit 0 siblings, 0 replies; 6+ messages in thread From: Ferruh Yigit @ 2024-10-30 2:59 UTC (permalink / raw) To: shaibran; +Cc: dev On 10/23/2024 10:41 AM, shaibran@amazon.com wrote: > From: Shai Brandes <shaibran@amazon.com> > > Removed obsolete devarg enforcing normal llq policy, > as its logic is now handled by the new `llq_policy` devarg. > > Signed-off-by: Shai Brandes <shaibran@amazon.com> > Fixes: d7918d19d25e ("net/ena: restructure LLQ policy user setting") ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/3] net/ena: ena release 2.11.0 2024-10-23 9:41 [PATCH 0/3] net/ena: ena release 2.11.0 shaibran ` (2 preceding siblings ...) 2024-10-23 9:41 ` [PATCH 3/3] net/ena: remove outdated devarg documentation shaibran @ 2024-10-30 2:59 ` Ferruh Yigit 3 siblings, 0 replies; 6+ messages in thread From: Ferruh Yigit @ 2024-10-30 2:59 UTC (permalink / raw) To: shaibran; +Cc: dev On 10/23/2024 10:41 AM, shaibran@amazon.com wrote: > From: Shai Brandes <shaibran@amazon.com> > > 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 error > net/ena: remove outdated devarg documentation > Series applied to dpdk-next-net/main, thanks. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-10-30 3:00 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-10-23 9:41 [PATCH 0/3] net/ena: ena release 2.11.0 shaibran 2024-10-23 9:41 ` [PATCH 1/3] net/ena: upgrade driver version to 2.11.0 shaibran 2024-10-23 9:41 ` [PATCH 2/3] net/ena: support malformed Rx descriptor error shaibran 2024-10-23 9:41 ` [PATCH 3/3] net/ena: remove outdated devarg documentation shaibran 2024-10-30 2:59 ` Ferruh Yigit 2024-10-30 2:59 ` [PATCH 0/3] net/ena: ena release 2.11.0 Ferruh Yigit
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).