CVSROOT:        /cvs
Module name:    src
Changes by:     m...@cvs.openbsd.org    2015/10/13 04:16:17

Modified files:
        sys/netinet    : ip_output.c 
        sys/netinet6   : in6_src.c 

Log message:
Use rtisivalid(9) to check if the given (cached) route can be used.

Note that after calling rtalloc(9) we only check if a route has been
returned or not and do not check for its validity.  This cannot be
improved without a massive refactoring.

The kernel currently *do* use !RTF_UP route due to a mismatch between
the value of ifp->if_link_state and the IFF_UP|IFF_RUNNING code.

I'd explain the RTF_UP flag as follow:

.  If a cached route entry w/o RTF_UP is passed to ip{6,}_output(),
.  call rtalloc(9) to see if a better entry is present in the tree.

This is enough to support MPATH and route cache invalidation.

ok bluhm@

Reply via email to