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

From: Jiri Pirko <[email-masked]>
Date: Mon, 11 Mar 2019 09:52:04 +0100

Fri, Mar 08, 2019 at 08:09:43PM CET, [email-masked] wrote:
>On Fri, 8 Mar 2019 15:54:21 +0100, Jiri Pirko wrote:
>> Fri, Mar 08, 2019 at 03:52:02AM CET, [email-masked] wrote:
>> >On Thu, 7 Mar 2019 10:48:16 +0100, Jiri Pirko wrote:  
>> >> Wed, Mar 06, 2019 at 06:56:38PM CET, [email-masked] 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.  
>