Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Jun-ichiro itojun Hagino <itojun@netbsd.org>
List: source-changes
Date: 01/17/2001 06:05:46
Module Name:	syssrc
Committed By:	itojun
Date:		Wed Jan 17 04:05:46 UTC 2001

Modified Files:
	syssrc/sys/net: if.c if.h if_faith.c if_loop.c if_stf.c route.c route.h
	    rtsock.c
	syssrc/sys/netccitt: if_x25subr.c pk_extern.h pk_llcsubr.c x25.h
	syssrc/sys/netinet: if_arp.c if_atm.c if_atm.h if_ieee1394arp.c
	    if_ieee1394arp.h if_inarp.h
	syssrc/sys/netinet6: nd6.c nd6.h
	syssrc/sys/netiso: eonvar.h if_eon.c iso_snpac.c iso_var.h

Log Message:
pull post-4.4BSD change to sys/net/route.c from BSD/OS 4.2 (UCB copyrighted).

have sys/net/route.c:rtrequest1(), which takes rt_addrinfo * as the argument.
pass rt_addrinfo all the way down to rtrequest, and ifa->ifa_rtrequest.
3rd arg of ifa->ifa_rtrequest is now rt_addrinfo * instead of sockaddr *
(almost noone is using it anyways).

benefit: the follwoing command now works.  previously we need 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.

XXX is eon_rtrequest() change correct regarding to 3rd arg?
eon_rtrequest() and rtrequest() were incorrect since 4.3BSD-reno,
so i do not have correct answer in the source code.
someone with more clue about netiso-over-ip, please help.


To generate a diff of this commit:
cvs rdiff -r1.81 -r1.82 syssrc/sys/net/if.c
cvs rdiff -r1.63 -r1.64 syssrc/sys/net/if.h
cvs rdiff -r1.15 -r1.16 syssrc/sys/net/if_faith.c
cvs rdiff -r1.35 -r1.36 syssrc/sys/net/if_loop.c
cvs rdiff -r1.8 -r1.9 syssrc/sys/net/if_stf.c
cvs rdiff -r1.38 -r1.39 syssrc/sys/net/route.c
cvs rdiff -r1.23 -r1.24 syssrc/sys/net/route.h
cvs rdiff -r1.44 -r1.45 syssrc/sys/net/rtsock.c
cvs rdiff -r1.22 -r1.23 syssrc/sys/netccitt/if_x25subr.c
cvs rdiff -r1.8 -r1.9 syssrc/sys/netccitt/pk_extern.h
cvs rdiff -r1.10 -r1.11 syssrc/sys/netccitt/pk_llcsubr.c \
    syssrc/sys/netccitt/x25.h
cvs rdiff -r1.70 -r1.71 syssrc/sys/netinet/if_arp.c
cvs rdiff -r1.12 -r1.13 syssrc/sys/netinet/if_atm.c
cvs rdiff -r1.4 -r1.5 syssrc/sys/netinet/if_atm.h
cvs rdiff -r1.1 -r1.2 syssrc/sys/netinet/if_ieee1394arp.c \
    syssrc/sys/netinet/if_ieee1394arp.h
cvs rdiff -r1.31 -r1.32 syssrc/sys/netinet/if_inarp.h
cvs rdiff -r1.33 -r1.34 syssrc/sys/netinet6/nd6.c
cvs rdiff -r1.15 -r1.16 syssrc/sys/netinet6/nd6.h
cvs rdiff -r1.9 -r1.10 syssrc/sys/netiso/eonvar.h
cvs rdiff -r1.30 -r1.31 syssrc/sys/netiso/if_eon.c
cvs rdiff -r1.23 -r1.24 syssrc/sys/netiso/iso_snpac.c
cvs rdiff -r1.14 -r1.15 syssrc/sys/netiso/iso_var.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.