Hi Ciara ,

When i further try to debug the issue , i could see that

    if (OVS_UNLIKELY(!is_vhost_running(virtio_dev))) {
        return EAGAIN;

<<<<<<<<<<< it always returns from here >>>>>>>>
    }

>>>>>> I believe that dequeue has to be called to get the packets from
Guest to User space .

    nb_rx = rte_vhost_dequeue_burst(virtio_dev, qid,
                                    vhost_dev->dpdk_mp->mp,
                                    (struct rte_mbuf **)packets,
                                    NETDEV_MAX_BURST);


Below are the logs for my vswitch with dpdkvhostuser ports.

2015-07-22T17:33:40.395Z|00020|bridge|INFO|bridge temp0: using datapath ID
0000e295aa430244
2015-07-22T17:33:40.395Z|00021|connmgr|INFO|temp0: added service controller
"punix:/var/run/openvswitch/temp0.mgmt"
2015-07-22T17:33:40.462Z|00022|dpif_netdev|INFO|Created 1 pmd threads on
numa node 0
2015-07-22T17:33:40.465Z|00023|bridge|INFO|ovs-vswitchd (Open vSwitch)
2.4.90
2015-07-22T17:33:40.466Z|00001|dpif_netdev(pmd41)|INFO|Core 0 processing
port 'dpdk3'
2015-07-22T17:33:40.466Z|00002|dpif_netdev(pmd41)|INFO|Core 0 processing
port 'dpdk2'
2015-07-22T17:33:40.466Z|00003|dpif_netdev(pmd41)|INFO|Core 0 processing
port 'dpdk1'
2015-07-22T17:33:40.466Z|00004|dpif_netdev(pmd41)|INFO|Core 0 processing
port 'dpdk0'
2015-07-22T17:33:44.470Z|00024|memory|INFO|729380 kB peak resident set size
after 10.3 seconds
2015-07-22T17:33:44.470Z|00025|memory|INFO|handlers:13 ports:5
revalidators:5 rules:5


I am under a strong opinion that i have missed some configuration here .
Please let me know .

-Srikanth



On Wed, Jul 22, 2015 at 11:30 AM, Srikanth Akula <srikanth...@gmail.com>
wrote:

