[ovs-discuss] Why all of the packets are dropped at the dpdkvhostuser port?

Charlie Li charlie.li at gmail.com
Fri Aug 5 14:22:36 UTC 2016


Thanks Mauricio,

I will try the patch first.

Regards,
Charlie

On Fri, Aug 5, 2016 at 4:56 AM, Mauricio Vasquez <mauricio.vasquez at polito.it
> wrote:

> Hello Charlie,
>
> On 08/04/2016 09:22 PM, Charlie Li wrote:
>
> Hi All,
>
> I set up a bridge with 2 dpdk ports and 2 dpdkvhostuser ports. And 4 flows
> are configured as the follows
>
> PHY0 -> dpdk port0 -> dpdkvhostuser port0 -> VM eth-ens3
> PHY0 <- dpdk port0 <- dpdkvhostuser port0 <- VM eth-ens3
> ------------------------------------------------------------
> ----------------------------------------------
> PHY1 -> dpdk port1 -> dpdkvhostuser port1 -> VM eth-ens4
> PHY1 <- dpdk port1 <- dpdkvhostuser port1 <- VM eth-ens4
>
> All of the packets from the VM are passed to the PHY. No problem.
>
> But all of the packets from the PHY are dropped at the dpdkvhostuser port,
> and cannot be passed to the VM.
>
> Why one direction does not work while the other direction works fine?
>
> Any help is appreciated!
>
> Thanks,
>
> Charlie
>
> ------------------------------------------------------------
> -------------------------------------------
> More details
> ------------------------------------------------------------
> -------------------------------------------
> DPDK 2.2.0; OVS 2.5.0; Both host and VM is Fedora 23
>
>
> It is a known problem in OVS 2.5.0, please refer to:
> http://openvswitch.org/pipermail/dev/2016-March/068282.html
>
> The possible solutions are:
> - Use a newer version of OVS (If you use master you have to use DPDK 16.07)
> - Apply this patch to ovs 2.5.0: https://patchwork.ozlabs.org/
> patch/602752/
> - Use a qemu version greater or equal to 2.5
>
> #### Bridge and port config
>
> $ sudo ./ovs-vsctl show
> fa6781bf-0204-4593-ad99-bf6a3843c6c8
>     Bridge "br0"
>         Port "vhost0"
>             Interface "vhost0"
>                 type: dpdkvhostuser
>         Port "vhost1"
>             Interface "vhost1"
>                 type: dpdkvhostuser
>         Port "br0"
>             Interface "br0"
>                 type: internal
>         Port "dpdk0"
>             Interface "dpdk0"
>                 type: dpdk
>         Port "dpdk1"
>             Interface "dpdk1"
>                 type: dpdk
>
> $ sudo ./ovs-vsctl list-ports br0
> dpdk0
> dpdk1
> vhost0
> vhost1
>
> #### Before sending traffic to PHY
>
> $ sudo ./ovs-ofctl dump-flows br0
> NXST_FLOW reply (xid=0x4):
>  cookie=0x0, duration=260.837s, table=0, n_packets=0, n_bytes=0,
> idle_age=260, in_port=1 actions=output:3
>  cookie=0x0, duration=260.817s, table=0, n_packets=0, n_bytes=0,
> idle_age=260, in_port=2 actions=output:4
>  cookie=0x0, duration=260.799s, table=0, n_packets=48, n_bytes=7968,
> idle_age=6, in_port=3 actions=output:1
>  cookie=0x0, duration=260.781s, table=0, n_packets=48, n_bytes=7968,
> idle_age=7, in_port=4 actions=output:2
>
> $ sudo ./ovs-ofctl dump-ports br0
> OFPST_PORT reply (xid=0x2): 5 ports
>   port  4: rx pkts=48, bytes=7968, drop=?, errs=0, frame=?, over=?, crc=?
>            tx pkts=0, bytes=0, drop=0, errs=?, coll=?
>   port  2: rx pkts=0, bytes=0, drop=0, errs=0, frame=?, over=?, crc=?
>            tx pkts=48, bytes=7968, drop=0, errs=0, coll=?
>   port  1: rx pkts=0, bytes=0, drop=0, errs=0, frame=?, over=?, crc=?
>            tx pkts=48, bytes=7968, drop=0, errs=0, coll=?
>   port  3: rx pkts=48, bytes=7968, drop=?, errs=0, frame=?, over=?, crc=?
>            tx pkts=0, bytes=0, drop=0, errs=?, coll=?
>   port LOCAL: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
>            tx pkts=0, bytes=0, drop=0, errs=0, coll=0
>
>
> #### After sending traffic to PHY
>
> $ sudo ./ovs-ofctl dump-flows br0
> NXST_FLOW reply (xid=0x4):
>  cookie=0x0, duration=330.842s, table=0, n_packets=29069777,
> n_bytes=1802326154, idle_age=32, in_port=1 actions=output:3
>  cookie=0x0, duration=330.822s, table=0, n_packets=29069777,
> n_bytes=1802326154, idle_age=32, in_port=2 actions=output:4
>  cookie=0x0, duration=330.804s, table=0, n_packets=50, n_bytes=8652,
> idle_age=56, in_port=3 actions=output:1
>  cookie=0x0, duration=330.786s, table=0, n_packets=50, n_bytes=8652,
> idle_age=52, in_port=4 actions=output:2
>
> $ sudo ./ovs-ofctl dump-ports br0
> OFPST_PORT reply (xid=0x2): 5 ports
>   port  4: rx pkts=50, bytes=8652, drop=?, errs=0, frame=?, over=?, crc=?
>            tx pkts=0, bytes=0, drop=29069777, errs=?, coll=?
>   port  2: rx pkts=29069777, bytes=1802326154, drop=0, errs=0, frame=?,
> over=?, crc=?
>            tx pkts=50, bytes=8652, drop=0, errs=0, coll=?
>   port  1: rx pkts=29069777, bytes=1802326154, drop=0, errs=0, frame=?,
> over=?, crc=?
>            tx pkts=50, bytes=8652, drop=0, errs=0, coll=?
>   port  3: rx pkts=50, bytes=8652, drop=?, errs=0, frame=?, over=?, crc=?
>            tx pkts=0, bytes=0, drop=29069777, errs=?, coll=?
>   port LOCAL: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
>            tx pkts=0, bytes=0, drop=0, errs=0, coll=0
>
>
>
> _______________________________________________
> discuss mailing listdiscuss at openvswitch.orghttp://openvswitch.org/mailman/listinfo/discuss
>
>
> Best Regards,
>
> Mauricio V
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20160805/c1803c69/attachment-0002.html>


More information about the discuss mailing list