This epic tracks all the effort needed to deliver the solution related to the bug described below.
Currently vhost ports use a legacy offload flags, which may not accurately reflect the state of a packets checksum in all cases.
This can especially manifest if checksum offload is enabled and a VM produces an ipv6 udp tunnel encapsulated packet. Currently the udp_extract_tnl_md() function will check for dp_packet_l4_checksum_good(), however, this will not be set even though the checksum is offloaded and the paacket is valid. Resulting in dropped packets.
There are a few possible solutions, but the most straight forward is probably to turn off legacy mode.
rhn-support-dmarchan has a branch that does just this, but it needs validation.
Originally reported by rhn-support-qding