[dpdk-dev] [PATCH v1 0/3] Introduce new class for vDPA device drivers

Xu, Rosen rosen.xu at intel.com
Thu Jan 9 11:53:32 CET 2020



> -----Original Message-----
> From: Thomas Monjalon <thomas at monjalon.net>
> Sent: Thursday, January 09, 2020 16:41
> To: Xu, Rosen <rosen.xu at intel.com>
> Cc: Matan Azrad <matan at mellanox.com>; Maxime Coquelin
> <maxime.coquelin at redhat.com>; Bie, Tiwei <tiwei.bie at intel.com>; Wang,
> Zhihong <zhihong.wang at intel.com>; Wang, Xiao W
> <xiao.w.wang at intel.com>; Yigit, Ferruh <ferruh.yigit at intel.com>;
> dev at dpdk.org; Pei, Andy <andy.pei at intel.com>
> Subject: Re: [dpdk-dev] [PATCH v1 0/3] Introduce new class for vDPA device
> drivers
> 
> 09/01/2020 03:27, Xu, Rosen:
> > Hi,
> >
> > From: Thomas Monjalon <thomas at monjalon.net>
> > > 08/01/2020 13:39, Xu, Rosen:
> > > > From: Matan Azrad <matan at 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://patchwork.ozlabs.org/patch/1178474/

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.





More information about the dev mailing list