K 10 svn:author V 2 ru K 8 svn:date V 27 2001-12-20T10:30:19.000000Z K 7 svn:log V 1463 MFC: net/ if.c,v 1.124, if_disc.c,v 1.29, if_faith.c,v 1.8, if_loop.c,v 1.65, if_stf.c,v 1.14, if_var.h,v 1.40, route.c,v 1.67, route.h,v 1.41, rtsock.c,v 1.61 netinet/ if_atm.c,v 1.9, if_atm.h,v 1.4, if_ether.c,v 1.85, in_pcb.c,v 1.91 netinet6/ in6_pcb.c,v 1.21, nd6.c,v 1.14, nd6.h,v 1.9 Pull post-4.4BSD change to sys/net/route.c from BSD/OS 4.2, also found in CSRG archive. Have sys/net/route.c:rtrequest1(), which takes ``rt_addrinfo *'' as the argument. Pass rt_addrinfo all the way down to rtrequest1 and ifa->ifa_rtrequest. 3rd argument of ifa->ifa_rtrequest is now ``rt_addrinfo *'' instead of ``sockaddr *'' (almost no one is using it anyways). Benefit: the following command now works. Previously we needed two route(8) invocations, "add" then "change". # route add -inet6 default ::1 -ifp gif0 Remove unsafe typecast in rtrequest(), from ``rtentry *'' to ``sockaddr *''. It was introduced by 4.3BSD-Reno and never corrected. Also, bring in the following fixes from -CURRENT that prevented this code from being MFC'ed earlier: net/ rtsock.c,v 1.62 In RTM_CHANGE, only call rt_getifa() (to set the new ifp/ifa) if we've either been passed a gateway (and the route is marked as RTF_GATEWAY) or if we've been given an RTA_IFP or changed RTA_IFA sockaddr. net/ rtsock.c,v 1.63 Back out revision 1.7 -- it's no longer necessary to ensure that ``gate'' is set when RTF_GATEWAY is passed, as subsequent code does that check now anyway. END