Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dist/ipf/netinet with IPv6 intermediate host will not pe...
details: https://anonhg.NetBSD.org/src/rev/1a8e119f3065
branches: trunk
changeset: 574434:1a8e119f3065
user: itojun <itojun%NetBSD.org@localhost>
date: Mon Feb 28 09:26:36 2005 +0000
description:
with IPv6 intermediate host will not perform PMTUD. ip6_getpmtu() is for
end node cases, so do not use it.
diffstat:
sys/dist/ipf/netinet/ip_fil_netbsd.c | 18 ++++++------------
1 files changed, 6 insertions(+), 12 deletions(-)
diffs (43 lines):
diff -r 4e4cd8d97b83 -r 1a8e119f3065 sys/dist/ipf/netinet/ip_fil_netbsd.c
--- a/sys/dist/ipf/netinet/ip_fil_netbsd.c Mon Feb 28 08:38:37 2005 +0000
+++ b/sys/dist/ipf/netinet/ip_fil_netbsd.c Mon Feb 28 09:26:36 2005 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_fil_netbsd.c,v 1.10 2005/02/21 22:01:52 martin Exp $ */
+/* $NetBSD: ip_fil_netbsd.c,v 1.11 2005/02/28 09:26:36 itojun Exp $ */
/*
* Copyright (C) 1993-2003 by Darren Reed.
@@ -1388,7 +1388,7 @@
struct ifnet *ifp;
frentry_t *fr;
u_long mtu;
- int error;
+ int error = 0;
ro = &ip6route;
fr = fin->fin_fr;
@@ -1429,20 +1429,14 @@
dst6->sin6_addr.s6_addr16[1] = htons(ifp->if_index);
{
-#if (__NetBSD_Version__ >= 106010000)
- struct in6_addr finaldst = fin->fin_dst6;
- int frag;
-#endif
+ struct in6_ifextra *ife;
+
if (ro->ro_rt->rt_flags & RTF_GATEWAY)
dst6 = (struct sockaddr_in6 *)ro->ro_rt->rt_gateway;
ro->ro_rt->rt_use++;
-#if (__NetBSD_Version__ <= 106009999)
- mtu = nd_ifinfo[ifp->if_index].linkmtu;
-#else
- /* Determine path MTU. */
- error = ip6_getpmtu(ro, ro, ifp, &finaldst, &mtu, &frag);
-#endif
+ ife = (struct in6_ifextra *)(ifp)->if_afdata[AF_INET6];
+ mtu = ife->nd_ifinfo[ifp->if_index].linkmtu;
if ((error == 0) && (m0->m_pkthdr.len <= mtu)) {
*mpp = NULL;
error = nd6_output(ifp, ifp, m0, dst6, rt);
Home |
Main Index |
Thread Index |
Old Index