All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: "Xu, Rosen" <rosen.xu@intel.com>
Cc: Matan Azrad <matan@mellanox.com>,
	Maxime Coquelin <maxime.coquelin@redhat.com>,
	"Bie, Tiwei" <tiwei.bie@intel.com>,
	"Wang, Zhihong" <zhihong.wang@intel.com>,
	"Wang, Xiao W" <xiao.w.wang@intel.com>,
	"Yigit, Ferruh" <ferruh.yigit@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>, "Pei, Andy" <andy.pei@intel.com>,
	Roni Bar Yanai <roniba@mellanox.com>
Subject: Re: [dpdk-dev] [PATCH v1 0/3] Introduce new class for vDPA	device drivers
Date: Fri, 10 Jan 2020 17:27:15 +0100	[thread overview]
Message-ID: <2202832.yKrmzQ4Hd0@xps> (raw)
In-Reply-To: <0E78D399C70DA940A335608C6ED296D73AC890D1@SHSMSX104.ccr.corp.intel.com>

10/01/2020 15:18, Xu, Rosen:
> From: Thomas Monjalon <thomas@monjalon.net>
> > 10/01/2020 03:38, Xu, Rosen:
> > > From: Matan Azrad <matan@mellanox.com>
> > > > From: Xu, Rosen <rosen.xu@intel.com>
> > > > > From: Thomas Monjalon <thomas@monjalon.net>
> > > > > > 09/01/2020 03:27, Xu, Rosen:
> > > > > > > From: Thomas Monjalon <thomas@monjalon.net>
> > > > > > > > 08/01/2020 13:39, Xu, Rosen:
> > > > > > > > > From: Matan Azrad <matan@mellanox.com>
> > > > > > > > > > From: Xu, Rosen
> > > > > > > > > > > Did you think about OVS DPDK?
> > > > > > > > > > > vDPA is a basic module for OVS, currently it will take
> > > > > > > > > > > some exception path packet processing for OVS, so it
> > > > > > > > > > > still needs to integrate
> > > > > > > > eth_dev.
> > > > > > > > > >
> > > > > > > > > > I don't understand your question.
> > > > > > > > > >
> > > > > > > > > > What do you mean by "integrate eth_dev"?
> > > > > > > > >
> > > > > > > > > My questions is in OVS DPDK scenario vDPA device
> > > > > > > > > implements eth_dev ops, so create a new class and move ifc
> > > > > > > > > code to this new class
> > > > > > is not ok.
> > > > > > > >
> > > > > > > > 1/ I don't understand the relation with OVS.
> > > > > > > >
> > > > > > > > 2/ no, vDPA device implements vDPA ops.
> > > > > > > > If it implements ethdev ops, it is an ethdev device.
> > > > > > > >
> > > > > > > > Please show an example of what you claim.
> > > > > > >
> > > > > > > Answers of 1 and 2.
> > > > > > >
> > > > > > > In OVS DPDK, each network device(such as NIC, vHost etc) of
> > > > > > > DPDK needs to be implemented as rte_eth_dev and provides
> > > > > > > eth_dev_ops
> > > > > such
> > > > > > > as
> > > > > > packet TX/RX for OVS.
> > > > > >
> > > > > > No, OVS is also using the vhost API for vhost port.
> > > > >
> > > > > Yes, vhost pmd is not a good example.
> > > > >
> > > > > > > Take vHost(Virtio back end) for example, OVS startups vHost
> > > > > > > interface like
> > > > > > this:
> > > > > > > ovs-vsctl add-port br0 vhost-user-1 -- set Interface
> > > > > > > vhost-user-1 type=dpdkvhostuser drivers/net/vhost implements
> > > > > > > vHost as
> > > > > rte_eth_dev
> > > > > > and integrated in OVS.
> > > > > > > OVS can send/receive packets to/from VM with
> > > > > > > rte_eth_tx_burst()
> > > > > > > rte_eth_rx_burst() which call eth_dev_ops implementation of
> > > > > > drivers/net/vhost.
> > > > > >
> > > > > > No, it is using rte_vhost_dequeue_burst() and
> > > > > > rte_vhost_enqueue_burst() which are not in ethdev.
> > > > > >
> > > > > > > vDPA is also Virtio back end and works like vHost, same as
> > > > > > > vHost, it will be implemented as rte_eth_dev and also be integrated
> > into OVS.
> > > > > >
> > > > > > No, vDPA is not "implemented as rte_eth_dev".
> > > > >
> > > > > Currently, vDPA isn't integrated with OVS.
> > > > >
> > > > > > > So, it's not ok to move ifc code from drivers/net.
> > > > > >
> > > > > > drivers/net/ifc has no ethdev implementation at all.
> > > > >
> > > > > For OVS hasn't integrated vDPA, it doesn't implement rte_eth_dev,
> > > > > but there are many discussions in OVS community about vDPA, some
> > > > > are from Mellanox, it seems vDPA port will be implemented as
> > > > > rte_eth_dev port in OVS in the near feature.
> > > > > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> > > > > patc
> > > > > h
> > > > >
> > > >
> > work.ozlabs.org%2Fpatch%2F1178474%2F&amp;data=02%7C01%7Cmatan%
> > > > 4
> > > > >
> > > >
> > 0mellanox.com%7C9e84c2581e2f414e0aca08d794f22e8d%7Ca652971c7d2e4
> > > > d
> > > > >
> > > > 9ba6a4d149256f461b%7C0%7C0%7C637141640216181763&amp;sdata=TA%
> > > > 2F
> > > > >
> > 0zU495kXUqhC6eP09NDzBZfjJz1dbfkRcDpV%2BYAs%3D&amp;reserved=0
> > > > >
> > > > > Matan,
> > > > > Could you clarify how OVS integrates vDPA in Mellanox patch?
> > > > >
> > > > > >
> > > > > > Rosen, I'm sorry, these arguments look irrelevant, so I won't
> > > > > > consider them as blocking the integration of this patch.
> > > > >
> > > > > What I mentioned is not blocking the integration of this patch, I
> > > > > just want to get clarification from Matan how to integrate vDPA port in
> > OVS.
> > > >
> > > >
> > > > Hi
> > > >
> > > > OVS like any other application should use the current API of vDPA to
> > > > attach a probed vdpa device to a vhost device.
> > > > See example application /examples/vdpa.
> > > >
> > > > Here, we just introduce a new class to hold all the vDPA drivers, no
> > > > change in the API.
> > > >
> > > > As I understand, no vDPA device is currently integrated in OVS.
> > > >
> > > > I think it can be integrated only when a full offload will be
> > > > integrated since the vDPA device forward the traffic from the HW
> > > > directly to the virtio queue, once it will be there, I guess the
> > > > offload will be configured by the representor of the vdpa device(VF)
> > which is managed by an ethdev device.
> > > >
> > > >
> > > > Matan.
> > > >
> > > Hi,
> > >
> > > I'm still confused about your last sentence " the representor of the vdpa
> > device(VF) which is managed by an ethdev device".
> > > My understanding is that there are some connections and dependency
> > between rte_eth_dev and vdpa device?
> > > Am I right or any other explanations from you?
> > 
> > A vDPA port does not allow any ethdev operations (like rte_flow).
> > In order to configure some offloads on the device, OVS needs an ethdev port.
> > In Mellanox case, an ethdev VF representor port can be instantiated.
> > So we may have two ports for the same device:
> > 	- vDPA for data path with the VM
> > 	- ethdev for offloads control path
> 
> It's obviously that OVS needs these two functions of same device.
> In DPDK part, I have some concerns about how to scan, probe and bond these two ports
> of same device. Could you introduce it?
> As far as I know, each network device provided by DPDK is identified as a port in OVS,
> do you mind to take more clarification about how to connect or bond these two
> functions of same device in OVS part?

