All of lore.kernel.org
 help / color / mirror / Atom feed
From: Parav Pandit <parav@mellanox.com>
To: Jiri Pirko <jiri@resnulli.us>
Cc: Jakub Kicinski <jakub.kicinski@netronome.com>,
	"Samudrala, Sridhar" <sridhar.samudrala@intel.com>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"oss-drivers@netronome.com" <oss-drivers@netronome.com>
Subject: RE: [PATCH net-next v2 4/7] devlink: allow subports on devlink PCI ports
Date: Thu, 21 Mar 2019 16:50:37 +0000	[thread overview]
Message-ID: <VI1PR0501MB2271302C6C5AE92B7B311FAAD1420@VI1PR0501MB2271.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <20190321161622.GS2087@nanopsycho>



> -----Original Message-----
> From: Jiri Pirko <jiri@resnulli.us>
> Sent: Thursday, March 21, 2019 11:16 AM
> To: Parav Pandit <parav@mellanox.com>
> Cc: Jakub Kicinski <jakub.kicinski@netronome.com>; Samudrala, Sridhar
> <sridhar.samudrala@intel.com>; davem@davemloft.net;
> netdev@vger.kernel.org; oss-drivers@netronome.com
> Subject: Re: [PATCH net-next v2 4/7] devlink: allow subports on devlink PCI
> ports
> 
> Thu, Mar 21, 2019 at 04:03:58PM CET, parav@mellanox.com wrote:
> >Hi Jiri,
> >
> >> -----Original Message-----
> >> From: Jiri Pirko <jiri@resnulli.us>
> >> Sent: Thursday, March 21, 2019 4:08 AM
> >> To: Jakub Kicinski <jakub.kicinski@netronome.com>
> >> Cc: Parav Pandit <parav@mellanox.com>; Samudrala, Sridhar
> >> <sridhar.samudrala@intel.com>; davem@davemloft.net;
> >> netdev@vger.kernel.org; oss-drivers@netronome.com
> >> Subject: Re: [PATCH net-next v2 4/7] devlink: allow subports on
> >> devlink PCI ports
> >>
> >> Wed, Mar 20, 2019 at 09:22:57PM CET, jakub.kicinski@netronome.com
> >> wrote:
> >> >On Wed, 20 Mar 2019 18:24:15 +0000, Parav Pandit wrote:
> >> >> Hi Jiri, Jakub, Samudrala Sridhar,
> >> >> > > > > > And physical port in include/uapi/linux/devlink.h also
> >> >> > > > > > describe that.
> >> >> > > > >
> >> >> > > > > By "that" you must mean that the physical is a user facing port.
> >> >> > > >
> >> >> > > > Can you please describe the difference between 'PF port' and
> >> >> > > > 'physical port of include/uapi/linux/devlink.h'? I must have
> >> >> > > > missed this crisp definition in discussion between you and
> >> >> > > > Jiri. I am in meantime checking the thread.
> >> >> > >
> >> >> > > Perhaps start with the cover letter which includes an ASCII
> drawing?
> >> >> > >
> >> >> > > Using Mellanox nomenclature - PF port is a "representor" for
> >> >> > > the PF which may be on another Host (SmartNIC or multihost).
> >> >> > > It's pretty much the same thing as a VF port/"representor".
> >> >> > >
> >> >> > Yes. We are aligned here. :-)
> >> >> > I see your point, where in multi-host scenario, a physical port
> >> >> > may be 1, but PF ports are 4, because of 4 PFs for 4 hosts.
> >> >> > (just an example of 4 hosts with their own mac address sharing 1
> >> >> > physical port).
> >> >> >
> >> >> > When there is no multihost and one to one mapping between a PF
> >> >> > and physical links, there is some overlap between PF port and
> >> >> > physical port attributes.
> >> >> > I believe, such overlap is fine as long as we have unique
> >> >> > indices for the
> >> ports.
> >> >> >
> >> >> > So I am ok to have flavours as
> physical/cpu/dsa/pf/vf/mdev/switchport.
> >> >> > (last 4 as new port flavours).
> >> >> >
> >> >> > > Physical port is the hole on the panel of the adapter where
> >> >> > > cable
> >> goes.
> >> >>
> >> >> So my take away from above discussion are:
> >> >> 1. Following new port flavours should be added
> >> pci_pf/pci_vf/mdev/switchport.
> >> >> a. Switchport indicates port on the eswitch. Normally this port
> >> >> has rep-
> >> netdev attached to it.
> >> >
> >> >I don't understand the "switchport".  Surely physical ports are also
> >> >attached to the eswitch?  And one of the main purpose of adding the
> >> >pci_pf/pci_vf flavours was to generate phys_port_name for the port
> >> >netdevs.
> >> >
> >> >Please don't use the term representor if possible.  Representor for
> >> >most developers describes the way the netdev is implemented in the
> >> >driver, so for Mellanox and Netronome different ports will be
> >> >representors and non-representors.  That's why I prefer port netdev
> >> >(attached to eswitch, has switch_id) and host netdev (PF/VF netdev,
> >> >vNIC, VSI, etc).
> >> >
> >> >> b. host side port flavours are pci_pf/pci_vf/mdev which may be
> >> >> connected to switchport
> >> >
> >> >See above, pci_pf/pci_vf are needed for phys_port_name generation.
> >>
> >> Yep, that makes sense.
> >>
> >>
> >> >
> >> >> 2. host side port flavours are not limited to Ethernet, as it is
> >> >> for devlink's
> >> port instance.
> >> >>
> >> >> 3. Each port is continue to be accessed using unique port index.
> >> >>
> >> >> 4. host side ports and switchport are control objects.
> >> >> a. switch side ports reside where current eswitch object of
> >> >> devlink instance reside b. for a given VF/PF/mdev such host side
> >> >> ports may be in hypervisor or VM or both depending on the
> >> >> privilege
> >> >>
> >> >> 5. eth.mac_address, rdma.port_guid can be programmed at host port
> >> >> flavours by extending as $ devlink port param set...
> >> >> (similar to devlink dev param set)
> >> >
> >> >You can keep restating that's your position, but I have *not*
> >> >conceded to that.
> >>
> >> I'm also not convinced that host dummy ports are good idea to hold
> these.
> >>
> >>
> >I didn't understand what do you mean my dummy port.
> 
> It's a port for a VF host port which is not actually in the host but in the vm.
> Very confusing.
> 
It is the vf_ctrl flavour. I don't see it any different than rep-netdev.
rep-netdev is not that confusing to us that represent eswitch vport.
Why vf_ctrl flavour port that represents otherside of the pipe as you have shown in example?
Why it that confusing?


