Hello!

> Your guess makes sense because current implementation does not support
> multi-queues.
> 
>  From you log, only 0 and 1 are "ready for processing"; others are "not
> ready for processing".

 Yes, and if study it even more carefully, we see that we initialize all tx 
queues but only a single rx queue (#0).
 After some more code browsing and comparing the two patchsets i figured out 
that the problem is caused by inappropriate VIRTIO_NET_F_CTRL_VQ flag. In your 
RFC you used different capability set, while in v1 you seem to have forgotten 
about this.
 I suggest to temporarily move hw->guest_features assignment out of 
virtio_negotiate_features() into the caller, where we have eth_dev->dev_type, 
and can choose the right set depending on it.

 With all mentioned fixes i've got the ping running.
 Tested-by: Pavel Fedin <p.fedin at samsung.com>

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia


Reply via email to