Bug 257057 - icmp6 error messages not forwarding to traceroute6
Summary: icmp6 error messages not forwarding to traceroute6
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 13.0-STABLE
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-net (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-08 16:22 UTC by jcaplan
Modified: 2021-07-09 11:58 UTC (History)
0 users

See Also:


Attachments
proposed patch (567 bytes, patch)
2021-07-08 16:22 UTC, jcaplan
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description jcaplan 2021-07-08 16:22:07 UTC
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.