Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

B1D - src any, local dst, nmr dst

  • find peer_ni using dst_nid
    • If this is a resend and peer_ni is unhealthy fail the send
    • If this is an original send, then use the peer_ni even if it's not healthy.
  • select the best_ni to send from by going through all the local nis that can reach the dst_nid
    • consider local_ni health in the selection by selecting the local_ni with the best health value.
    • If this is a resend do not select a local_ni that has already been used.
  • send over that path

(Olaf) I'm thinking along these lines:

  • find peer_ni using dst_nid (non-MR, so this is the only peer_ni candidate)
    • no issue if peer_ni is healthy
    • try this peer_ni even if it is unhealthy if this is the 1st attempt to send this message
    • fail if resending to an unhealthy peer_ni
  • pick the preferred NI for this peer_ni if set
    • otherwise pick a healthy local NI and make it the preferred NI for this peer_ni
  • send over this path

B2D - src any, route dst, nmr dst

...