QEMU loads checksum offload flags from every tx data descriptor. When a
multi-descriptor packet is sent, Solaris will only mark the first
descriptor with checksum offload flags. Therefore QEMU fails to perform
checksum offload resulting in corrupted packets that will be discarded
by the receiver.
I'll try to come up with a proper fix that can be submitted to QEMU.
Please test this patch: repo.or. cz/w/qemu/ stefanha. git/commitdiff/ c405d1b66e045bc e1c53a30f9ad840 c6f19eca57
http://
QEMU loads checksum offload flags from every tx data descriptor. When a
multi-descriptor packet is sent, Solaris will only mark the first
descriptor with checksum offload flags. Therefore QEMU fails to perform
checksum offload resulting in corrupted packets that will be discarded
by the receiver.
I'll try to come up with a proper fix that can be submitted to QEMU.