[ovs-discuss] Small 802.1q-prepended packets not getting through to VM

Steinar H. Gunderson steinar-ovs at gunderson.no
Tue Jun 11 18:28:46 UTC 2019


On Tue, Jun 11, 2019 at 11:06:15AM -0700, Gregory Rose wrote:
> That depends.  Tap/tun interfaces can transfer data between user space
> programs and in such cases the packets don't need to be padded to Ethernet
> specs.  However, to the extent that any host interface, whether it is
> virtual or physical, wants to send packets to an Ethernet switch (OVS in
> this instance) then those interfaces should take care to pad their packets
> to make them into legal Ethernet frames.  Or they might, and probably
> should, be dropped.

The VM in question _does_ pad frames before sending them out. So that part of
the equation is just fine. The only problematic direction is OVS internal
port (which I don't know how is implemented?) -> OVS bridge -> tap -> VM.

> OVS will recompute TCP/UDP checksums as well as IP checksums as necessary
> based upon the packet transformations it is required to do.  However, if
> the packet is not a legal Ethernet packet to begin with then behavior is
> undefined since OVS is an Open Flow L2 Ethernet switch.

Again, when I send TCP on an OVS internal port, it appears to never get the
right checksum, and is forwarded to the VM with the wrong one (unless I
explicitly turn off offloading on the internal port). If that's not an OVS
bug, whose is it?

/* Steinar */
-- 
Homepage: https://www.sesse.net/


More information about the discuss mailing list