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.

ospf_description_message_MTU

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.

Tags: ,

About: rtoodtoo

Worked for more than 10 years as a Network/Support Engineer and also interested in Python, Linux, Security and SD-WAN // JNCIE-SEC #223 / RHCE / PCNSE


You have a feedback?

Discover more from RtoDto.net

Subscribe now to keep reading and get access to the full archive.

Continue reading