tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

IPv6 reject routes



I noticed that my router creates ICMP6_UNREACH_ADDR
when traceroute6 hits a -reject route. IMHO, this is wrong;
it should be ICMP6_UNREACH_NOROUTE. 

I think the culprit are these lines in ip6_forward.c:

    672         case ENETUNREACH:       /* shouldn't happen, checked above */
    673         case EHOSTUNREACH:
    674         case ENETDOWN:
    675         case EHOSTDOWN:
    676         default:
    677                 type = ICMP6_DST_UNREACH;
    678                 code = ICMP6_DST_UNREACH_ADDR;
    679                 break;

they should read instead:

        case ENETUNREACH:
        case EHOSTUNREACH:
+               type = ICMP6_DST_UNREACH;
+               code = ICMP6_DST_UNREACH_NOROUTE;
+               break;
+ 
        case ENETDOWN:
        case EHOSTDOWN:
        default:
                type = ICMP6_DST_UNREACH;
                code = ICMP6_DST_UNREACH_ADDR;
                break;

Thoughts?
        -is
-- 
seal your e-mail: http://www.gnupg.org/


Home | Main Index | Thread Index | Old Index