Hi, > -----Original Message----- > From: Thomas Monjalon <tho...@monjalon.net> > Sent: Wednesday, January 08, 2020 20:59 > To: Matan Azrad <ma...@mellanox.com>; Maxime Coquelin > <maxime.coque...@redhat.com>; Bie, Tiwei <tiwei....@intel.com>; Wang, > Zhihong <zhihong.w...@intel.com>; Wang, Xiao W > <xiao.w.w...@intel.com>; Xu, Rosen <rosen...@intel.com> > Cc: Yigit, Ferruh <ferruh.yi...@intel.com>; dev@dpdk.org; Pei, Andy > <andy....@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 <ma...@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.