In the QEMU 2.3.0 , The memory regions published to user space application is limited address space, not the complete memory regions of quest vm, due to this , the user level app cannot decode all the memory block addresses. This is needed for reading the packet from virtio ring.
Is there any configuration in qemu to overcome the above or it is bug in virtio-user?. Test details: Qemu cmd line: /opt/qemu.2.3.0/bin/qemu-system-x86_64 -enable-kvm -gdb tcp::1336,server,nowait -monitor tcp::51008,server,nowait,nodelay -m 256M -mem-path /hugetlbfs -mem-prealloc -smp 2 -chardev backend=socket,id=ch1,path=/opt_src/port1 -netdev vhost-user,id=guest0,chardev=ch1 -device virtio-net-pci,mac=00:30:48:DB:5E:01,netdev=guest0,mq=on,vectors=8 -vnc :8 -serial telnet::50008,server,nowait -daemonize -append net_send_int_disable=1 ipaddr=192.168.122.3 gw=192.168.122.1 nic_intr_off=1 netbh_tightloop=0 page_cache=1 -kernel /opt_src/jiny/jiny_image.bin -drive if=virtio,id=hdr0,file=/opt_src/jiny/disk In the below message The below is message recevied at the user level application from vhost-user(qemu), the size is only 655k. but needed is 256M(size of memory or shared memory size of hugetlb). I have Temporarly hardcoded the size in the app by changing the size to 256M from 655K. so that network packet address can able to decode from the virtio ring. Cmd: VHOST_USER_SET_MEM_TABLE (0x5) flags: 0x1 regions: 2 region: gpa = 0x0 size = 655360 ua = 0x2aaaaac00000 region: gpa = 0x0 size = 786432 ua = 0xff40000 Thanks Jana