> >Can you explain what is wrong in programming host port params using
> host_port object?
> >Few questions are unanswered in my past 2 or 3 emails.
> >Can you please go through them?
> >Can you point to some example switch API where you program host params
> at switch?
> >
> >> >
> >> >> 6. more host port params can be added in future when user need
> >> >> arise
> >> >>
> >> >> 7. rep-netdev continue to be eswitch (switchport) representor at
> >> >> the
> >> switch side.
> >> >> a. Hence rep-netdev cannot be used for programming host port's
> >> parameters.
> >> >>
> >> >> 8. eswitch devlink instance knows when VF/PF/mdev's switchport are
> >> created/removed.
> >> >> Hence, those will be created/deleted by eswitch.
> >> >> Similarly for host port flavours too.
> >> >>
> >> >> Does it look fine? Did I miss something?
> >> >> We would like to progress on incremental patches for item-4 and
> >> >> any prep work needed to reach to item-4.

  reply	other threads:[~2019-03-21 16:50 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-01 18:04 [PATCH net-next v2 0/7] devlink: expose PF and VF representors as ports Jakub Kicinski
2019-03-01 18:04 ` [PATCH net-next v2 1/7] nfp: split devlink port init from registration Jakub Kicinski
2019-03-01 18:04 ` [PATCH net-next v2 2/7] devlink: add PF and VF port flavours Jakub Kicinski
2019-03-01 18:04 ` [PATCH net-next v2 3/7] nfp: register devlink ports of all reprs Jakub Kicinski
2019-03-02  8:43   ` Jiri Pirko
2019-03-02 19:07     ` Jakub Kicinski
2019-03-04  7:36       ` Jiri Pirko
2019-03-04 23:32         ` Jakub Kicinski
2019-03-01 18:04 ` [PATCH net-next v2 4/7] devlink: allow subports on devlink PCI ports Jakub Kicinski
2019-03-02  9:41   ` Jiri Pirko
2019-03-02 19:48     ` Jakub Kicinski
2019-03-04  7:56       ` Jiri Pirko
2019-03-05  0:33         ` Jakub Kicinski
2019-03-05 11:06           ` Jiri Pirko
2019-03-05 17:15             ` Jakub Kicinski
2019-03-05 19:59               ` Parav Pandit
2019-03-06 12:20               ` Jiri Pirko
2019-03-06 17:56                 ` Jakub Kicinski
2019-03-07  3:56                   ` Parav Pandit
2019-03-07  9:48                   ` Jiri Pirko
2019-03-08  2:52                     ` Jakub Kicinski
2019-03-08 14:54                       ` Jiri Pirko
2019-03-08 19:09                         ` Jakub Kicinski
2019-03-11  8:52                           ` Jiri Pirko
2019-03-12  2:10                             ` Jakub Kicinski
2019-03-12 14:02                               ` Jiri Pirko
2019-03-12 20:56                                 ` Jakub Kicinski
2019-03-13  6:07                                   ` Jiri Pirko
2019-03-13 16:17                                     ` Jakub Kicinski
2019-03-13 16:22                                       ` Jiri Pirko
2019-03-13 16:55                                         ` Jakub Kicinski
2019-03-14  7:38                                           ` Jiri Pirko
2019-03-14 22:09                                             ` Jakub Kicinski
2019-03-14 22:35                                               ` Parav Pandit
2019-03-14 23:39                                                 ` Jakub Kicinski
2019-03-15  1:28                                                   ` Parav Pandit
2019-03-15  1:31                                                     ` Parav Pandit
2019-03-15  2:15                                                     ` Samudrala, Sridhar
2019-03-15  2:40                                                       ` Parav Pandit
     [not found]                                                         ` <ae938b4f-5fa9-3c33-8ae6-eab2d3d9f1ec@intel.com>
2019-03-15 15:32                                                           ` Parav Pandit
2019-03-15 20:08                                                             ` Jiri Pirko
2019-03-15 20:44                                                               ` Jakub Kicinski
2019-03-15 22:12                                                                 ` Parav Pandit
2019-03-16  1:16                                                                   ` Jakub Kicinski
2019-03-18 15:43                                                                     ` Parav Pandit
2019-03-18 19:29                                                                       ` Jakub Kicinski
2019-03-18 12:11                                                                 ` Jiri Pirko
2019-03-18 19:16                                                                   ` Jakub Kicinski
2019-03-21  8:45                                                                     ` Jiri Pirko
2019-03-21 15:14                                                                       ` Parav Pandit
2019-03-21 16:14                                                                         ` Jiri Pirko
2019-03-21 16:52                                                                           ` Parav Pandit
2019-03-21 17:20                                                                             ` Jiri Pirko
2019-03-21 17:34                                                                               ` Parav Pandit
2019-03-22 16:27                                                                                 ` Jiri Pirko
2019-03-23  0:37                                                                                   ` Parav Pandit
2019-03-15 21:59                                                               ` Parav Pandit
2019-03-18 12:21                                                                 ` Jiri Pirko
2019-03-18 15:56                                                                   ` Parav Pandit
2019-03-18 16:22                                                                     ` Parav Pandit
2019-03-18 19:36                                                                       ` Jakub Kicinski
2019-03-18 19:44                                                                         ` Parav Pandit
2019-03-18 19:59                                                                           ` Jakub Kicinski
2019-03-18 20:35                                                                             ` Parav Pandit
2019-03-18 21:29                                                                               ` Jakub Kicinski
2019-03-18 22:11                                                                                 ` Parav Pandit
2019-03-20 18:24                                                                                   ` Parav Pandit
2019-03-20 20:22                                                                                     ` Jakub Kicinski
2019-03-20 23:39                                                                                       ` Parav Pandit
2019-03-21  9:08                                                                                       ` Jiri Pirko
2019-03-21 15:03                                                                                         ` Parav Pandit
2019-03-21 16:16                                                                                           ` Jiri Pirko
2019-03-21 16:50                                                                                             ` Parav Pandit [this message]
2019-03-21 17:23                                                                                               ` Jiri Pirko
2019-03-21 17:42                                                                                                 ` Parav Pandit
2019-03-22 13:32                                                                                                   ` Jiri Pirko
2019-03-23  0:40                                                                                                     ` Parav Pandit
2019-03-25 20:34                                                                                                       ` Parav Pandit
2019-03-18 19:19                                                                   ` Jakub Kicinski
2019-03-18 19:38                                                                     ` Parav Pandit
2019-03-21  9:09                                                                     ` Jiri Pirko
2019-03-15  7:00                                               ` Jiri Pirko
     [not found]                                 ` <7227d58e-ac58-d549-b921-ca0a0dd3f4b0@intel.com>
2019-03-13  7:37                                   ` Jiri Pirko
2019-03-13 16:03                                     ` Samudrala, Sridhar
2019-03-13 16:24                                       ` Jiri Pirko
2019-03-04 11:19       ` Jiri Pirko
2019-03-05  0:40         ` Jakub Kicinski
2019-03-05 11:07           ` Jiri Pirko
2019-03-04 11:08   ` Jiri Pirko
2019-03-05  0:51     ` Jakub Kicinski
2019-03-05 11:09       ` Jiri Pirko
2019-03-01 18:04 ` [PATCH net-next v2 5/7] nfp: switch to devlink_port_get_phys_port_name() Jakub Kicinski
2019-03-01 18:04 ` [PATCH net-next v2 6/7] devlink: introduce port's peer netdevs Jakub Kicinski
2019-03-01 18:04 ` [PATCH net-next v2 7/7] nfp: expose PF " Jakub Kicinski
2019-03-02 10:13 ` [PATCH net-next v2 0/7] devlink: expose PF and VF representors as ports Jiri Pirko
2019-03-02 19:49   ` [oss-drivers] " Jakub Kicinski
2019-03-04  5:12   ` Parav Pandit
2019-03-04 18:22 ` David Miller
2019-03-20 20:25 ` Jakub Kicinski
2019-03-21  9:11   ` Jiri Pirko

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=VI1PR0501MB2271302C6C5AE92B7B311FAAD1420@VI1PR0501MB2271.eurprd05.prod.outlook.com \
    --to=parav@mellanox.com \
    --cc=davem@davemloft.net \
    --cc=jakub.kicinski@netronome.com \
    --cc=jiri@resnulli.us \
    --cc=netdev@vger.kernel.org \
    --cc=oss-drivers@netronome.com \
    --cc=sridhar.samudrala@intel.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.