IPv6 traffic uses default MTU 1514 byte for 10 minutes after changing interface MTU size. The default MTU 1514 byte works for ICMPv6 during this 10 minutes, and the newly configured MTU starts working after the 10 minutes.
By default, IPv6-path-mtu-discovery is enabled, and IPv6 Path MTU Discovery timeout is by default 10-mins configured. So when we change MTU size, it will take effect after MTU Discovery timeout (i.e 10-mins).
In the test below, when we delete MTU and set MTU=9114 on an interface, ICMPv4 size 9072B succeeds immediately, but ICMPv6 size 9052B keeps failing.
ICMPv6 size 9052B will become okay 10 minutes later. During the 10 minutes, the default MTU 1514 works for ICMPv6.
Test topology:
xe-1/0/0 ----------------------- xe-1/1/0 [LSYS:Other_MX] mtu=9114 mtu=9114
Base config: Both xe-1/0/0 and xe-1/1/0 are MTU 9114
set logical-systems Other_MX interfaces xe-1/1/0 unit 0 family inet address 150.87.46.1/30 set logical-systems Other_MX interfaces xe-1/1/0 unit 0 family inet6 address 2160:11b7:1aa::1/126 set chassis network-services enhanced-ip set interfaces xe-1/0/0 mtu 9114 set interfaces xe-1/0/0 unit 0 family inet address 150.87.46.2/30 set interfaces xe-1/0/0 unit 0 family inet6 address 2160:11b7:1aa::2/126 set interfaces xe-1/1/0 mtu 9114
MTU is 9114B on both interfaces
User@MX> clear interfaces statistics all User@MX> show interfaces xe-1/0/0 extensive |no-more Physical interface: xe-1/0/0, Enabled, Physical link is Up Interface index: 149, SNMP ifIndex: 545, Generation: 152 Link-level type: Ethernet, MTU: 9114, MRU: 9122, LAN-PHY mode, Speed: 10Gbps, BPDU Error: None, <-- MTU=9114 Loop Detect PDU Error: None, MAC-REWRITE Error: None, Loopback: None, Source filtering: Disabled, Flow control: Enabled, Speed Configuration: Auto Pad to minimum frame size: Disabled Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 Link flags : None CoS queues : 8 supported, 8 maximum usable queues Schedulers : 0 Hold-times : Up 0 ms, Down 0 ms Damping : half-life: 0 sec, max-suppress: 0 sec, reuse: 0, suppress: 0, state: unsuppressed Current address: f4:cc:55:83:e8:a5, Hardware address: f4:cc:55:83:e8:a5 Last flapped : 2020-06-04 08:43:17 IST (02:10:56 ago) Statistics last cleared: 2020-06-04 10:54:04 IST (00:00:09 ago) -- snip -- User@MX> show interfaces xe-1/1/0 extensive |no-more Physical interface: xe-1/1/0, Enabled, Physical link is Up Interface index: 151, SNMP ifIndex: 750, Generation: 154 Link-level type: Ethernet, MTU: 9114, MRU: 9122, LAN-PHY mode, Speed: 10Gbps, BPDU Error: None, <-- MTU=9114 Loop Detect PDU Error: None, MAC-REWRITE Error: None, Loopback: None, Source filtering: Disabled, Flow control: Enabled, Speed Configuration: Auto Pad to minimum frame size: Disabled Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 Link flags : None CoS queues : 8 supported, 8 maximum usable queues Schedulers : 0 Hold-times : Up 0 ms, Down 0 ms Damping : half-life: 0 sec, max-suppress: 0 sec, reuse: 0, suppress: 0, state: unsuppressed Current address: f4:cc:55:83:e8:ce, Hardware address: f4:cc:55:83:e8:ce Last flapped : 2020-06-04 08:43:16 IST (02:11:06 ago) Statistics last cleared: 2020-06-04 10:54:04 IST (00:00:18 ago) -- snip --
ICMP test.
2-1. ICMPv4 size 9072B is successful and ICMPv4 size 9073B is NOT successful.
2-2. ICMPv6 size 9052B is successful and ICMPv6 size 9053B is NOT successful.
User@MX> ping 150.87.46.1 size 9072 do-not-fragment count 3 PING 150.87.46.1 (150.87.46.1): 9072 data bytes 9080 bytes from 150.87.46.1: icmp_seq=0 ttl=64 time=2.852 ms 9080 bytes from 150.87.46.1: icmp_seq=1 ttl=64 time=2.703 ms 9080 bytes from 150.87.46.1: icmp_seq=2 ttl=64 time=2.605 ms
150.87.46.1 ping statistics:
3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.605/2.720/2.852/0.102 ms
User@MX> ping 150.87.46.1 size 9073 do-not-fragment count 3 PING 150.87.46.1 (150.87.46.1): 9073 data bytes ping: sendto: Message too long ping: sendto: Message too long ping: sendto: Message too long
150.87.46.1 ping statistics
3 packets transmitted, 0 packets received, 100% packet loss
User@MX> ping 2160:11b7:1aa::1 size 9052 do-not-fragment count 3 Jun 04 10:55:45 PING6(9100=40+8+9052 bytes) 2160:11b7:1aa::2 --> 2160:11b7:1aa::1 9060 bytes from 2160:11b7:1aa::1, icmp_seq=0 hlim=64 time=5.501 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=1 hlim=64 time=2.602 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=2 hlim=64 time=3.448 ms
3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/std-dev = 2.602/3.850/5.501/1.217 ms User@MX> ping 2160:11b7:1aa::1 size 9053 do-not-fragment count 3 Jun 04 10:55:53 PING6(9101=40+8+9053 bytes) 2160:11b7:1aa::2 --> 2160:11b7:1aa::1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9061 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9061 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9061 chars, ret=-1
2160:11b7:1aa::1 ping6 statistics
Continuous ICMP test
3-1. Continuous ICMP_v4 size 9072B.
User@MX> ping 150.87.46.1 size 9072 do-not-fragment PING 150.87.46.1 (150.87.46.1): 9072 data bytes 9080 bytes from 150.87.46.1: icmp_seq=0 ttl=64 time=2.622 ms 9080 bytes from 150.87.46.1: icmp_seq=1 ttl=64 time=2.634 ms 9080 bytes from 150.87.46.1: icmp_seq=2 ttl=64 time=3.266 ms 9080 bytes from 150.87.46.1: icmp_seq=3 ttl=64 time=2.574 ms 9080 bytes from 150.87.46.1: icmp_seq=4 ttl=64 time=2.586 ms -- snip --
3-2. Continuous ICMP_v6 size 9052B.
User@MX> ping 2160:11b7:1aa::1 size 9052 do-not-fragment Jun 04 10:57:14 PING6(9100=40+8+9052 bytes) 2160:11b7:1aa::2 --> 2160:11b7:1aa::1 9060 bytes from 2160:11b7:1aa::1, icmp_seq=0 hlim=64 time=2.700 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=1 hlim=64 time=2.596 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=2 hlim=64 time=2.635 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=3 hlim=64 time=2.479 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=4 hlim=64 time=2.584 ms
Delete mtu 9114 on xe-1/0/0.
[edit] User@MX# delete interfaces xe-1/0/0 mtu 9114 Jun 04 10:57:44 [edit] User@MX# show |compare Jun 04 10:57:48 [edit interfaces xe-1/0/0] - mtu 9114; [edit] User@MX# commit Jun 04 10:57:52 commit complete
ICMPv4 fails. This is expected.
9080 bytes from 150.87.46.1: icmp_seq=33 ttl=64 time=2.644 ms 9080 bytes from 150.87.46.1: icmp_seq=34 ttl=64 time=3.061 ms 9080 bytes from 150.87.46.1: icmp_seq=35 ttl=64 time=2.567 ms 9080 bytes from 150.87.46.1: icmp_seq=36 ttl=64 time=2.570 ms ping: sendto: Message too long ping: sendto: Message too long ping: sendto: Message too long ping: sendto: Message too long ping: sendto: Message too long
ICMPv6 fails. This is expected.
9060 bytes from 2160:11b7:1aa::1, icmp_seq=35 hlim=64 time=2.615 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=36 hlim=64 time=2.590 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=37 hlim=64 time=4.942 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=38 hlim=64 time=15.623 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=39 hlim=64 time=2.549 ms ping: sendmsg: Can't assign requested address ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Can't assign requested address ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Can't assign requested address ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Can't assign requested address ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1
Set mtu 9114 on xe-1/0/0.
[edit] User@MX# set interfaces xe-1/0/0 mtu 9114 Jun 04 10:58:14 [edit] User@MX# show |compare Jun 04 10:58:18 [edit interfaces xe-1/0/0] + mtu 9114; [edit] User@MX# commit Jun 04 10:58:21 commit complete
ICMPv4 restored immediately.
ping: sendto: Message too long ping: sendto: Message too long ping: sendto: Message too long ping: sendto: Message too long ping: sendto: Message too long 9080 bytes from 150.87.46.1: icmp_seq=66 ttl=64 time=3.730 ms 9080 bytes from 150.87.46.1: icmp_seq=67 ttl=64 time=2.569 ms 9080 bytes from 150.87.46.1: icmp_seq=68 ttl=64 time=2.638 ms 9080 bytes from 150.87.46.1: icmp_seq=69 ttl=64 time=3.858 ms 9080 bytes from 150.87.46.1: icmp_seq=70 ttl=64 time=3.407 ms 9080 bytes from 150.87.46.1: icmp_seq=71 ttl=64 time=2.535 ms 9080 bytes from 150.87.46.1: icmp_seq=72 ttl=64 time=2.624 ms
ICMPv6 still fails.
ping: sendmsg: Can't assign requested address ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Can't assign requested address ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Can't assign requested address ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Can't assign requested address ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 User@MX> show interfaces xe-1/0/0 extensive |no-more Jun 04 11:00:40 Physical interface: xe-1/0/0, Enabled, Physical link is Up Interface index: 149, SNMP ifIndex: 545, Generation: 152 Link-level type: Ethernet, MTU: 9114, MRU: 9122, LAN-PHY mode, Speed: 10Gbps, BPDU Error: None, <----- MTU=9114 Loop Detect PDU Error: None, MAC-REWRITE Error: None, Loopback: None, Source filtering: Disabled, Flow control: Enabled, Speed Configuration: Auto Pad to minimum frame size: Disabled Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 Link flags : None CoS queues : 8 supported, 8 maximum usable queues Schedulers : 0 Hold-times : Up 0 ms, Down 0 ms Damping : half-life: 0 sec, max-suppress: 0 sec, reuse: 0, suppress: 0, state: unsuppressed Current address: f4:cc:55:83:e8:a5, Hardware address: f4:cc:55:83:e8:a5 Last flapped : 2020-06-04 08:43:17 IST (02:17:23 ago) Statistics last cleared: 2020-06-04 10:54:04 IST (00:06:36 ago) User@MX> show interfaces xe-1/1/0 extensive |no-more Jun 04 11:00:51 Physical interface: xe-1/1/0, Enabled, Physical link is Up Interface index: 151, SNMP ifIndex: 750, Generation: 154 Link-level type: Ethernet, MTU: 9114, MRU: 9122, LAN-PHY mode, Speed: 10Gbps, BPDU Error: None, <----- MTU=9114 Loop Detect PDU Error: None, MAC-REWRITE Error: None, Loopback: None, Source filtering: Disabled, Flow control: Enabled, Speed Configuration: Auto Pad to minimum frame size: Disabled Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 Link flags : None CoS queues : 8 supported, 8 maximum usable queues Schedulers : 0 Hold-times : Up 0 ms, Down 0 ms Damping : half-life: 0 sec, max-suppress: 0 sec, reuse: 0, suppress: 0, state: unsuppressed Current address: f4:cc:55:83:e8:ce, Hardware address: f4:cc:55:83:e8:ce Last flapped : 2020-06-04 08:43:16 IST (02:17:35 ago) Statistics last cleared: 2020-06-04 10:54:04 IST (00:06:47 ago)
Within 10 minutes after MTU 9114 is reconfigured Jun 04 10:58:21,
ICMPv6 size < 1452B works, and ICMPv6 size > 1453B fails. = =
User@mx240-re0> ping 2160:11b7:1aa::1 size 1452 do-not-fragment <----------- OK PING6(1500=40+8+1452 bytes) 2160:11b7:1aa::2 --> 2160:11b7:1aa::1 1460 bytes from 2160:11b7:1aa::1, icmp_seq=0 hlim=64 time=1.209 ms 1460 bytes from 2160:11b7:1aa::1, icmp_seq=1 hlim=64 time=1.370 ms 1460 bytes from 2160:11b7:1aa::1, icmp_seq=2 hlim=64 time=1.119 ms ^C --- 2160:11b7:1aa::1 ping6 statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/std-dev = 1.119/1.233/1.370/0.104 ms User@mx240-re0> ping 2160:11b7:1aa::1 size 1453 do-not-fragment <----------- Fail PING6(1501=40+8+1453 bytes) 2160:11b7:1aa::2 --> 2160:11b7:1aa::1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 1461 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 1461 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 1461 chars, ret=-1 ^C --- 2160:11b7:1aa::1 ping6 statistics --- 3 packets transmitted, 0 packets received, 100% packet loss
User@MX> show interfaces xe-1/1/1 media Physical interface: xe-1/1/1, Enabled, Physical link is Up Interface index: 143, SNMP ifIndex: 984 Link-level type: Ethernet, MTU: 1514, MRU: 1522, LAN-PHY mode, Speed: 10Gbps, BPDU Error: None, <----- default MTU=1514 Loop Detect PDU Error: None, MAC-REWRITE Error: None, Loopback: None, Source filtering: Disabled, Flow control: Enabled, Speed Configuration: Auto
10 minutes after MTU change, ICMPv6 works for the default MTU 1514 byte, then newly configured MTU starts working.
User@MX> Jun 04 11:09:15 ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 ping: sendmsg: Message too long ping6: wrote 2160:11b7:1aa::1 9060 chars, ret=-1 9060 bytes from 2160:11b7:1aa::1, icmp_seq=708 hlim=64 time=67.535 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=709 hlim=64 time=2.583 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=710 hlim=64 time=2.599 ms 9060 bytes from 2160:11b7:1aa::1, icmp_seq=711 hlim=64 time=2.593 ms
This is expected as per RFC-8201 (refer section-4):
[edit system internet-options] User@MX# set ipv6-path-mtu-discovery-timeout ? Possible completions: <ipv6-path-mtu-discovery-timeout> IPv6 Path MTU Discovery timeout (5..71582788 minutes) [edit system internet-options] User@MX#