Hi all,

I was trying to understand the vhost_net flow under qemu (qemu-ppc).  So, I had 
added few print statements to the code after which I noticed that  although 
vhost_virtqueue_init() is been called, vhost_virtqueue_start() is not getting 
called . The following is the code flow for calling vhost_virtqueue_start()

Under virtio_net.c->virtio_net_vhost_status()->vhost_net_start(defined in 
vhost_net.c)->vhost_dev_start()->vhost_virtqueue_start()

Virtio_net_vhost_status () is been called from virtio_net_set_status() in the 
virtio_net.c .
What I observed is that virtio_net_vhost_status() is returning after checking 
the following condition:
if (n->nic->nc.peer->info->type != NET_CLIENT_OPTIONS_KIND_TAP)
After adding few more print statements, I can see that the value of 
n->nic->nc.peer->info->type is 8 which corresponds to 
NET_CLIENT_OPTIONS_KIND_HUBPORT and vhost->started flag is always set to 0 .
I had added few print statements in tap.c just to check if it's been 
initialized or not but it is getting initialized .

Regards
Nitesh Narayan Lal

Reply via email to