From: Alex Timofeyev <sashka@ankey.net>
To: Jason Gunthorpe <jgg@ziepe.ca>, Leon Romanovsky <leon@kernel.org>,
linux-rdma@vger.kernel.org
Cc: Parav Pandit <parav@nvidia.com>,
Edward Srouji <edwards@nvidia.com>,
Vlad Dumitrescu <vdumitrescu@nvidia.com>,
stable@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH rdma-next v1 0/2] RDMA: fix cross-NIC same-host IPv6 RDMA-CM connect
Date: Wed, 17 Jun 2026 02:02:12 +0000 [thread overview]
Message-ID: <1781661732.reply1-sashka@ankey.net> (raw)
In-Reply-To: <1781545579.1-sashka@ankey.net>
> You need to setup policy routing or a VRF so these local routes don't
> show up the way they do. We shouldn't be mangling the loopback routes
> in the kernel, and removing the check is not correct.
You're right, and thanks for pushing back on this.
I've been testing VRF all day and it solves the problem completely,
with no kernel changes. Putting each NIC in its own VRF moves that
NIC's addresses out of the global v6 local table (255), so the
cross-NIC same-host destination no longer collapses to lo -- it
resolves on-wire to the real egress device:
# enp49s0np0 -> vrfdata0 (table 100), enp193s0np0 -> vrfdata1 (101)
$ ip -6 route get <dst-on-other-local-nic> from <src> oif enp49s0np0
... dev enp49s0np0 ... # was: local ... dev lo
So neither addr_resolve_neigh() nor validate_ipv6_net_dev() ever hits
the local shortcut my patches were rewriting. The check stays correct
and the loopback routes stay untouched, exactly as you said.
I validated it with the actual workload that motivated the series, not
just rping: a 3-node DAOS cluster (two engines per host, one per NUMA
NIC) on a kernel WITHOUT these two patches -- only the upstream prereqs
fa29d1e8877b + c31e4038c97f. All 6 ranks join and stay joined, and a
pool created across all of them comes up healthy. That covers both the
same-host cross-NIC path and the cross-host path, all over v6 RoCEv2.
One observation in case it's useful to others who hit this: VRF
self-RPC relies on c31e4038c97f -- once an address is homed in a VRF
table, is_dst_local() needs the RTF_LOCAL test rather than the old
IFF_LOOPBACK one to still recognize it as local. That commit is in
v6.18 but not in linux-6.6.y, which is the stable base we (and
presumably other RoCE-on-6.6 users) are on; might be worth a stable
backport on its own merits, independent of this series.
Given all that, please drop this series -- I'm withdrawing it. The
right fix here is configuration, not a kernel patch. Appreciate the
review and the steer toward VRF.
Thanks,
Alex
prev parent reply other threads:[~2026-06-17 2:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-15 17:46 [PATCH rdma-next v1 0/2] RDMA: fix cross-NIC same-host IPv6 RDMA-CM connect Alex Timofeyev
2026-06-15 17:46 ` [PATCH rdma-next v1 1/2] RDMA/core: use destination netdev MAC for cross-NIC same-host local dst Alex Timofeyev
2026-06-15 17:46 ` [PATCH rdma-next v1 2/2] RDMA/cma: accept cross-NIC same-host local dst in validate_ipv6_net_dev Alex Timofeyev
2026-06-15 23:59 ` [PATCH rdma-next v1 0/2] RDMA: fix cross-NIC same-host IPv6 RDMA-CM connect Jason Gunthorpe
2026-06-17 2:02 ` Alex Timofeyev [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1781661732.reply1-sashka@ankey.net \
--to=sashka@ankey.net \
--cc=edwards@nvidia.com \
--cc=jgg@ziepe.ca \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=parav@nvidia.com \
--cc=stable@vger.kernel.org \
--cc=vdumitrescu@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.