/F
---- On Tue, 31 Jan 2017 17:27:09 +0100 Eric Dumazet <eric.duma...@gmail.com> wrote ---- > On Tue, 2017-01-31 at 14:32 +0100, Fredrik Markstrom wrote: > > ---- On Thu, 19 Jan 2017 19:53:47 +0100 Eric Dumazet > > <eric.duma...@gmail.com> 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 ? > > There is no consistency among existing Ethernet drivers. > > Many ethernet drivers size the buffers they post in RX ring buffer > according to MTU. > > If MTU is set to 1500, RX buffers are sized to be about 1536 bytes, > so you wont be able to receive a 1700 bytes frame. > > I guess that you could add a specific veth attribute to precisely > control MRU, that would not break existing applications. Ok, I will propose a patch shortly. And thanks, your response time is awesome ! /Fredrik > > > >