@@ -192,9 +192,9 @@ usage(char* progname)
printf(" --no-rmv-interrupt: disable device removal interrupt.\n");
printf(" --bitrate-stats=N: set the logical core N to perform "
"bit-rate calculation.\n");
- printf(" --print-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|flow_aged|all>: "
+ printf(" --print-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|flow_aged|err_recovering|recovered|all>: "
"enable print of designated event or all of them.\n");
- printf(" --mask-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|flow_aged|all>: "
+ printf(" --mask-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|flow_aged|err_recovering|recovered|all>: "
"disable print of designated event or all of them.\n");
printf(" --flow-isolate-all: "
"requests flow API isolated mode on all ports at initialization time.\n");
@@ -556,6 +556,10 @@ parse_event_printing_config(const char *optarg, int enable)
mask = UINT32_C(1) << RTE_ETH_EVENT_DESTROY;
else if (!strcmp(optarg, "flow_aged"))
mask = UINT32_C(1) << RTE_ETH_EVENT_FLOW_AGED;
+ else if (!strcmp(optarg, "err_recovering"))
+ mask = UINT32_C(1) << RTE_ETH_EVENT_ERR_RECOVERING;
+ else if (!strcmp(optarg, "recovered"))
+ mask = UINT32_C(1) << RTE_ETH_EVENT_RECOVERED;
else if (!strcmp(optarg, "all"))
mask = ~UINT32_C(0);
else {
@@ -380,6 +380,8 @@ static const char * const eth_event_desc[] = {
[RTE_ETH_EVENT_NEW] = "device probed",
[RTE_ETH_EVENT_DESTROY] = "device released",
[RTE_ETH_EVENT_FLOW_AGED] = "flow aged",
+ [RTE_ETH_EVENT_ERR_RECOVERING] = "device error under recovery",
+ [RTE_ETH_EVENT_RECOVERED] = "device recovered",
[RTE_ETH_EVENT_MAX] = NULL,
};
@@ -394,7 +396,9 @@ uint32_t event_print_mask = (UINT32_C(1) << RTE_ETH_EVENT_UNKNOWN) |
(UINT32_C(1) << RTE_ETH_EVENT_IPSEC) |
(UINT32_C(1) << RTE_ETH_EVENT_MACSEC) |
(UINT32_C(1) << RTE_ETH_EVENT_INTR_RMV) |
- (UINT32_C(1) << RTE_ETH_EVENT_FLOW_AGED);
+ (UINT32_C(1) << RTE_ETH_EVENT_FLOW_AGED) |
+ (UINT32_C(1) << RTE_ETH_EVENT_ERR_RECOVERING) |
+ (UINT32_C(1) << RTE_ETH_EVENT_RECOVERED);
/*
* Decide if all memory are locked for performance.
*/
@@ -78,11 +78,21 @@ New Features
``--portmask=N``
where N represents the hexadecimal bitmask of ports used.
+* **Added error recovery support.**
+
+ Added error recovery support to detect and recover from device errors including:
+
+ * Added new event: ``RTE_ETH_EVENT_ERR_RECOVERING`` for the driver to report
+ that the port is recovering from an error.
+ * Added new event: ``RTE_ETH_EVENT_RECOVERED`` for the driver to report
+ that the port has recovered from an error.
+
* **Updated Broadcom bnxt driver.**
Updated the Broadcom bnxt driver with new features and improvements, including:
* Added support for 200G PAM4 link speed.
+ * Added support to handle device recovery events.
Removed Items