}
#endif
+#if HAVE_IP_MTU_DISCOVER
+ {
+ /* Turn off DF flag on Linux */
+ int dont = IP_PMTUDISC_DONT;
+ if (setsockopt(s, IPPROTO_IP, IP_MTU_DISCOVER, &dont, sizeof(dont)) < 0) {
+ SU_DEBUG_3(("setsockopt(%s): %s\n",
+ "IP_MTU_DISCOVER", su_strerror(su_errno())));
+ }
+ }
+#endif
+
#if HAVE_IP_RECVERR
if (ai->ai_family == AF_INET || ai->ai_family == AF_INET6) {
if (setsockopt(s, IPPROTO_IP, IP_RECVERR, &one, sizeof(one)) < 0) {
#include <sys/socket.h>
#include <netinet/in.h>])
+AC_CHECK_DECL([IP_MTU_DISCOVER],
+AC_DEFINE([HAVE_IP_MTU_DISCOVER],1,
+[Define to 1 if you have IP_MTU_DISCOVER]),,[
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>])
+
AC_CACHE_CHECK([for struct addrinfo],
[ac_cv_struct_addrinfo],[
ac_cv_struct_addrinfo=no