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

Jiri Pirko
2019-03-11T09:02:27Z

Fri, Mar 08, 2019 at 08:09:43PM CET, jakub.kicinski@netronome.com wrote:
>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?

Correct.

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

Makes sense.

>
>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.

You mean orchestration? I originally planned to implement sriov
orchestration api in devlink too.

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