From 70e4be3ea2932a4a2c3c8e85675ba6fe3eb8edcc Mon Sep 17 00:00:00 2001 From: Jun-ichiro itojun Hagino Date: Fri, 19 Jan 2001 06:37:39 +0000 Subject: 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. --- sys/netccitt/pk_extern.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sys/netccitt/pk_extern.h') diff --git a/sys/netccitt/pk_extern.h b/sys/netccitt/pk_extern.h index 42c13c6260e..4de391d3a66 100644 --- a/sys/netccitt/pk_extern.h +++ b/sys/netccitt/pk_extern.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pk_extern.h,v 1.2 1996/04/19 16:10:07 niklas Exp $ */ +/* $OpenBSD: pk_extern.h,v 1.3 2001/01/19 06:37:37 itojun Exp $ */ /* $NetBSD: pk_extern.h,v 1.1 1996/02/13 22:05:17 christos Exp $ */ /* @@ -39,6 +39,7 @@ struct x25_packet; struct llc_linkcb; struct bcdinfo; struct sockaddr_dl; +struct rt_addrinfo; /* pk_acct.c */ int pk_accton __P((char *)); @@ -64,7 +65,7 @@ void pk_call_accepted __P((struct pklcd *, struct mbuf *)); void pk_parse_facilities __P((octet *, struct sockaddr_x25 *)); /* pk_llcsubr.c */ -void cons_rtrequest __P((int, struct rtentry *, struct sockaddr *)); +void cons_rtrequest __P((int, struct rtentry *, struct rt_addrinfo *)); struct rtentry *npaidb_enter __P((struct sockaddr_dl *, struct sockaddr *, struct rtentry *, struct llc_linkcb *)); struct rtentry *npaidb_enrich __P((short, caddr_t, struct sockaddr_dl *)); -- cgit v1.2.3