Description

When ACX7k  is in the transit and the incoming interface MTU is higher than the outgoing interface IPv4/IPv6 traffic we should see ICMP error code which is not seen. to intra-area links.

Symptoms

  • In the topology below, MX1 and ACX7k has a higher mtu configured and ACX7k to MX2 has lower mtu. 
  • ICMP with higher packet sizes are not returned when transiting ACX7k for both ipv4 and ipv6
    MX1(xe-0/3/0)-HigherMTU-->(et-0/0/4) ACX7K(et-0/0/5)-LowerMTU--> (xe-0/1/7) MX2

labroot@ACX7k> show version                                            
Hostname: ACX7k
Model: ACX7024
Junos: 23.4R1.1-EVO
Yocto: 3.0.2
Linux Kernel: 5.2.60-yocto-standard-g6b641df
JUNOS-EVO OS 64-bit [junos-evo-install-acx-f-x86-64-23.4R1.1-EVO]


If the traffic is in the main instance, packet-too-big is returned.
<--- ipv4 test

labroot@MX1-re0> ping 192.168.0.100 source 192.168.0.1 routing-instance VR1 count 3 size 100     
PING 192.168.0.100 (192.168.0.100): 100 data bytes
108 bytes from 192.168.0.100: icmp_seq=0 ttl=63 time=1.056 ms
108 bytes from 192.168.0.100: icmp_seq=1 ttl=63 time=0.808 ms
108 bytes from 192.168.0.100: icmp_seq=2 ttl=63 time=0.860 ms

--- 192.168.0.100 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.808/0.908/1.056/0.107 ms

labroot@MX1-re0> ping 192.168.0.100 source 192.168.0.1 routing-instance VR1 count 3 size 1000   
PING 192.168.0.100 (192.168.0.100): 1000 data bytes
1008 bytes from 192.168.0.100: icmp_seq=0 ttl=63 time=1.194 ms
1008 bytes from 192.168.0.100: icmp_seq=1 ttl=63 time=1.128 ms
1008 bytes from 192.168.0.100: icmp_seq=2 ttl=63 time=1.013 ms

--- 192.168.0.100 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 1.013/1.112/1.194/0.075 ms

<-- no packet too big received with ipv4

labroot@MX1-re0> ping 192.168.0.100 source 192.168.0.1 routing-instance VR1 count 3 size 1500    
PING 192.168.0.100 (192.168.0.100): 1500 data bytes
--- 192.168.0.100 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
labroot@MX1-re0> ping 192.168.0.100 source 192.168.0.1 routing-instance VR1 count 3 size 1500    
PING 192.168.0.100 (192.168.0.100): 1500 data bytes
--- 192.168.0.100 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss

<-- nothing on the wire

labroot@MX1-re0> monitor traffic interface ae100.1 matching ip     
01:01:26.597079 Out IP truncated-ip - 1478 bytes missing! 192.168.0.1 > 192.168.0.100: ICMP echo request, id 39197, seq 0, length 1508
01:01:27.598162 Out IP truncated-ip - 1478 bytes missing! 192.168.0.1 > 192.168.0.100: ICMP echo request, id 39197, seq 1, length 1508
01:01:28.599236 Out IP truncated-ip - 1478 bytes missing! 192.168.0.1 > 192.168.0.100: ICMP echo request, id 39197, seq 2, length 1508
01:01:28.679470  In IP 10.0.1.2 > ospf-all.mcast.net: OSPFv2, Hello, length 60
01:01:28.939255 Out IP truncated-ip - 30 bytes missing! 10.0.1.1 > ospf-all.mcast.net: OSPFv2, Hello, length 60
01:01:38.523942 Out IP truncated-ip - 30 bytes missing! 10.0.1.1 > ospf-all.mcast.net: OSPFv2, Hello, length 60
01:01:38.678791  In IP 10.0.1.2 > ospf-all.mcast.net: OSPFv2, Hello, length 60
^C
429 packets received by filter
0 packets dropped by kernel

<--- ipv6 test
<-- no packet too big received with ipv6

labroot@MX1-re0> ping 3ffe::192:168:0:100 source 3ffe::192:168:0:1 routing-instance VR1 count 3 size 100
PING6(148=40+8+100 bytes) 3ffe::192:168:0:1 --> 3ffe::192:168:0:100
108 bytes from 3ffe::192:168:0:100, icmp_seq=0 hlim=63 time=12.308 ms
108 bytes from 3ffe::192:168:0:100, icmp_seq=1 hlim=63 time=11.942 ms
108 bytes from 3ffe::192:168:0:100, icmp_seq=2 hlim=63 time=1.218 ms

--- 3ffe::192:168:0:100 ping6 statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/std-dev = 1.218/8.489/12.308/5.144 ms

labroot@MX1-re0> ping 3ffe::192:168:0:100 source 3ffe::192:168:0:1 routing-instance VR1 count 3 size 1000  
PING6(1048=40+8+1000 bytes) 3ffe::192:168:0:1 --> 3ffe::192:168:0:100
1008 bytes from 3ffe::192:168:0:100, icmp_seq=0 hlim=63 time=1.342 ms
1008 bytes from 3ffe::192:168:0:100, icmp_seq=1 hlim=63 time=0.990 ms
1008 bytes from 3ffe::192:168:0:100, icmp_seq=2 hlim=63 time=2.984 ms
--- 3ffe::192:168:0:100 ping6 statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/std-dev = 0.990/1.772/2.984/0.869 ms

labroot@MX1-re0> ping 3ffe::192:168:0:100 source 3ffe::192:168:0:1 routing-instance VR1 count 3 size 1500   
PING6(1548=40+8+1500 bytes) 3ffe::192:168:0:1 --> 3ffe::192:168:0:100
--- 3ffe::192:168:0:100 ping6 statistics ---
3 packets transmitted, 0 packets received, 100% packet loss

<-- nothing on the wire

labroot@MX1-re0> monitor traffic interface ae100.1 matching icmp6   
01:04:10.645887 Out IP6 truncated-ip6 - 1498 bytes missing!3ffe::192:168:0:1 > 3ffe::192:168:0:100: ICMP6, echo request, seq 0, length 1508
01:04:10.646850 Out IP6 truncated-ip6 - 1498 bytes missing!3ffe::192:168:0:1 > 3ffe::192:168:0:100: ICMP6, echo request, seq 1, length 1508
01:04:11.645951 Out IP6 truncated-ip6 - 1498 bytes missing!3ffe::192:168:0:1 > 3ffe::192:168:0:100: ICMP6, echo request, seq 2, length 1508
01:04:15.339326  In IP6 fe80::3e08:cd00:188:ded6 > fe80::66c3:d600:1b8:c784: ICMP6, neighbor solicitation, who has fe80::66c3:d600:1b8:c784, length 32
01:04:15.339430 Out IP6 truncated-ip6 - 14 bytes missing!fe80::66c3:d600:1b8:c784 > fe80::3e08:cd00:188:ded6: ICMP6, neighbor advertisement[|icmp6]
^C
312 packets received by filter
0 packets dropped by kernel

Solution

This is a day one behavior in ACX7k and we need to take the fix of PR1793775 to make this work.

Modification History

2024-07-03 : Article Created