This is a different discussion.
You are asking a design review of vDPA integration in OVS.
I think it should be discussed separately.
And I have no time for such discussion currently. It will come later.

As it does not block this series, I will stop here, sorry.
Feel free to start a thread proposing how to integrate vDPA with offloads,
either in general, or specifically for IFC.



  reply	other threads:[~2020-01-10 16:27 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-25 15:19 [dpdk-dev] [PATCH v1 0/3] Introduce new class for vDPA device drivers Matan Azrad
2019-12-25 15:19 ` [dpdk-dev] [PATCH v1 1/3] drivers: introduce vDPA class Matan Azrad
2020-01-07 17:32   ` Maxime Coquelin
2020-01-08 21:28     ` Thomas Monjalon
2020-01-09  8:00       ` Maxime Coquelin
2019-12-25 15:19 ` [dpdk-dev] [PATCH v1 2/3] doc: add vDPA feature table Matan Azrad
2020-01-07 17:39   ` Maxime Coquelin
2020-01-08  5:28     ` Tiwei Bie
2020-01-08  7:20       ` Andrew Rybchenko
2020-01-08 10:42         ` Matan Azrad
2020-01-08 13:11           ` Andrew Rybchenko
2020-01-08 17:01             ` Matan Azrad
2020-01-09  2:15           ` Tiwei Bie
2020-01-09  8:08             ` Matan Azrad
2019-12-25 15:19 ` [dpdk-dev] [PATCH v1 3/3] drivers: move ifc driver to the vDPA class Matan Azrad
2020-01-07 18:17   ` Maxime Coquelin
2020-01-07  7:57 ` [dpdk-dev] [PATCH v1 0/3] Introduce new class for vDPA device drivers Matan Azrad
2020-01-08  5:44   ` Xu, Rosen
2020-01-08 10:45     ` Matan Azrad
2020-01-08 12:39       ` Xu, Rosen
2020-01-08 12:58         ` Thomas Monjalon
2020-01-09  2:27           ` Xu, Rosen
2020-01-09  8:41             ` Thomas Monjalon
2020-01-09  9:23               ` Maxime Coquelin
2020-01-09  9:49                 ` Xu, Rosen
2020-01-09 10:42                   ` Maxime Coquelin
2020-01-10  2:40                     ` Xu, Rosen
2020-01-09 10:42                   ` Maxime Coquelin
2020-01-09 10:53               ` Xu, Rosen
2020-01-09 11:34                 ` Matan Azrad
2020-01-10  2:38                   ` Xu, Rosen
2020-01-10  9:21                     ` Thomas Monjalon
2020-01-10 14:18                       ` Xu, Rosen
2020-01-10 16:27                         ` Thomas Monjalon [this message]
2020-01-09 11:00 ` [dpdk-dev] [PATCH v2 " Matan Azrad
2020-01-09 11:00   ` [dpdk-dev] [PATCH v2 1/3] drivers: introduce vDPA class Matan Azrad
2020-01-09 11:00   ` [dpdk-dev] [PATCH v2 2/3] doc: add vDPA feature table Matan Azrad
2020-01-10 18:26     ` Thomas Monjalon
2020-01-13 22:40     ` Thomas Monjalon
2020-01-09 11:00   ` [dpdk-dev] [PATCH v2 3/3] drivers: move ifc driver to the vDPA class Matan Azrad
2020-01-09 17:25     ` Matan Azrad
2020-01-10  1:55       ` Wang, Haiyue
2020-01-10  9:07         ` Matan Azrad
2020-01-10  9:13           ` Thomas Monjalon
2020-01-10 12:31             ` Wang, Haiyue
2020-01-10 12:34               ` Maxime Coquelin
2020-01-10 12:59                 ` Thomas Monjalon
2020-01-10 19:17                   ` Kevin Traynor
2020-01-13 22:57     ` Thomas Monjalon
2020-01-13 23:08   ` [dpdk-dev] [PATCH v2 0/3] Introduce new class for vDPA device drivers Thomas Monjalon

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=2202832.yKrmzQ4Hd0@xps \
    --to=thomas@monjalon.net \
    --cc=andy.pei@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=matan@mellanox.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=roniba@mellanox.com \
    --cc=rosen.xu@intel.com \
    --cc=tiwei.bie@intel.com \
    --cc=xiao.w.wang@intel.com \
    --cc=zhihong.wang@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.