Re: Inconsistency in packet drop due to MTU (eth vs veth)

From: Fredrik Markstrom
Date: Tue Jan 31 2017 - 08:32:57 EST


---- On Thu, 19 Jan 2017 19:53:47 +0100 Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote ----
> On Thu, 2017-01-19 at 17:41 +0100, Fredrik Markstrom wrote:
> > Hello,
> >
> > I've noticed an inconsistency between how physical ethernet and veth handles mtu.
> >
> > If I setup two physical interfaces (directly connected) with different mtu:s, only the size of the outgoing packets are limited by the mtu. But with veth a packet is dropped if the mtu of the receiving interface is smaller then the packet size.
> >
> > This seems inconsistent to me, but maybe there is a reason for it ?
> >
> > Can someone confirm if it's a deliberate inconsistency or just a side effect of using dev_forward_skb() ?
>
> It looks this was added in commit
> 38d408152a86598a50680a82fe3353b506630409
> ("veth: Allow setting the L3 MTU")
>
> But what was really needed here was a way to change MRU :(

Ok, do we consider this correct and/or something we need to be backwards compatible with ? Is it insane to believe that we can fix this "inconsistency" by removing the check ?

The commit message reads "For consistency I drop packets on the receive side when they are larger than the MTU", do we know what it's supposed
to be consistent with or is that lost in history ?

/Fredrik

>
>
>
>