From: Gal Pressman <gal@nvidia.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Tariq Toukan <tariqt@nvidia.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>,
netdev@vger.kernel.org, ttoukan.linux@gmail.com
Subject: Re: MLX driver for host-to-ARM communication
Date: Tue, 1 Sep 2026 11:48:54 +0300 [thread overview]
Message-ID: <c43698bb-d791-4eb5-9cd0-df3d6fd38c66@nvidia.com> (raw)
In-Reply-To: <20260827081529.63513668@kernel.org>
On 27/08/2026 18:15, Jakub Kicinski wrote:
> On Tue, 25 Aug 2026 11:24:08 +0300 Gal Pressman wrote:
>> On 13/08/2026 18:14, Jakub Kicinski wrote:
>>> This will be nacked. We nacked multiple such drivers over the years.
>>> Most recent one not more than a year ago.
>>>
>>> If you model the device as a network node it should be reachable via
>>> the normal networking path. If it's a control channel - explicit
>>> control channel APIs should be built, rather than doing pretend
>>> networking.
>>>
>>> Every IPU vendor gets to this sort of design sooner or later because
>>> it's an easy hack when running a user space SDK. nVidia has clearly
>>> turned from upstream work to pushing your DOCA stack on all customers.
>>> No matter how many shameful lies y'all told about fwctl not being DOCA
>>> related. This is just a next step. But please commence your bullying
>>> campaign. What do I know, right?
>>
>> There are some unrelated accusations here, I'll focus on the technical
>> side of things.
>>
>> No DRAM NIC (NODNIC) is not a new interface designed for BlueField 4 or
>> DOCA. It exists in our NIC since 2015, and implemented in other OSs
>> drivers long before DOCA existed.
>>
>> It is a lightweight NIC PF intended for simple packet transmission with
>> a small memory footprint.
>> It sends and receives ordinary Ethernet frames using SQs, RQs, CQs, and
>> EQs. There is no private encapsulation or command protocol. You can
>> connect this PF to any other NIC on the other side of the wire and it
>> will work.
>>
>> On BlueField 4, the firmware connects the host side NODNIC PF to a peer
>> PF on the DPU side using ordinary vport forwarding rules. The Ethernet
>> packets are forwarded unchanged, both sides are Linux netdevs.
>>
>> The purpose of this is to provide network connectivity between the host
>> and the DPU OS, particularly when the DPU’s OOB port is not connected.
>> Standard networking applications such as ssh and PXE use it.
>>
>> To be clear, there is no hidden FW involvement or handling of the
>> packets, these packets are forwarded as is between both sides.
>> It makes sense to use a networking driver for networking purposes, I
>> don't see how control channel APIs are better for this.
>
> I understand. Having a full networking driver for such point to point
> communication between device FW (/OS running on the device, doesn't
> matter) complicates the system topology, config/init and mixes very
> non-networking requirements with networking. It's a lazy design which
> leads to poor, vendor-specific user experience. The NFP had a similar
> thing, it obviously never made it upstream, but I'm very familiar with
> the implications.
What is the mix of non-networking requirements?
From the networking stack's perspective, this is pretty much the same as
connecting the DPU's OOB port and communicating through that port's netdev.
Also similar to how virtio-net has been used successfully between
hypervisors and VMs for a long time.
I can't comment on other companies' experience, but this driver is
running successfully in our systems, we do not encounter the problems
you described.
What is the basis for the NACK? A technical problem with the networking
driver itself, or a policy objection against this kind of DPU use case?
prev parent reply other threads:[~2026-09-01 8:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-13 8:33 MLX driver for host-to-ARM communication Tariq Toukan
2026-08-13 15:14 ` Jakub Kicinski
2026-08-25 8:24 ` Gal Pressman
2026-08-27 15:15 ` Jakub Kicinski
2026-09-01 8:48 ` Gal Pressman [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=c43698bb-d791-4eb5-9cd0-df3d6fd38c66@nvidia.com \
--to=gal@nvidia.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=tariqt@nvidia.com \
--cc=ttoukan.linux@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox