• A
    ipv6: delete expired route in ip6_pmtu_deliver · d3052b55
    Andrey Vagin 提交于
    The first big packets sent to a "low-MTU" client correctly
    triggers the creation of a temporary route containing the reduced MTU.
    
    But after the temporary route has expired, new ICMP6 "packet too big"
    will be sent, rt6_pmtu_discovery will find the previous EXPIRED route
    check that its mtu isn't bigger then in icmp packet and do nothing
    before the temporary route will not deleted by gc.
    
    I make the simple experiment:
    while :; do
        time ( dd if=/dev/zero bs=10K count=1 | ssh hostname dd of=/dev/null ) || break;
    done
    
    The "time" reports real 0m0.197s if a temporary route isn't expired, but
    it reports real 0m52.837s (!!!!) immediately after a temporare route has
    expired.
    Signed-off-by: NAndrey Vagin <avagin@openvz.org>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    d3052b55
route.c 68.3 KB