[j-nsp] Jumbo frames / mismatch MTU

Saku Ytti saku at ytti.fi
Sat Apr 24 03:19:08 EDT 2021


On Fri, 23 Apr 2021 at 23:34, Chuck Anderson <cra at alum.wpi.edu> wrote:

Just set the IP MTU in addition to the physical L2 "mtu".  That way
> you don't have to care about calculating any possible differences
> caused by encapsulation overhead:


I agree, but ideally you'd also know what you are doing. But it's good to
set the physical (IFD) MTU as high as possible, while always setting IFA
MTU. This is so that when you get that 1 service which does require higher
MTU, it is a non-disruptive change to enable it.

When people say the MTU is 'ethernet headers' or 'L2' I don't think this is
correct, since FCS is missing and FCS, imho, is blatantly part of the L2
Ethernet. The problem is that Ethernet is L1 and L2 and there isn't very
clear separation necessarily. I believe the reason why FCS was omitted is
purely for programmer convenience, not user convenience. The programmer
writing the code for the rewrite engine has visibility to the entire L2,
except FCS, because FCS is emitted typically later by the PHY, not by the
rewrite engine.
So this implementation detail is now exposed to users, and we just have to
know that 'yeah MTU is L2 but not FCS', which I have to say, grinds my
gears a little bit.

IMHO:
L1: Preamble(7) SFD1(1) <L2> IFG(12)
L2: DMAC(6) SMAC(6) ETYPE(2) <L3>(46..) FCS(4)

We do carry ethernet L2 over some other L1 than ethernet, in which case we
don't do preamble, sfd, ifg, we may or may not carry FCS in this case.

-- 
  ++ytti


More information about the juniper-nsp mailing list