All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Xu, Rosen" <rosen.xu@intel.com>
To: Maxime Coquelin <maxime.coquelin@redhat.com>,
	Thomas Monjalon <thomas@monjalon.net>
Cc: Matan Azrad <matan@mellanox.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>
Subject: Re: [dpdk-dev] [PATCH v1 0/3] Introduce new class for vDPA device drivers
Date: Fri, 10 Jan 2020 02:40:34 +0000	[thread overview]
Message-ID: <0E78D399C70DA940A335608C6ED296D73AC86A1E@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <d119ecdf-3c38-aebb-7e28-43d9c9f78152@redhat.com>



> -----Original Message-----
> From: Maxime Coquelin <maxime.coquelin@redhat.com>
> Sent: Thursday, January 09, 2020 18:42
> To: Xu, Rosen <rosen.xu@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>
> Cc: Matan Azrad <matan@mellanox.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; Pei, Andy <andy.pei@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v1 0/3] Introduce new class for vDPA device
> drivers
> 
> 
> 
> On 1/9/20 10:49 AM, Xu, Rosen wrote:
> >
> >
> >> -----Original Message-----
> >> From: Maxime Coquelin <maxime.coquelin@redhat.com>
> >> Sent: Thursday, January 09, 2020 17:24
> >> To: Thomas Monjalon <thomas@monjalon.net>; Xu, Rosen
> >> <rosen.xu@intel.com>
> >> Cc: Matan Azrad <matan@mellanox.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; Pei, Andy
> >> <andy.pei@intel.com>
> >> Subject: Re: [dpdk-dev] [PATCH v1 0/3] Introduce new class for vDPA
> >> device drivers
> >>
> >>
> >>
> >> On 1/9/20 9:41 AM, Thomas Monjalon wrote:
> >>> 09/01/2020 03:27, Xu, Rosen:
> >>>> Hi,
> >>>>
> >>>> 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.
> >>>
> >>>> 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".
> >>>
> >>>> So, it's not ok to move ifc code from drivers/net.
> >>>
> >>> drivers/net/ifc has no ethdev implementation at all.
> >>>
> >>>
> >>> Rosen, I'm sorry, these arguments look irrelevant, so I won't
> >>> consider them as blocking the integration of this patch.
> >>>
> >>>
> >>
> >> I agree with Thomas, the vDPA drivers do not implement the ethdev ops.
> >
> > For OVS hasn't integrated vDPA, it doesn't implement ethdev ops, but
> > there are many discussions in OVS community about vDPA, it seems vDPA
> > will be supported in OVS in the near feature.
> 
> I agree with this statement, but if you look at Mellanox series being reviewed,
> it is defining a new type of port and not use the regular DPDK port type.
> 
> >> And OVS does not use the Vhost PMD for the Vhost-user ports, but
> >> directly call the librte_vhost APIs.
> >
> > I'm afraid you are wrong, pls read these documents which introduce how
> to use vHost-user PMD in OVS:
> > http://docs.openvswitch.org/en/latest/topics/dpdk/vhost-user/
> > http://docs.openvswitch.org/en/latest/topics/dpdk/pmd/
> 
> I can confirm that below command to add ports is not using Vhost PMD but
> directly the  librte_vhost API:
> 
> $ ovs-vsctl add-port br0 dpdkvhostclient0 \
>     -- set Interface dpdkvhostclient0 type=dpdkvhostuserclient \
>        options:vhost-server-path=/tmp/dpdkvhostclient0
> 
> Please check the OVS source code.
> 
> It is possible  to use the Vhost PMD as a regular DPDK port, but this is not
> with above command, and not the recommended way.
> 
> >> Regards,
> >> Maxime
> >
Hi,

What I mentioned and questions are in Matan's email thread.

Thanks,
Rosen


  reply	other threads:[~2020-01-10  2:40 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 [this message]
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
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=0E78D399C70DA940A335608C6ED296D73AC86A1E@SHSMSX104.ccr.corp.intel.com \
    --to=rosen.xu@intel.com \
    --cc=andy.pei@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=matan@mellanox.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=thomas@monjalon.net \
    --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.