Mark,

Fair enough, it appears the short answer to which implementation you know of is 
BIND (I assume 9.x). With respect to IPV6_USE_MIN_MTU, I thought the value for 
this was 1280. If so, this simply circumvents PMTUD and uses the IPv6 minimum 
MTU.

Best Regards, 
  
Jeffrey Dunn 
Info Systems Eng., Lead 
MITRE Corporation.
(301) 448-6965 (mobile)


-----Original Message-----
From: [email protected] [mailto:[email protected]] 
Sent: Thursday, January 22, 2009 11:37 PM
To: Dunn, Jeffrey H.
Cc: [email protected]; [email protected]; Huang, Frank; Sherman, Kurt T.; 
[email protected]; Liou, Chern; [email protected]; [email protected]; 
[email protected]; Grayeli, Parisa
Subject: Re: End System PMTUD behavior question 


In message <[email protected]>, "Dun
n, Jeffrey H." writes:
> Mark,
> 
> Could you elaborate on what you mean by "DNS servers just tell the kernel t=
> o fragment at network mtu for UDP/IPv6 and ensure that DF is off for UDP/IP=
> v4."  What is the "network MTU?" Also, to which implementations of DNS serv=
> er are you referring?

        Cut-and-pasted from BIND's bsd socket implementation.

        Mark

#ifdef IPV6_USE_MIN_MTU        /* RFC 3542, not too common yet*/
                /* use minimum MTU */
                if (sock->pf == AF_INET6) {
                        (void)setsockopt(sock->fd, IPPROTO_IPV6,
                                         IPV6_USE_MIN_MTU,
                                         (void *)&on, sizeof(on));
                }
#endif

#if defined(IP_MTU_DISCOVER) && defined(IP_PMTUDISC_DONT)
                /*
                 * Turn off Path MTU discovery on IPv4/UDP sockets.
                 */
                if (sock->pf == AF_INET) {
                        int action = IP_PMTUDISC_DONT;
                        (void)setsockopt(sock->fd, IPPROTO_IP, IP_MTU_DISCOVER,
                                         &action, sizeof(action));
                }
#endif
#if defined(IP_DONTFRAG)
                /*
                 * Turn off Path MTU discovery on IPv4/UDP sockets.
                 */
                if (sock->pf == AF_INET) {
                        int off = 0;
                        (void)setsockopt(sock->fd, IPPROTO_IP, IP_DONTFRAG,
                                         &off, sizeof(off));
                }
#endif

 
> Best Regards,=20
> =A0=20
> Jeffrey Dunn=20
> Info Systems Eng., Lead=20
> MITRE Corporation.
> (301) 448-6965 (mobile)
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: [email protected]
--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email protected]
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to