• David S. Miller's avatar
    ipv4: Cache learned PMTU information in inetpeer. · 2c8cec5c
    David S. Miller authored
    The general idea is that if we learn new PMTU information, we
    bump the peer genid.
    
    This triggers the dst_ops->check() code to validate and if
    necessary propagate the new PMTU value into the metrics.
    
    Learned PMTU information self-expires.
    
    This means that it is not necessary to kill a cached route
    entry just because the PMTU information is too old.
    
    As a consequence:
    
    1) When the path appears unreachable (dst_ops->link_failure
       or dst_ops->negative_advice) we unwind the PMTU state if
       it is out of date, instead of killing the cached route.
    
       A redirected route will still be invalidated in these
       situations.
    
    2) rt_check_expire(), rt_worker_func(), et al. are no longer
       necessary at all.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2c8cec5c
route.c 81.9 KB