summaryrefslogtreecommitdiffstats
path: root/sys/netinet/ip_ipsec.h
diff options
context:
space:
mode:
authorbz <bz@FreeBSD.org>2008-04-09 05:17:18 +0000
committerbz <bz@FreeBSD.org>2008-04-09 05:17:18 +0000
commitfc8ae9a88aa543f10afbec4bdb6ea26aec97ba02 (patch)
treec1504a2fafc4b8746998fa10be19fc0a64f65183 /sys/netinet/ip_ipsec.h
parent015b99f5de0cb08ea61dfd16e1e491a2db41fa68 (diff)
downloadFreeBSD-src-fc8ae9a88aa543f10afbec4bdb6ea26aec97ba02.zip
FreeBSD-src-fc8ae9a88aa543f10afbec4bdb6ea26aec97ba02.tar.gz
Take the route mtu into account, if available, when sending an
ICMP unreach, frag needed. Up to now we only looked at the interface MTU. Make sure to only use the minimum of the two. In case IPSEC is compiled in, loop the mtu through ip_ipsec_mtu() to avoid any further conditional maths. Without this, PMTU was broken in those cases when there was a route with a lower MTU than the MTU of the outgoing interface. PR: kern/122338 Tested by: Mark Cammidge mark peralex.com Reviewed by: silence on net@ MFC after: 2 weeks
Diffstat (limited to 'sys/netinet/ip_ipsec.h')
-rw-r--r--sys/netinet/ip_ipsec.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/ip_ipsec.h b/sys/netinet/ip_ipsec.h
index af82b31..7f7a7ad 100644
--- a/sys/netinet/ip_ipsec.h
+++ b/sys/netinet/ip_ipsec.h
@@ -35,7 +35,7 @@
int ip_ipsec_filtertunnel(struct mbuf *);
int ip_ipsec_fwd(struct mbuf *);
int ip_ipsec_input(struct mbuf *);
-int ip_ipsec_mtu(struct mbuf *);
+int ip_ipsec_mtu(struct mbuf *, int);
int ip_ipsec_output(struct mbuf **, struct inpcb *, int *, int *,
struct route **, struct route *, struct sockaddr_in **,
struct in_ifaddr **, struct ifnet **);
OpenPOWER on IntegriCloud