Skip to content

Commit

Permalink
providers/efa: Handle unreachable error code
Browse files Browse the repository at this point in the history
EFA device now reports different error codes for a case were
a remote was never responsive Vs became unresponsive.

Reviewed-by: Michael Margolin <mrgolin@amazon.com>
Reviewed-by: Yonatan Nachum <ynachum@amazon.com>
Signed-off-by: Yehuda Yitschak <yehuday@amazon.com>
  • Loading branch information
Yehuda Yitschak authored and mrgolin committed Oct 21, 2024
1 parent f5475dd commit e667779
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 1 deletion.
4 changes: 3 additions & 1 deletion providers/efa/efa_io_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,12 @@ enum efa_io_comp_status {
EFA_IO_COMP_STATUS_REMOTE_ERROR_BAD_LENGTH = 11,
/* Unexpected status returned by responder */
EFA_IO_COMP_STATUS_REMOTE_ERROR_BAD_STATUS = 12,
/* Unresponsive remote - detected locally */
/* Unresponsive remote - was previously responsive */
EFA_IO_COMP_STATUS_LOCAL_ERROR_UNRESP_REMOTE = 13,
/* No valid AH at remote side (required for RDMA operations) */
EFA_IO_COMP_STATUS_REMOTE_ERROR_UNKNOWN_PEER = 14,
/* Unreachable remote - never received a response */
EFA_IO_COMP_STATUS_LOCAL_ERROR_UNREACH_REMOTE = 15,
};

struct efa_io_tx_meta_desc {
Expand Down
1 change: 1 addition & 0 deletions providers/efa/verbs.c
Original file line number Diff line number Diff line change
Expand Up @@ -470,6 +470,7 @@ static enum ibv_wc_status to_ibv_status(enum efa_io_comp_status status)
case EFA_IO_COMP_STATUS_REMOTE_ERROR_BAD_LENGTH:
return IBV_WC_REM_INV_REQ_ERR;
case EFA_IO_COMP_STATUS_LOCAL_ERROR_UNRESP_REMOTE:
case EFA_IO_COMP_STATUS_LOCAL_ERROR_UNREACH_REMOTE:
return IBV_WC_RESP_TIMEOUT_ERR;
case EFA_IO_COMP_STATUS_REMOTE_ERROR_BAD_ADDRESS:
return IBV_WC_REM_ACCESS_ERR;
Expand Down

0 comments on commit e667779

Please # to comment.