MTU and PMTU on JunOS
I would like to talk about couple of things in this post about MTU on JunOS;
- Why do we have two different MTU settings i.e at interface and logical level?
- What is the meaning of path mtu discovery on a junos box
- How MTU is important for OSPF?
Actually all started with my OSPF tests in my lab. I was connected to one SRX device in my home network and playing with MTU settings at interface level and unit level to see the differences and all of a sudden I lost my connection. To be honest I like doing non-destructive mistakes as they teach me a lot. Now I recall again how MTU is an important piece in OSPF messages. Lets start from beginning again;
root@srx# run show interfaces ge-0/0/1 Physical interface: ge-0/0/1, Enabled, Physical link is Up Link-level type: Ethernet, MTU: 1000, Speed: 1000mbps, Logical interface ge-0/0/1.0 (Index 73) (SNMP ifIndex 515) Protocol inet, MTU: 986 Flags: Sendbcast-pkt-to-re Addresses, Flags: Is-Preferred Is-Primary Destination: 192.168.195/24, Local: 192.168.195.2, Broadcast: 192.168.195.255
In the above summary output you see two MTU one for physical interface 1000 and one for logical interface 986.
This output is generated by the following command
ge-0/0/1 { mtu 1000; unit 0 { family inet { address 192.168.195.2/24; } } }
As you can see JunOS, extracts 14 bytes from the physical MTU which is the Ethernet header (12 Bytes MAC addresses + 2 bytes EtherType field)
What is sent in an OSPF DB description message is this 986 byte in the Interface MTU field.
Above is my test OSPF DB description message. In my lab both links had different MTUs and ospf adjacency got stuck at ExStart state due to MTU mismatch. As soon as MTU is fixed, adjacency became full.
I also would like to mention PMTU on JunOS. You can enable PMTU on a JunOS box as below
#set system internet-options path-mtu-discovery
Actually it is by default enabled:) Check this junos doc link As you can see on this documentation link, it is for outgoing TCP connections. It has nothing to do with the transit traffic which you don’t normally manipulate. It is the sender which does the PMTUD. You can see my other post dedicated to PMTU concept to get a clearer picture.