This patchset introduce error handling mode concept, the supported modes are as follows:
1) PASSIVE: passive error handling, after the PMD detect that a reset is required, the PMD reports RTE_ETH_EVENT_INTR_RESET event, and application invoke rte_eth_dev_reset to recover the port. 2) PROACTIVE: proactive error handling, after the PMD detect that a reset is required, the PMD reports RTE_ETH_EVENT_ERR_RECOVERING event, and do recovery internally, finally, reports the recovery result event. Chengwen Feng (2): ethdev: add error handling mode to device info net/hns3: support proactive error handling mode Kalesh AP (3): ethdev: support proactive error handling mode app/testpmd: support error handling mode event net/bnxt: support proactive error handling mode --- v13: Address comments from Andrew (rework part of rst). v12: Address comments from Andrew. v11: Fix clang-static fail due wrong experimental placement. v10: Accurately describe the recovery success scenario so that addressed comments from Ferruh. v9: Introduce error handling mode concept. Addressed comments from Thomas and Ray. v8: Addressed comments from Thomas and Ferruh. Also introduced RECOVER_FAIL event. Add hns3 driver patch. v7: Addressed comments from Thomas and Andrew. v6: Addressed comments from Asaf Penso. 1. Updated 20.11 release notes with the new events added. 2. updated testpmd parse_event_printing_config function. v5: Addressed comments from Ophir Munk. 1. Renamed the new event name to RTE_ETH_EVENT_ERR_RECOVERING. 2. Fixed testpmd logs. 3. Documented the new recovery events. v4: Addressed comments from Thomas Monjalon 1. Added doxygen comments about new events. V3: Fixed a typo in commit log. V2: Added a new event RTE_ETH_EVENT_RESET instead of using the RTE_ETH_EVENT_INTR_RESET to notify applications about device reset. app/test-pmd/config.c | 15 +++++ app/test-pmd/parameters.c | 10 +++- app/test-pmd/testpmd.c | 8 ++- doc/guides/prog_guide/poll_mode_drv.rst | 41 +++++++++++++ doc/guides/rel_notes/release_22_11.rst | 12 ++++ drivers/net/bnxt/bnxt_cpr.c | 4 ++ drivers/net/bnxt/bnxt_ethdev.c | 13 ++++- drivers/net/e1000/igb_ethdev.c | 2 + drivers/net/ena/ena_ethdev.c | 2 + drivers/net/hns3/hns3_common.c | 2 + drivers/net/hns3/hns3_intr.c | 24 ++++++++ drivers/net/iavf/iavf_ethdev.c | 2 + drivers/net/ixgbe/ixgbe_ethdev.c | 2 + drivers/net/txgbe/txgbe_ethdev_vf.c | 2 + lib/ethdev/rte_ethdev.h | 77 +++++++++++++++++++++++++ 15 files changed, 212 insertions(+), 4 deletions(-) -- 2.17.1