> Hi Ciera ,
>
> Thank you for your reply .
>
>
> I am assuming , we dont need to configure any flows if both the ports are
> in the ovs-bridge ( each is connected to a guest) , Please let me know if i
> am wrong .
>
> however, i tried to configure the flows too as per your suggestion , but
> still i am unable to see any packets in the host for that bridge .
>
>
> I am using Qemu 2.2.0
> qemu-system-x86_64 --version
> QEMU emulator version 2.2.0, Copyright (c) 2003-2008 Fabrice Bellard
>
>
> My qemu commandline options :
>
> VM1 :::::
>
> /usr/bin/qemu-system-x86_64 -name Vhost1 -S -machine
> pc-i440fx-2.2,accel=kvm,usb=off -cpu
> SandyBridge,+invpcid,+erms,+bmi2,+smep,+avx2,+b
> mi1,+fsgsbase,+abm,+pdpe1gb,+rdrand,+f16c,+osxsave,+movbe,+dca,+pcid,+pdcm,+xtpr,+fma,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme
> -m 15024 -realtime mlock=off -smp 16,so
> ckets=16,cores=1,threads=1 -uuid fed77f13-ba10-57e4-7dd8-7629e6181657
> -no-user-config -nodefaults -chardev
> socket,id=charmonitor,path=/var/lib/libvirt/qemu/Vhost1.monitor,server,nowait
> -mon chardev=char
> monitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on
> -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive
> file=/test.img,if=none,id=drive-virtio-disk0,format=ra
> w -device
> virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
> -netdev tap,fd=24,id=hostnet0,vhost=on,vhostfd=25 -device
> virtio-net-pci,netdev=hostnet0,id=net0
> ,mac=52:54:00:ca:d5:80,bus=pci.0,addr=0x3 -chardev pty,id=charserial0
> -device isa-serial,chardev=charserial0,id=serial0 -vnc 127.0.0.1:0
> -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device
> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -chardev
> socket,id=char1,path=/var/run/openvswitch/dpdk0 -netdev
> type=vhost-user,id=mynet1,chardev=char1,vhostforce -device
> virtio-net-pci,mac=00:00:00:00:00:01,
> netdev=mynet1 -chardev socket,id=char2,path=/var/run/openvswitch/dpdk1
> -netdev type=vhost-user,id=mynet2,chardev=char2,vhostforce -device
> virtio-net-pci,mac=00:00:00:00:00:02,netdev=mynet2 -object
> memory-backend-file,id=mem,size=2048M,mem-path=/mnt/huge/,share=on
>
>
> VM2::::
>
> /usr/bin/qemu-system-x86_64 -name Vhost2 -S -machine
> pc-i440fx-2.2,accel=kvm,usb=off -cpu
> SandyBridge,+invpcid,+erms,+bmi2,+smep,+avx2,+b
> mi1,+fsgsbase,+abm,+pdpe1gb,+rdrand,+f16c,+osxsave,+movbe,+dca,+pcid,+pdcm,+xtpr,+fma,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme
> -m 15024 -realtime mlock=off -smp 8,soc
> kets=8,cores=1,threads=1 -uuid 30bc0154-7057-a7d6-12e1-7a2d8a178d47
> -no-user-config -nodefaults -chardev
> socket,id=charmonitor,path=/var/lib/libvirt/qemu/Vhost2.monitor,server,nowait
> -mon chardev=charmo
> nitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on
> -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive
> file=/test2.img,if=none,id=drive-virtio-disk0,format=raw
>  -device
> virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
> -netdev tap,fd=24,id=hostnet0,vhost=on,vhostfd=26 -device
> virtio-net-pci,netdev=hostnet0,id=net0,
> mac=52:54:00:4d:91:f5,bus=pci.0,addr=0x3 -chardev pty,id=charserial0
> -device isa-serial,chardev=charserial0,id=serial0 -vnc 127.0.0.1:1
> -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device
> intel-hda,id=sound0,bus=pci.0,addr=0x4 -device
> hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device
> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -chardev
> socket,id=char1,path=/var/run/openvswitch/dpdk1 -netdev
> type=vhost-user,id=mynet1,chardev=char1,vhostforce -device
> virtio-net-pci,mac=00:00:00:00:00:03,netdev=mynet1 -chardev
> socket,id=char2,path=/var/run/openvswitch/dpdk3 -netdev
> type=vhost-user,id=mynet2,chardev=char2,vhostforce -device
> virtio-net-pci,mac=00:00:00:00:00:04,netdev=mynet2 -object
> memory-backend-file,id=mem,size=2048M,mem-path=/mnt/huge/,share=on
>
> ovs-vsctl :
>
> ovs-vsctl show
> 3c25dda6-46c4-454c-8bdf-3832636b1f71
>     Bridge "temp0"
>         Port "dpdk1"
>             Interface "dpdk1"
>                 type: dpdkvhostuser
>         Port "temp0"
>             Interface "temp0"
>                 type: internal
>         Port "dpdk2"
>             Interface "dpdk2"
>                 type: dpdkvhostuser
>         Port "dpdk0"
>             Interface "dpdk0"
>                 type: dpdkvhostuser
>         Port "dpdk3"
>             Interface "dpdk3"
>                 type: dpdkvhostuser
>     ovs_version: "2.4.90"
>
>
> My vswitchd options
>
>  ovs-vswitchd --dpdk -c 0x0FF8 -n 4 --socket-mem 1024 0 --
> unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info
> --mlockall --no-chdir --log-file=/var/log/openvswitch/ovs-vswitchd.log
> --detach --monitor
>
>
> ovs-ofctl dump-flows temp0
> NXST_FLOW reply (xid=0x4):
>  cookie=0x0, duration=871.033s, table=0, n_packets=0, n_bytes=0,
> idle_age=871, in_port=ANY actions=output:3
>
>
> I am trying in the following way. .
>
>
>     [vm1] <dpdk1----------dpdk2> [vm2]
>
> and the Ip address are in the same subnet on the 2 Vms .. (2.2.2.x/24)
>
>
>
> Please let me know if any of the configuration is having any issues.
>
> -Srikanth
>
>
> On Wed, Jul 22, 2015 at 2:39 AM, Loftus, Ciara <ciara.lof...@intel.com>
> wrote:
>
>> >
>> > Hello,
>> >
>> > I am trying to use vhost-user for sending traffic between VMs . I have
>> > configured two "dpdkvhostuser" interfaces each VM using one of them each
>> > .
>> >
>> > vswitchd is running with dpdk.
>> > Qemu is running with the vhost interfaces
>> >
>> > Guest OS can see interfaces - Verified with the static MAC i have
>> assigned
>> > for vhost interfaces.
>> >
>> > But  i am not able to ping b/w these two VMs . Could somebody tell me
>> how
>> > to debug this further .
>>
>> Hi,
>>
>> To ping between the VMs first assign appropriate IP addresses, then
>> configure the following flows:
>> in_port=<vhostvm1>,actions=output:<vhostvm2>
>> in_port=<vhostvm2>,actions=output:<vhostvm1>
>>
>> These flows allow the request/response packets to take the necessary path
>> for a successful ping & you should see the stats incrementing with
>> ovs-ofctl dump-flows.
>>
>> If you've already done this and it's still not working, please ensure
>> your QEMU version is v2.2.0 or greater.
>>
>> Thanks,
>> Ciara
>>
>> >
>> > In the host i could see the ovs-netdev & ovs bridge i have created .
>> >
>> > Regards,
>> > Srikanth
>> > _______________________________________________
>> > dev mailing list
>> > dev@openvswitch.org
>> > http://openvswitch.org/mailman/listinfo/dev
>>
>
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to