VirtIO uses CRC offloading, which calculates the checksums on the real NIC.
Not all NICs support this feature, some NICs calculate wrong CRCs due to the different MAC address.
e1000 calculate these CRCs in the software emulation.
e1000 is a full emulation of the vNIC, VirtIO is a paravirtualised vNIC.
Do you have the latest stable VirtIO drivers installed in the guest and what network card is installed in your host?