2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 06:25:31 +00:00

2863. [port] linux: disable IPv6 PMTUD and use network minimum MTU.

[RT #21056]
This commit is contained in:
Mark Andrews
2010-03-11 04:43:57 +00:00
parent b9df4728f1
commit 08fb52ec8c
2 changed files with 24 additions and 1 deletions

View File

@@ -1,3 +1,6 @@
2863. [port] linux: disable IPv6 PMTUD and use network minimum MTU.
[RT #21056]
2862. [bug] nsupdate didn't default to the parent zone when
updating DS records. [RT #20896]

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: socket.c,v 1.328 2010/01/31 23:49:09 tbox Exp $ */
/* $Id: socket.c,v 1.329 2010/03/11 04:43:57 marka Exp $ */
/*! \file */
@@ -2396,6 +2396,26 @@ opensocket(isc__socketmgr_t *manager, isc__socket_t *sock) {
(void *)&on, sizeof(on));
}
#endif
#if defined(IPV6_MTU)
/*
* Use minimum MTU on IPv6 sockets.
*/
if (sock->pf == AF_INET6) {
int mtu = 1280;
(void)setsockopt(sock->fd, IPPROTO_IPV6, IPV6_MTU,
&mtu, sizeof(mtu));
}
#endif
#if defined(IPV6_MTU_DISCOVER) && defined(IPV6_PMTUDISC_DONT)
/*
* Turn off Path MTU discovery on IPv6/UDP sockets.
*/
if (sock->pf == AF_INET6) {
int action = IPV6_PMTUDISC_DONT;
(void)setsockopt(sock->fd, IPPROTO_IPV6, IPV6_MTU_DISCOVER,
&action, sizeof(action));
}
#endif
#endif /* ISC_PLATFORM_HAVEIPV6 */
#endif /* defined(USE_CMSG) */