diff --git a/configure.ac b/configure.ac index a3d7298..c2ac2f3 100644 --- a/configure.ac +++ b/configure.ac @@ -89,6 +89,11 @@ AC_CHECK_DECL([htobe64], [[#include ]])], [[#include ]]) +AC_CHECK_DECL([IP_MTU_DISCOVER], + [AC_DEFINE([HAVE_IP_MTU_DISCOVER], [1], + [Define if IP_MTU_DISCOVER is a valid sockopt.])], + , [[#include ]]) + # Checks for protobuf PKG_CHECK_MODULES([protobuf], [protobuf]) diff --git a/src/network/network.cc b/src/network/network.cc index dd1bce7..da1d2c7 100644 --- a/src/network/network.cc +++ b/src/network/network.cc @@ -106,11 +106,13 @@ void Connection::setup( void ) } /* Disable path MTU discovery */ +#ifdef HAVE_IP_MTU_DISCOVER char flag = IP_PMTUDISC_DONT; socklen_t optlen = sizeof( flag ); if ( setsockopt( sock, IPPROTO_IP, IP_MTU_DISCOVER, &flag, optlen ) < 0 ) { throw NetworkException( "setsockopt", errno ); } +#endif } Connection::Connection( const char *desired_ip ) /* server */