-
-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qemu-emulated NICs don't work for inter-VM traffic #700
Comments
Modified by joanna on 2 Jan 2013 11:33 UTC |
Comment by marmarek on 8 Jan 2013 02:03 UTC
It have worked for outside traffic because real network device (in netvm) have working this offload, so calculated checksum correctly. ICMP was working most likely because if was calculated by the kernel, not left for the offload. |
Comment by marmarek on 8 Jan 2013 02:04 UTC |
Checksum offload was turned off in QubesOS/qubes-issues#700 due to a bug that is unlikely to still be relevant. Scatter-gather was turned off for unclear reasons that are also unlikely to be relevant nowadays. This should significantly improve networking performance. Fixes QubesOS/qubes-issues#3510.
Checksum offload was turned off in QubesOS/qubes-issues#700 due to a bug that is unlikely to still be relevant. Scatter-gather was turned off for unclear reasons that are also unlikely to be relevant nowadays. This should significantly improve networking performance. Fixes QubesOS/qubes-issues#3510. (cherry picked from commit 045e85e)
Checksum offload was turned off in QubesOS/qubes-issues#700 due to a bug that is unlikely to still be relevant. Scatter-gather was turned off for unclear reasons that are also unlikely to be relevant nowadays. This should significantly improve networking performance. Fixes QubesOS/qubes-issues#3510. (cherry picked from commit 045e85e)
Reported by joanna on 2 Jan 2013 11:25 UTC
Inter-appvm traffic doesn't work when one of the AppVMs is an HVM and uses qemu-emulated networking (this is that case e.g. when one have some older Linux distro as one of the HVM).
Steps to reproduce:
https://wiki.qubes-os.org/trac/wiki/QubesFirewall
Note, if, instead of an older Ubuntu I use the very recent Ubuntu 12.10 (that has xen pv drivers builtin), the above setup works fine.
Also, note that the networking in the HVM (the old ubuntu) actually works fine -- I can e.g. browse the web fine. So, the traffic that comes from the outside world, and which arrive to the HVM interfaces is processed fine. But the traffic (other than ICMP!) that arrives from other AppVMs (or even from the FirewallVM) is... discarded. Specifically, when I run tcpdump in the HVM, I can see the incoming SYN packates (e.g. to SSH port) but I see not SYN|ACK nor RST packets being generated in response. It seems like the HVM's kernel is discarding the incoming packets before sending them down the TCP stack (but, again, the ICMP request packets are processes correctly, and ICMP responses are generated).
Quite a strange case...
Migrated-From: https://wiki.qubes-os.org/ticket/700
The text was updated successfully, but these errors were encountered: