From patchwork Mon Feb 21 06:38:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gert Doering X-Patchwork-Id: 2308 Return-Path: Delivered-To: patchwork@openvpn.net Delivered-To: patchwork@openvpn.net Received: from director11.mail.ord1d.rsapps.net ([172.31.255.6]) by backend41.mail.ord1d.rsapps.net with LMTP id yMXKOFfOE2LrSgAAqwncew (envelope-from ) for ; Mon, 21 Feb 2022 12:39:35 -0500 Received: from proxy6.mail.iad3b.rsapps.net ([172.31.255.6]) by director11.mail.ord1d.rsapps.net with LMTP id 6GDVDljOE2LkaAAAvGGmqA (envelope-from ) for ; Mon, 21 Feb 2022 12:39:36 -0500 Received: from smtp29.gate.iad3b ([172.31.255.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by proxy6.mail.iad3b.rsapps.net with LMTPS id gO59CVjOE2LGYgAARawThA (envelope-from ) for ; Mon, 21 Feb 2022 12:39:36 -0500 X-Spam-Threshold: 95 X-Spam-Score: 0 X-Spam-Flag: NO X-Virus-Scanned: OK X-Orig-To: openvpnslackdevel@openvpn.net X-Originating-Ip: [216.105.38.7] Authentication-Results: smtp29.gate.iad3b.rsapps.net; iprev=pass policy.iprev="216.105.38.7"; spf=pass smtp.mailfrom="openvpn-devel-bounces@lists.sourceforge.net" smtp.helo="lists.sourceforge.net"; dkim=fail (signature verification failed) header.d=sourceforge.net; dkim=fail (signature verification failed) header.d=sf.net; dmarc=none (p=nil; dis=none) header.from=greenie.muc.de X-Suspicious-Flag: YES X-Classification-ID: 3ba472d0-933d-11ec-941d-525400534f55-1-1 Received: from [216.105.38.7] ([216.105.38.7:49188] helo=lists.sourceforge.net) by smtp29.gate.iad3b.rsapps.net (envelope-from ) (ecelerity 4.2.38.62370 r(:)) with ESMTPS (cipher=DHE-RSA-AES256-GCM-SHA384) id 69/27-08843-75EC3126; Mon, 21 Feb 2022 12:39:35 -0500 Received: from [127.0.0.1] (helo=sfs-ml-1.v29.lw.sourceforge.com) by sfs-ml-1.v29.lw.sourceforge.com with esmtp (Exim 4.94.2) (envelope-from ) id 1nMCdx-0006gb-QH; Mon, 21 Feb 2022 17:38:36 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-1.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nMCdv-0006gU-8b for openvpn-devel@lists.sourceforge.net; Mon, 21 Feb 2022 17:38:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:Message-Id: Date:Subject:To:From:Sender:Reply-To:Cc:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=CN9mTOuLLFHsB7fgUGRropENvNdL564pwdgAB2lM3GY=; b=jxRPuWRjTYiofvmu5nfoJuno9n lOVHRDMtkr5EI4ZDOhLUF7ghh4njLii/O5XaGONIYUdBX9DcTFiFZCJ46WxV8ju9WGa7+3+5ukm9n SniyOYb+pWMQdlVqEfQScdpG5tPndJd16LiFXxorwEFu4n8c7q0a8wmgHDFI8f0h74Fk=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:To:From: Sender:Reply-To:Cc:Content-Type:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=CN9mTOuLLFHsB7fgUGRropENvNdL564pwdgAB2lM3GY=; b=T JcRknnhTxI42lqZ46Ii0zymIiuhJOf5GV1ruuE+ISqfvQJldsh0FgCVdZ9NReqS2F+y70sKRxyh/V xmYlMjNSOUzpgm3+Xd64bTxAA2UpgaSRYlgpG5n0sjt/Qj+8AFSF8jgUi4eNgSDRg5ly16I74cq71 YHC35Zwhw4hbgu7Y=; Received: from dhcp-174.greenie.muc.de ([193.149.48.174] helo=blue.greenie.muc.de) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.94.2) id 1nMCdp-00AI9h-4f for openvpn-devel@lists.sourceforge.net; Mon, 21 Feb 2022 17:38:33 +0000 Received: from blue.greenie.muc.de (localhost [127.0.0.1]) by blue.greenie.muc.de (8.15.2/8.14.9) with ESMTP id 21LHcJEL010742 for ; Mon, 21 Feb 2022 18:38:19 +0100 Received: (from gert@localhost) by blue.greenie.muc.de (8.15.2/8.14.9/Submit) id 21LHcJvu010741 for openvpn-devel@lists.sourceforge.net; Mon, 21 Feb 2022 18:38:19 +0100 From: Gert Doering To: openvpn-devel@lists.sourceforge.net Date: Mon, 21 Feb 2022 18:38:18 +0100 Message-Id: <20220221173818.10693-1-gert@greenie.muc.de> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 X-Spam-Report: Spam detection software, running on the system "util-spamd-1.v13.lw.sourceforge.com", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: --mtu-disc (on Linux) needs two components to work: - setsockopt() with IP_MTU_DISCOVER or IPV6_MTU_DISCOVER - "extended error reporting" (setsockopt(IP_RECVERR) and then via mtu.c/format_extended_soc [...] Content analysis details: (-0.0 points, 6.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record X-Headers-End: 1nMCdp-00AI9h-4f Subject: [Openvpn-devel] [PATCH] Fix --mtu-disc maybe|yes on Linux. X-BeenThere: openvpn-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox --mtu-disc (on Linux) needs two components to work: - setsockopt() with IP_MTU_DISCOVER or IPV6_MTU_DISCOVER - "extended error reporting" (setsockopt(IP_RECVERR) and then via mtu.c/format_extended_socket_error()) to react on "packet too big" errors on sendto() / sendmsg() Some configure.ac reorganization broke detection of and "struct sock_extended_err". Fix configure.ac, leave syshead.h mess. Thus: 2022-02-21 18:21:11 write UDPv4 [EMSGSIZE Path-MTU=800]: Message too long (fd=3,code=90) 2022-02-21 18:21:11 Note adjusting 'mssfix 1400 mtu' to 'mssfix 800 mtu' according to path MTU discovery 2022-02-21 18:21:11 Note adjusting 'fragment 800 mtu' to 'fragment 800 mtu' according to path MTU discovery ... while at it, fix extra space in first part of message. Trac: #1452 Signed-off-by: Gert Doering --- configure.ac | 8 +++++++- src/openvpn/mss.c | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index d42185d0..7f4c239c 100644 --- a/configure.ac +++ b/configure.ac @@ -425,7 +425,7 @@ AC_CHECK_HEADERS([ \ unistd.h libgen.h stropts.h \ syslog.h pwd.h grp.h termios.h \ sys/sockio.h sys/uio.h linux/sockios.h \ - linux/types.h poll.h sys/epoll.h err.h \ + linux/types.h linux/errqueue.h poll.h sys/epoll.h err.h \ ]) SOCKET_INCLUDES=" @@ -457,6 +457,12 @@ SOCKET_INCLUDES=" #ifdef HAVE_NETINET_IP_H #include #endif +#ifdef HAVE_LINUX_TYPES_H +#include +#endif +#ifdef HAVE_LINUX_ERRQUEUE_H +#include +#endif " AC_CHECK_HEADERS( diff --git a/src/openvpn/mss.c b/src/openvpn/mss.c index 81692e91..c131183f 100644 --- a/src/openvpn/mss.c +++ b/src/openvpn/mss.c @@ -361,7 +361,7 @@ frame_adjust_path_mtu(struct context *c) || (o->ce.mssfix_encap && pmtu < o->ce.mssfix + encap_overhead)) { const char* mtustr = o->ce.mssfix_encap ? " mtu" : ""; - msg(D_MTU_INFO, "Note adjusting 'mssfix %d %s' to 'mssfix %d mtu' " + msg(D_MTU_INFO, "Note adjusting 'mssfix %d%s' to 'mssfix %d mtu' " "according to path MTU discovery", o->ce.mssfix, mtustr, pmtu); o->ce.mssfix = pmtu; @@ -374,7 +374,7 @@ frame_adjust_path_mtu(struct context *c) (o->ce.fragment_encap && pmtu < o->ce.fragment + encap_overhead)) { const char* mtustr = o->ce.fragment_encap ? " mtu" : ""; - msg(D_MTU_INFO, "Note adjusting 'fragment %d %s' to 'fragment %d mtu' " + msg(D_MTU_INFO, "Note adjusting 'fragment %d%s' to 'fragment %d mtu' " "according to path MTU discovery", o->ce.mssfix, mtustr, pmtu); o->ce.fragment = pmtu;