On Tue, Oct 22, 2019 at 12:17 AM Noa Ezra <n...@mellanox.com> wrote: > > Hi, > Please see the answer below. > > Thanks, > Noa. > > > -----Original Message----- > > From: William Tu [mailto:u9012...@gmail.com] > > Sent: Friday, October 18, 2019 12:34 AM > > To: Noa Ezra <n...@mellanox.com> > > Cc: ovs-dev@openvswitch.org; Oz Shlomo <o...@mellanox.com>; Majd > > Dibbiny <m...@mellanox.com>; Ameer Mahagneh > > <ame...@mellanox.com>; Eli Britstein <el...@mellanox.com> > > Subject: Re: [ovs-dev] [PATCH ovs v3 2/2] netdev-dpdk: Add dpdkvdpa port > > > > On Thu, Oct 17, 2019 at 02:16:56PM +0300, Noa Ezra wrote: > > > > Hi Noa, > > > > Thanks for the patch. I'm new to this and have a question below. > > > > > dpdkvdpa netdev works with 3 components: > > > vhost-user socket, vdpa device: real vdpa device or a VF and > > > representor of "vdpa device". > > > > > > In order to add a new vDPA port, add a new port to existing bridge > > > with type dpdkvdpa and vDPA options: > > > ovs-vsctl add-port br0 vdpa0 -- set Interface vdpa0 type=dpdkvdpa > > > options:vdpa-socket-path=<sock path> > > > options:vdpa-accelerator-devargs=<VF pci id> > > > options:dpdk-devargs=<vdpa pci id>,representor=[id] > > > > > > On this command OVS will create a new netdev: > > > 1. Register vhost-user-client device. > > > 2. Open and configure VF dpdk port. > > > 3. Open and configure representor dpdk port. > > > > > > The new netdev will use netdev_rxq_recv() function in order to receive > > > packets from VF and push to vhost-user and receive packets from > > > vhost-user and push to VF. > > > > So does OVS in this case is able to apply OpenFlow rules on packets? > > > > When netdev_dpdk_vdpa_rxq_recv() is invoked, does the batch of packets > > go into OVS's parse, lookup, action pipeline? Or all packets go directly > > into > > VM if (VF -> VM) and vice versa? > > > > Is > > fwd_rx = netdev_dpdk_vdpa_rxq_recv_impl(dev->relay, rxq->queue_id); > > forward packets from vhost-user to VF and ret = > > netdev_dpdk_rxq_recv(rxq, batch, qfill); forward packets from vhost-user to > > VM? > > I hope that I understand your question correctly, the > netdev_dpdk_vdpa_rxq_recv forwards packets from VM to VF and vice versa. > There is no change in the processing of the packet between VF and up-link and > no change in the packet's header. > The new netdev only translate between SR-IOV (phy) VF to virtIO VM. >
Hi Noa, Thank you for your reply. So does the netdev_dpdk_rxq_recv below also forwards packets? netdev_dpdk_rxq_recv(rxq, batch, qfill); Am I able to modify packet content by accessing batch->packets[i]? Regards, William _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev