Hi Mauricio, After applying the patch, the packets are flowing to the VM now.
However, even at lower bandwidth, it always has a small percentage of frame loss. Is this expected behavior? Thanks, Charlie On Fri, Aug 5, 2016 at 9:22 AM, Charlie Li <charlie...@gmail.com> wrote: > Thanks Mauricio, > > I will try the patch first. > > Regards, > Charlie > > On Fri, Aug 5, 2016 at 4:56 AM, Mauricio Vasquez < > mauricio.vasq...@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/p >> atch/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@openvswitch.orghttp://openvswitch.org/mailman/listinfo/discuss >> >> >> Best Regards, >> >> Mauricio V >> > >
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss