Re: [PATCH net-next v2 4/7] devlink: allow subports on devlink PCI ports

Jakub Kicinski
2019-03-08T19:09:57Z

On Fri, 8 Mar 2019 15:54:21 +0100, Jiri Pirko wrote:
> Fri, Mar 08, 2019 at 03:52:02AM CET, jakub.kicinski@netronome.com wrote:
> >On Thu, 7 Mar 2019 10:48:16 +0100, Jiri Pirko wrote:
> >> Wed, Mar 06, 2019 at 06:56:38PM CET, jakub.kicinski@netronome.com wrote:
> >> >On Wed, 6 Mar 2019 13:20:37 +0100, Jiri Pirko wrote:
> >> >For creating subdevices, I don't think the handle should ever be port.
> >> >We create new ports on a devlink instance, and configure its forwarding
> >>
> >> Okay I agree. Something like:
> >> $ devlink port add pci/0000:00:10.0 .....
> >>
> >> It's a bit confusing because "set" accepts port handle (like
> >> pci/0000:00:10.0/1). Probably better would be:
> >> $ devlink dev port add pci/0000:00:10.0 .....
> >>
> >> >with offloads of well established Linux SW constructs. New devices are
> >> >not logically associated with other ports (see how in my patches there
> >> >are 2 "subports" but no main port on that PF - a split not a hierarchy).
> >>
> >> Right, basically you have 2 equal objects. Makes sense.
> >>
> >> >How we want to model forwarding inside a VM (who configures the
> >> >underlying switching) remains unclear.
> >>
> >> I don't understand. Could you elaborate a bit?
> >
> >If VF in a VM gets a partitioning request does the new port pop up on
> >the hypervisor? With a port netdev?
>
> Switchport in hypervizor with correct switchid attribute, hostport in
> vm. Makes sense?

If the switchport is in the hypervisor then only the hypervisor can
control switching/forwarding, correct?

The primary use case for partitioning within a VM (of a VF) would be
containers (and DPDK)?

SR-IOV makes things harder. Splitting a PF is reasonably easy to grasp.
I'm trying to get a sense of is how would we control an SR-IOV
environment as a whole.

> >Does the VF also create a port object as well as host port object?
> >
> >That question is probably independent of host port discussion.