diff options
author | Ruslan Ermilov <ru@FreeBSD.org> | 2001-10-17 18:07:05 +0000 |
---|---|---|
committer | Ruslan Ermilov <ru@FreeBSD.org> | 2001-10-17 18:07:05 +0000 |
commit | 8071913df2dce4a8c721eeecb338c9fb7d0f8485 (patch) | |
tree | 6e9f67b95d216263dd912c61fa5f86b94ce2d728 /sys/net/if_disc.c | |
parent | 9082264160f2b068718592bfd97e86af60a9bf2e (diff) | |
download | src-8071913df2dce4a8c721eeecb338c9fb7d0f8485.tar.gz src-8071913df2dce4a8c721eeecb338c9fb7d0f8485.zip |
Pull post-4.4BSD change to sys/net/route.c from BSD/OS 4.2.
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 noone 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.
Obtained from: BSD/OS, NetBSD
MFC after: 1 month
PR: kern/28360
Notes
Notes:
svn path=/head/; revision=85074
Diffstat (limited to 'sys/net/if_disc.c')
-rw-r--r-- | sys/net/if_disc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/net/if_disc.c b/sys/net/if_disc.c index c04c6c29d6f9..fbabf3078df3 100644 --- a/sys/net/if_disc.c +++ b/sys/net/if_disc.c @@ -66,7 +66,7 @@ static void discattach(void); static struct ifnet discif; static int discoutput(struct ifnet *, struct mbuf *, struct sockaddr *, struct rtentry *); -static void discrtrequest(int, struct rtentry *, struct sockaddr *); +static void discrtrequest(int, struct rtentry *, struct rt_addrinfo *); static int discioctl(struct ifnet *, u_long, caddr_t); static void @@ -151,7 +151,7 @@ discoutput(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, /* ARGSUSED */ static void -discrtrequest(int cmd, struct rtentry *rt, struct sockaddr *sa) +discrtrequest(int cmd, struct rtentry *rt, struct rt_addrinfo *info) { if (rt) rt->rt_rmx.rmx_mtu = DSMTU; |