[ovs-dev] Path MTU discovery on GRE interfaces

Jesse Gross jesse at kernel.org
Thu Jun 24 03:51:39 UTC 2021

On Wed, Jun 23, 2021 at 10:06 AM Ben Pfaff <blp at ovn.org> wrote:

> [updating Jesse's email address]
> On Wed, Jun 23, 2021 at 04:48:29PM +0200, Matthias May via dev wrote:
> > I'm currently fighting with issues where TCP/UDP frames that are larger
> than the MTU of a GRE tunnel are dropped.
> > I'm aware of the whys and how to work around the issue, but while
> looking for solutions i stumbled over the fact that:
> > * [1] added PMTUD support to OVS
> > * [2] disabled/removed with v1.9.0 respectively v1.10.0 the feature
> >
> > Even after some significant time looking through the history i haven't
> found a reason why this was removed, just that it
> > was removed.
> >
> > I started some preliminary work to add PMTUD support to OVS (again), but
> the fact that it was removed 8 years ago seems
> > to me like a red flag to not do it (again).
> >
> > Could someone fluent with the OVS history from 8 years ago shed some
> light on why PMTUD support was dropped?
> > Any pointers to a thread on this topic?
> It was a layering violation.  This caused problems like, for example,
> not having a good IP address to send the "frag needed" message from.

In terms of the history, I believe what happened is that PMTUD support was
added before the kernel module was upstreamed. When we later submitted the
code upstream, we knew that it would not fly due to the layering violations
so support was removed before submitting.

However, as Dan mentioned, I believe that check_pkt_len can be used to
implement essentially the same behavior and it is upstream as it is more
generic. It should still only be used in the context of an L3 operation to
avoid introducing the same layering issues though.

More information about the dev mailing list