On Junos OS Evolved products, ICMP time exceeded message is NOT generated for host bound traffic when TTL/Hop-limit exceeded, but generated for transit traffic when TTL/Hop-limit exceeded.
On the other hand, On Junos products, ICMP time exceeded message is generated for both host bound traffic and transit traffic when TTL exceeded.
ICMP time exceeded messages are NOT generated by EVO RE for TTL=0 host bound traffic case.
Here is the lab test results for the scenarios of TTL=0 or 1, destined to host vs transit, IPv4 vs IPv6.
#### ACX EVO ####
1. IPv4 TTL / Hop-limit 0, destined to ACX lo0 ------> "Time-to-live exceeded" message is NOT sent back to sender
"Time-to-live exceeded" message is NOT captured on IXIA port.
2. IPv6 TTL / Hop-limit 0, destined to ACX lo0 ------> "Time Exceeded" message is NOT sent back to sender
"Time Exceeded" message is NOT captured on IXIA port.
3. IPv4 TTL / Hop-limit 0, transit through ACX ------> "Time-to-live exceeded" message is sent back to sender
No. Time Source Destination Protocol Length Info
2 0.000024280 192.168.100.254 192.168.100.1 ICMP 74 Time-to-live exceeded (Time to live exceeded in transit)
Frame 2: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface unknown, id 0
Ethernet II, Src: JuniperN_33:1c:64 (d4:99:6c:33:1c:64), Dst: CETTechn_00:00:01 (00:11:01:00:00:01)
Internet Protocol Version 4, Src: 192.168.100.254, Dst: 192.168.100.1
Internet Control Message Protocol
Type: 11 (Time-to-live exceeded)
Code: 0 (Time to live exceeded in transit)
Checksum: 0xec75 [correct]
[Checksum Status: Good]
Unused: 00000000
Internet Protocol Version 4, Src: 192.168.100.1, Dst: 192.168.200.1
Data (8 bytes)
4. IPv4 TTL / Hop-limit 1, transit through ACX ------> "Time-to-live exceeded" message is sent back to sender
1 0.000000000 192.168.100.254 192.168.100.1 ICMP 74 Time-to-live exceeded (Time to live exceeded in transit)
Frame 1: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface unknown, id 0
5. IPv6 TTL / Hop-limit 0, transit through ACX ------> "Time Exceeded" message is sent back to sender
1 0.000000000 192:168:100::254 192:168:100::1 ICMPv6 176 Time Exceeded (hop limit exceeded in transit)
Frame 1: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface unknown, id 0
Internet Protocol Version 6, Src: 192:168:100::254, Dst: 192:168:100::1
Internet Control Message Protocol v6
Type: Time Exceeded (3)
Code: 0 (hop limit exceeded in transit)
Checksum: 0x8fd9 [correct]
Reserved: 00000000
Internet Protocol Version 6, Src: 192:168:100::1, Dst: 192:168:200::1
Data (70 bytes)
6. IPv6 TTL / Hop-limit 1, transit through ACX ------> "Time Exceeded" message is sent back to sender
3 0.000024840 192:168:100::254 192:168:100::1 ICMPv6 176 Time Exceeded (hop limit exceeded in transit)
Frame 3: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface unknown, id 0
Checksum: 0x5629 [correct]
#### MX Junos ####
7. IPv4 TTL / Hop-limit 0, destined to MX lo0 ------> "Time-to-live exceeded" message is sent back to sender
1 0.000000000 1.1.1.2 192.168.200.1 ICMP 74 Time-to-live exceeded (Time to live exceeded in transit)
Ethernet II, Src: JuniperN_32:22:01 (3c:8c:93:32:22:01), Dst: Cisco_00:00:01 (00:12:01:00:00:01)
Internet Protocol Version 4, Src: 1.1.1.2, Dst: 192.168.200.1
Internet Protocol Version 4, Src: 192.168.200.1, Dst: 1.1.1.2
8. IPv6 TTL / Hop-limit 0, destined to MX lo0 ------> "Time Exceeded" message is sent back to sender
2 0.000000140 1::2 192:168:200::1 ICMPv6 176 Time Exceeded (hop limit exceeded in transit)
Frame 2: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface unknown, id 0
Internet Protocol Version 6, Src: 1::2, Dst: 192:168:200::1
Checksum: 0xaef2 [correct]
Internet Protocol Version 6, Src: 192:168:200::1, Dst: 1::2
9. IPv4 TTL / Hop-limit 0, transit through MX ------> "Time-to-live exceeded" message is sent back to sender
1 0.000000000 192.168.200.254 192.168.200.1 ICMP 74 Time-to-live exceeded (Time to live exceeded in transit)
Internet Protocol Version 4, Src: 192.168.200.254, Dst: 192.168.200.1
Internet Protocol Version 4, Src: 192.168.200.1, Dst: 192.168.100.1
10. IPv4 TTL / Hop-limit 1, transit through MX ------> "Time-to-live exceeded" message is sent back to sender
11. IPv6 TTL / Hop-limit 0, transit through MX ------> "Time Exceeded" message is sent back to sender
11 0.000080320 192:168:200::254 192:168:200::1 ICMPv6 176 Time Exceeded (hop limit exceeded in transit)
Frame 11: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface unknown, id 0
Internet Protocol Version 6, Src: 192:168:200::254, Dst: 192:168:200::1
Checksum: 0xc3d4 [correct]
Internet Protocol Version 6, Src: 192:168:200::1, Dst: 192:168:100::1
12. IPv6 TTL / Hop-limit 1, transit through MX ------> "Time Exceeded" message is sent back to sender
12 0.000160060 192:168:200::254 192:168:200::1 ICMPv6 176 Time Exceeded (hop limit exceeded in transit)
Frame 12: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface unknown, id 0
Checksum: 0x620d [correct]
TTL/Hop-limit 0 packet will be discarded by EVO RE, and NO ICMP "Time exceeded" message sent back.
It is a production limitation of Junos Evolved, as it deviates from Junos OS behavior.