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

Ben Pfaff blp at ovn.org
Wed Jun 5 21:45:53 UTC 2019


On Wed, Jun 05, 2019 at 11:12:11PM +0200, Steinar H. Gunderson wrote:
> On Wed, Jun 05, 2019 at 11:33:44AM -0700, Ben Pfaff wrote:
> > Is it OVS's responsibility to pad the packets?
> 
> If the packet is generated on an OVS internal port, and the destination is a
> local VM through hostnet? Surely it's OVS' responsibility then?

OVS, or at least the OVS kernel module, doesn't generate packets.  It
accepts them for processing from some source and then (sometimes)
delivers them to some destination.  Generally it expects that anything
that comes in is suitable to be sent back out without further
modification.

If the packet comes in on OVS internal port, then that puts the focus
slightly more on OVS.  There could be a bug in the internal port
implementation.  However, even there OVS doesn't really assemble the
packet, it comes from the Linux TCP/IP stack and the OVS internal port
just accepts it.

> > I would think that the driver would take care of it.
> 
> Which driver? The virtio driver on the inside of the VM?

I would think that the Linux host driver transmitting the packet would
ensure that it is padded so as to be acceptable for the media it will be
transmitted on (virtual media in this case).  I think that drivers for
physical media typically do this (but it's been years since I've been
familiar with the Linux network driver model).

> > If you use the Linux bridge module instead, do the packets arrive at the
> > VM?  If so, then the bridge must supply padding at some place along the
> > path.
> 
> I haven't tried on this specific host, and it's a bit hard now since I'm a
> few hundred kilometers from the machine and don't have out-of-band
> management. :-/ But I haven't seen any similar issues with the Linux bridge,
> no.

OK.


More information about the discuss mailing list