Created attachment 226304 [details] proposed patch Overview -------- traceroute6 expects to receive ICMP6_TIME_EXCEEDED from the network stack, but icmp6_rip6_input() does not let them through Steps to Reproduce ------------------ Setup with 3 targets DUT1 DUT2 DUT3 3001::1:11 -> 3001::1:12 -> 2001::1:12 -> 2001::1:13 DUT2 has forwarding enabled: net.inet6.ip6.forwarding: 1 -> 0 and on DUT1: traceroute6 -n -I 2001::1:13 Actual Results -------------- # traceroute6 -I dut3 raceroute6 to dut3 (2001::1:13) from 3001::1:11, 64 hops max, 20 byte packets 1 * * * 2 dut3 0.000 ms 0.000 ms 1.000 ms Expected Results ---------------- # traceroute6 -I dut3 traceroute6 to dut3 (2001::1:13) from 3001::1:11, 64 hops max, 20 byte packets 1 dut2 0.000 ms 1.000 ms 1.000 ms 2 dut3 2.000 ms 1.000 ms 2.000 ms Build Date & Hardware --------------------- FreeBSD freebsd 13.0-RELEASE FreeBSD 13.0-RELEASE #6 releng/13.0-n244733-ea31abc261f: Sat Jun 19 06:23:53 UTC 2021 Additional Information ---------------------- icmp6_rip6_input() should only check if the packet destination address is correct. attaching proposed patch.