]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Fri Apr 4 11:15:04 EDT 2008 Pekka.Pessi@nokia.com
authorMichael Jerris <mike@jerris.com>
Fri, 4 Apr 2008 17:39:38 +0000 (17:39 +0000)
committerMichael Jerris <mike@jerris.com>
Fri, 4 Apr 2008 17:39:38 +0000 (17:39 +0000)
  * tport_type_udp.c: use IP_MTU_DISCOVER socket option to turn off DF flag

  Added check for IP_MTU_DISCOVER in m4/sac-su2.m4

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8022 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua/tport/tport_type_udp.c
libs/sofia-sip/m4/sac-su2.m4

index f0fd66e73e25ba1722872d45cc7fc8dead9859f7..cd699922b81eb73e5c12191a0196d9c6f502b014 100644 (file)
@@ -1 +1 @@
-Thu Apr  3 18:33:26 EDT 2008
+Fri Apr  4 13:39:32 EDT 2008
index 9b52abae1ca8b437383a9b0cc4f976196481678e..1ddce3e0df82a172c2e34cbba6f6082fd4c21672 100644 (file)
@@ -162,6 +162,17 @@ int tport_udp_init_primary(tport_primary_t *pri,
   }
 #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) {
index ef33ab23553f6ae2d28c88a24b848e78586f5ae1..8927ca142874ccaf2b7653e7335e3ba5e1edb472 100644 (file)
@@ -317,6 +317,13 @@ AC_DEFINE([HAVE_IP_MULTICAST_LOOP],1,[Define to 1 if you have IP_MULTICAST_LOOP]
 #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