The preferred NI exists to ensure that a consistent source address is
used when communicating with a non-multi-rail peer. We needn't ever
set a preferred NI for a MR peer.
HPE-bug-id: LUS-9058
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I836a314dbf02d35199c3da2ccea6fb0acbb94b54
Reviewed-on: https://review.whamcloud.com/39229
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet_set_non_mr_pref_nid(struct lnet_peer_ni *lpni, struct lnet_ni *lni,
struct lnet_msg *msg)
{
lnet_set_non_mr_pref_nid(struct lnet_peer_ni *lpni, struct lnet_ni *lni,
struct lnet_msg *msg)
{
- if (!lnet_msg_is_response(msg) && lpni->lpni_pref_nnids == 0) {
+ if (!lnet_peer_is_multi_rail(lpni->lpni_peer_net->lpn_peer) &&
+ !lnet_msg_is_response(msg) && lpni->lpni_pref_nnids == 0) {
CDEBUG(D_NET, "Setting preferred local NID %s on NMR peer %s\n",
libcfs_nid2str(lni->ni_nid),
libcfs_nid2str(lpni->lpni_nid));
CDEBUG(D_NET, "Setting preferred local NID %s on NMR peer %s\n",
libcfs_nid2str(lni->ni_nid),
libcfs_nid2str(lpni->lpni_nid));