[v8,2/4] app/testpmd: handle error recovery notification event
Checks
Commit Message
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
This patch handles error recovery notification event.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
app/test-pmd/parameters.c | 10 ++++++++--
app/test-pmd/testpmd.c | 8 +++++++-
2 files changed, 15 insertions(+), 3 deletions(-)
@@ -175,9 +175,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|recover_success|recover_failed|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|recover_success|recover_failed||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");
@@ -461,6 +461,12 @@ 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, "recover_success"))
+ mask = UINT32_C(1) << RTE_ETH_EVENT_RECOVER_SUCCESS;
+ else if (!strcmp(optarg, "recover_failed"))
+ mask = UINT32_C(1) << RTE_ETH_EVENT_RECOVER_FAILED;
else if (!strcmp(optarg, "all"))
mask = ~UINT32_C(0);
else {
@@ -421,6 +421,9 @@ static const char * const eth_event_desc[] = {
[RTE_ETH_EVENT_DESTROY] = "device released",
[RTE_ETH_EVENT_FLOW_AGED] = "flow aged",
[RTE_ETH_EVENT_RX_AVAIL_THRESH] = "RxQ available descriptors threshold reached",
+ [RTE_ETH_EVENT_ERR_RECOVERING] = "error recovering",
+ [RTE_ETH_EVENT_RECOVER_SUCCESS] = "error recover successful",
+ [RTE_ETH_EVENT_RECOVER_FAILED] = "error recover failed",
[RTE_ETH_EVENT_MAX] = NULL,
};
@@ -435,7 +438,10 @@ 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_RECOVER_SUCCESS) |
+ (UINT32_C(1) << RTE_ETH_EVENT_RECOVER_FAILED);
/*
* Decide if all memory are locked for performance.
*/