Hi Ilya, Thanks for your feedback.
On Wed, May 29, 2019 at 6:15 AM Ilya Maximets <[email protected]> wrote: > > On 28.05.2019 23:12, William Tu wrote: > > The patch adds support for using DPDK's AF_XDP PMD. > > Base on DPDK 19.08-rc0: > > commit c6a53a6bcd0ae52afe0a6d58b059af577c9408b3 > > Author: Thomas Monjalon <[email protected]> > > Date: Tue May 14 18:04:37 2019 +0200 > > > > version: 19.08-rc0 > > > > An AF_XDP PMD can be created by: > > > > $ ovs-vsctl add-port br0 afxdp-p0 -- set int afxdp-p0 type=dpdk \ > > options:dpdk-devargs=net_af_xdp,iface=enp2s0,queue=0 > > I'm confused. I didn't try, but I thought that this should work out-of-the-box > without any changes to OVS. Basically, your rte_eal_hotplug_add() and > rte_dev_probe() > that we're using right now are the same function with different way of passing > arguments. Have you tried to just use above command without this patch > applied? > What happens in this case? > > Another option you may try is: > > ovs-vsctl add-port br0 afxdp-p0 -- set interface afxdp-p0 type=dpdk \ > options:dpdk-devargs="vdev:net_af_xdp,iface=enp2s0,queue=0" > It actually works! When adding the device: 2019-05-29T17:45:47.128Z|00044|netdev_dpdk|INFO|Device 'vdev:net_af_xdp,iface=enp2s0,queue=0' attached to DPDK 2019-05-29T17:45:47.128Z|00045|dpif_netdev|INFO|PMD thread on numa_id: 0, core id: 11 created. 2019-05-29T17:45:47.128Z|00046|dpif_netdev|INFO|There are 1 pmd threads on numa node 0 2019-05-29T17:45:47.128Z|00047|dpdk|INFO|Device with port_id=0 already stopped 2019-05-29T17:45:47.208Z|00048|netdev_dpdk|WARN|Rx checksum offload is not supported on port 0 However , when removing the device, some errors show up. ovs-vsctl del-port br0 afxdp-p0 2019-05-29T17:47:00.318Z|00053|bridge|INFO|bridge br0: deleted interface afxdp-p0 on port 1 2019-05-29T17:47:00.318Z|00054|dpif_netdev|INFO|PMD thread on numa_id: 0, core id: 11 destroyed. 2019-05-29T17:47:00.651Z|00055|dpdk|ERR|EAL: Driver cannot detach the device (net_af_xdp) 2019-05-29T17:47:00.651Z|00056|dpdk|ERR|EAL: Failed to detach device on primary process 2019-05-29T17:47:00.651Z|00057|netdev_dpdk|ERR|Device 'vdev:net_af_xdp,iface=enp2s0,queue=0' can not be detached I also measured the performance, it works fine and shows around 7Mpps. > so DPDK will not have to guess the bus type. > > > > > $ ovs-vsctl show > > Port "afxdp-p0" > > Interface "afxdp-p0" > > type: dpdk > > options: {dpdk-devargs="net_af_xdp,iface=enp2s0,queue=0"} > > > > The performance of physical device loopback shows around 7Mpps with 64B pkt. > > > > $ ovs-ofctl add-flow br0 "in_port=afxdp-p0, \ > > > > actions=set_field:14->in_port,set_field:a0:36:9f:33:b1:40->dl_src,afxdp-p0" > > > > Note: I have to set e_RTE_METER_GREEN to 0 to pass compile. > > You may use 'dpdk-latest' OVS branch. The proper fix exists there. > In general, patches that intended to work only with latest DPDK that > not yet supported on master should be made on top of 'dpdk-latest' > branch and have [PATCH dpdk-latest] subject prefix. Got it, thank you. William > > Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
