From: Jakub Kicinski <kuba@kernel.org>
To: Mark Bloch <mbloch@nvidia.com>
Cc: Moshe Shemesh <moshe@nvidia.com>,
netdev@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
Donald Hunter <donald.hunter@gmail.com>,
Jiri Pirko <jiri@resnulli.us>, Jonathan Corbet <corbet@lwn.net>,
Andrew Lunn <andrew+netdev@lunn.ch>,
Tariq Toukan <tariqt@nvidia.com>
Subject: Re: [RFC net-next 0/5] devlink: Add unique identifier to devlink port function
Date: Tue, 6 May 2025 08:20:32 -0700 [thread overview]
Message-ID: <20250506082032.1ab8f397@kernel.org> (raw)
In-Reply-To: <c19e7dec-7aae-449d-b454-4078c8fbd926@nvidia.com>
On Tue, 6 May 2025 14:25:10 +0300 Mark Bloch wrote:
> > Thanks for explaining the setup. Could you please explain the user
> > scenario now? Perhaps thinking of it as a sequence diagram would
> > be helpful, but whatever is easiest, just make it concrete.
> >
>
> It's a rough flow, but I believe it clearly illustrates the use case
> we're targeting:
>
> Some system configuration info:
>
> - A static mapping file exists that defines the relationship between
> a host and the corresponding ARM/DPU host that manages it.
>
> - OVN, OVS and Kubernetes are used to manage network connectivity and
> resource allocation.
>
> Flow:
> 1. A user requests a container with networking connectivity.
> 2. Kubernetes allocates a VF on host X. An agent on the host handles VF
> configuration and sends the PF number and VF index to the central
> management software.
What is "central management software" here? Deployment specific or
some part of k8s?
> 3. An agent on the DPU side detects the changes made on host X. Using
> the PF number and VF index, it identifies the corresponding
> representor, attaches it to an OVS bridge, and allows OVN to program
> the relevant steering rules.
What does it mean that DPU "detects it", what's the source and
mechanism of the notification?
Is it communicating with the central SW during the process?
> This setup works well when the mapping file defines a one-to-one
> relationship between a host and a single ARM/DPU host.
> It's already supported in upstream today [1]
>
> However, in a slightly more generic scenario like:
>
> Control Host A: External host X
> External host Y
>
> A single ARM/DPU host manages multiple external hosts. In this case, step
> 2—where only the PF number and VF index are sent is insufficient. During
> step 3, the agent on the DPU reads the data but cannot determine which
> external host created the VF. As a result, it cannot correctly associate
> the representor with the appropriate OVS bridge.
>
> To resolve this, we plan to modify step 2 to include the VUID along with
> the PF number and VF index. The DPU-side agent will use the VUID to match
> it with the FUID, identify the correct PF representor, and then use
> standard devlink mechanisms to locate the corresponding VF representor.
>
> 1: https://github.com/ovn-kubernetes/ovn-kubernetes
> You can look at: go-controller/pkg/util/dpu_annotations.go for more info.
A link to the actual file / relevant code would be more helpful :(
next prev parent reply other threads:[~2025-05-06 15:20 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-23 13:50 [RFC net-next 0/5] devlink: Add unique identifier to devlink port function Moshe Shemesh
2025-04-23 13:50 ` [RFC net-next 1/5] " Moshe Shemesh
2025-04-28 12:33 ` Simon Horman
2025-04-29 9:33 ` Avihai Horon
2025-04-23 13:50 ` [RFC net-next 2/5] net/mlx5: Move mlx5_cmd_query_vuid() from IB to core Moshe Shemesh
2025-04-23 13:50 ` [RFC net-next 3/5] net/mlx5: Add vhca_id argument to mlx5_core_query_vuid() Moshe Shemesh
2025-04-23 13:50 ` [RFC net-next 4/5] net/mlx5: Add define for max VUID string size Moshe Shemesh
2025-04-23 13:50 ` [RFC net-next 5/5] net/mlx5: Expose unique identifier in devlink port function Moshe Shemesh
2025-04-24 23:24 ` [RFC net-next 0/5] devlink: Add unique identifier to " Jakub Kicinski
2025-04-25 11:26 ` Jiri Pirko
2025-04-25 17:51 ` Jakub Kicinski
2025-04-28 16:30 ` Jiri Pirko
2025-04-28 12:11 ` Moshe Shemesh
2025-04-28 18:19 ` Jakub Kicinski
2025-04-29 8:37 ` Moshe Shemesh
2025-05-02 0:39 ` Jakub Kicinski
2025-05-04 17:46 ` Mark Bloch
2025-05-05 18:55 ` Jakub Kicinski
2025-05-06 11:25 ` Mark Bloch
2025-05-06 15:20 ` Jakub Kicinski [this message]
2025-05-06 15:34 ` Mark Bloch
2025-05-08 0:43 ` Jakub Kicinski
2025-05-08 9:04 ` Mark Bloch
2025-05-14 12:01 ` Mark Bloch
2025-05-14 14:52 ` Jakub Kicinski
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=20250506082032.1ab8f397@kernel.org \
--to=kuba@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=donald.hunter@gmail.com \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=jiri@resnulli.us \
--cc=mbloch@nvidia.com \
--cc=moshe@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=tariqt@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.