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

Xu, Rosen rosen.xu at intel.com
Thu Jan 9 03:27:47 CET 2020


Hi,

> -----Original Message-----
> From: Thomas Monjalon <thomas at monjalon.net>
> Sent: Wednesday, January 08, 2020 20:59
> To: 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>; Xu, Rosen <rosen.xu at intel.com>
> Cc: 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
> 
> 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.

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.

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.

So, it's not ok to move ifc code from drivers/net.


More information about the dev mailing list