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: support get port error handling mode 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 --- 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 | 4 ++ app/test-pmd/parameters.c | 10 ++++- app/test-pmd/testpmd.c | 8 +++- doc/guides/prog_guide/poll_mode_drv.rst | 39 +++++++++++++++++++ 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 | 52 ++++++++++++++++++++++++- 15 files changed, 173 insertions(+), 5 deletions(-) -- 2.17.1