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@