From patchwork Tue May 28 17:42:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Franco Fichtner X-Patchwork-Id: 3715 Return-Path: Delivered-To: patchwork@openvpn.net Received: by 2002:a05:7000:a49c:b0:57d:b2cb:6cf with SMTP id gz28csp64090mab; Tue, 28 May 2024 12:16:56 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVT27msj+BlzB9ybR1SojkGMptGb6AzcdHI+rYTttSdt7aI38ytp3a9f3+ghN5VUn8Wjr2X9sqcnmxKfndbUk27gOQ64m8= X-Google-Smtp-Source: AGHT+IFXZSsEAnurUvFFurhwmk7IHhiMXp3zrQfpQpKVViPhydvThoh9V+VRxqKM9VozPRmFjlNx X-Received: by 2002:a05:6a00:2176:b0:6ec:ee44:17bb with SMTP id d2e1a72fcca58-6f8f3e843a1mr13579389b3a.2.1716923816471; Tue, 28 May 2024 12:16:56 -0700 (PDT) Received: from lists.sourceforge.net (lists.sourceforge.net. [216.105.38.7]) by mx.google.com with ESMTPS id d2e1a72fcca58-6f8fc0521d9si8434982b3a.10.2024.05.28.12.16.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 May 2024 12:16:56 -0700 (PDT) Received-SPF: pass (google.com: domain of openvpn-devel-bounces@lists.sourceforge.net designates 216.105.38.7 as permitted sender) client-ip=216.105.38.7; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b=AsxNt3y8; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=Ljaiikdo; dkim=neutral (body hash did not verify) header.i=@deciso0.onmicrosoft.com header.s=selector1-deciso0-onmicrosoft-com header.b=aXYzYaHT; arc=fail (body hash mismatch); spf=pass (google.com: domain of openvpn-devel-bounces@lists.sourceforge.net designates 216.105.38.7 as permitted sender) smtp.mailfrom=openvpn-devel-bounces@lists.sourceforge.net Received: from [127.0.0.1] (helo=sfs-ml-3.v29.lw.sourceforge.com) by sfs-ml-3.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1sC2JF-0004bb-In; Tue, 28 May 2024 19:16:33 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-3.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1sC2JC-0004bQ-NH for openvpn-devel@lists.sourceforge.net; Tue, 28 May 2024 19:16:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=MIME-Version:Content-Transfer-Encoding:Content-ID: Content-Type:Message-ID:Date:Subject:To:From:Sender:Reply-To:Cc: 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=TmCgXaUeDDlVXl/8pXgJHPCXoY7RfU0PNfW/pSH4dYk=; b=AsxNt3y8jnUxvIPsbjqLy0JjMN YuJ1loOyHqx8e44fM9ej8uJFHDpMNz+v32C9DychaUb2dQwIYxKSgHnMRtfSojWv4jdsc8zX1hDEY xkbS5wMiYMtEwqCSK8knEkscPvGyaQjPnPRriwweSuoC1e739OXybAxS2G+hRStjkz7w=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=MIME-Version:Content-Transfer-Encoding:Content-ID:Content-Type:Message-ID :Date:Subject:To:From:Sender:Reply-To:Cc: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=TmCgXaUeDDlVXl/8pXgJHPCXoY7RfU0PNfW/pSH4dYk=; b=L jaiikdow1jbbkvG3XSj8B1Q/YJWARVAQl2L58aXdPHZXXtZfxQJnE6gEy8qgsjMlb/qlz6gmTU+wZ IWTF0rOdrb0Nt4X4IYhg56RJv9hBxiUBXg7BWuFo9ITwsYEONxcqhPDrxCZlRFTgoyW95ITyt3My9 pWZzXImJHFW2FPZY=; Received: from mail-db5eur02on2137.outbound.protection.outlook.com ([40.107.249.137] helo=EUR02-DB5-obe.outbound.protection.outlook.com) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1sC2JA-0000Jo-6x for openvpn-devel@lists.sourceforge.net; Tue, 28 May 2024 19:16:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G2dZmxMT3gzYtAviK9vK8BbteTO+uBA5OwZt/m5+Z7/CMxndHJ4YaUXKLiVA2jrygCRFjYuwhs1WyvKU/km6QpGrAEvg5M6925rLNnVR/IJgQw+i2ollcACqMLPehPQbbM4CJXnCoB79kz6CBA8VtqNtK2VKAUFh72ts7KDVXD0tBEQHLP60PJKPtEWE/TDK32I8xSQXjWc+3QL2u4zhEMwbhajheSo6VbRVybqJBPvwyJhJNy53anQxvceD4xduCj1Rz0HT7rxTv8rJun+taT8vFlMfaUZADNcgq42RPCGu/pp8PnMFRthiKHK0hWgy5043C8/dho/MzVFE5P5bNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TmCgXaUeDDlVXl/8pXgJHPCXoY7RfU0PNfW/pSH4dYk=; b=fUB9HYroz+RYxemUzQGkWU1NBkvCHLO86Pp3T10MXl87v3n0t8keGcsh9v5mDzHLoIEJoUPNPBK/QlEAHZy1mMKTVd0PbAUyu8UgZ+KXH8rviyRYfjOGgqqg3tHKf3bucymDlMr8/rOR7RZkIETIkwG2t5tATyaISBbh/NPkjXaU1Vx52ZotvrDdt0Ew/V5qeQVp3GBTkBwBkv/ifEDPo8LzBBICE7svpD1Q9b+34aqfvH/u9vECNn2fLZwEqhvLC+MvDUFrSLul7OGZuzFMwU4cK6C6yoJXRhl6Je2AO/+gZG5L2CY1zWlpN5axn2HfSMhxnSSqX02xhvm8b+TIRg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=opnsense.org; dmarc=pass action=none header.from=opnsense.org; dkim=pass header.d=opnsense.org; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=deciso0.onmicrosoft.com; s=selector1-deciso0-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TmCgXaUeDDlVXl/8pXgJHPCXoY7RfU0PNfW/pSH4dYk=; b=aXYzYaHT55ByJD7o6n2w7ha3wRMsug7ZKFBHg3Tij7BJiJMs5L6vOlT2PbjSKtDmfjep/EfYSLEVe8IKx3mFC9BDhNGtqjLMLMg4kuwkPz1qs5rghTXLYvtUOBIxfwIHmFrGPd0IAQyV/YC9bzDrpmhV/qbzi6uFzDF605w9CTc= Received: from GV1P193MB2420.EURP193.PROD.OUTLOOK.COM (2603:10a6:150:27::11) by PAXP193MB1453.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:13e::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.30; Tue, 28 May 2024 17:42:56 +0000 Received: from GV1P193MB2420.EURP193.PROD.OUTLOOK.COM ([fe80::1c3b:6e9e:ef75:ff71]) by GV1P193MB2420.EURP193.PROD.OUTLOOK.COM ([fe80::1c3b:6e9e:ef75:ff71%3]) with mapi id 15.20.7611.030; Tue, 28 May 2024 17:42:52 +0000 From: Franco Fichtner To: "openvpn-devel@lists.sourceforge.net" Thread-Topic: [PATCH 1/1] Allow to set ifmode for existing DCO interfaces in FreeBSD Thread-Index: AQHasSZ3Q9ICd2pGykeHFex8MGWs9w== Date: Tue, 28 May 2024 17:42:52 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=opnsense.org; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: GV1P193MB2420:EE_|PAXP193MB1453:EE_ x-ms-office365-filtering-correlation-id: c88fc32b-0cb8-4f13-2a85-08dc7f3d997d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|366007|1800799015|376005|38070700009; x-microsoft-antispam-message-info: Tq3uT/ZbnjWEBoTg6191R96b1FlbkkqAdkgOlnmPQiMoq+6FQywjng/11NohxbmMaQ2zLYOh2ZIW0AKOVUktIXiREaK9ui3XdwA6DcUe62iM4cwB073Jdpf3k/77oDr9qqEJ7tiT9hDdN9hy7/zSwJnjhCyDM/iajWA7pWlGzjQ+rrH6dfH3K0cx0V54nx1G8wa+/0K2jUzvi2u+vzXZgY3GcjqMLbpSsAEuk0jM6EDnwOCO/yDY30+KAW8GzIgI68YO8FbsmGLH1RJZQpcgUDp6txqpGerfs6LlsHKANlnX6u868SpSanjYGaxQcuUV83Byn7b2lnd4R1s5ukOpNi862Qov+bNiOZAwVDTTlSwSB/Om1Qcq1qAC88tYKmi9gzsAVouzjVMwJUAFUqcK7RWCk/NaY+NRSaJXYpQ0nay7qDBmm8MdT0f1OikMgAiRKHuZTdizi6pIWTAijfUqbXCdS8E8Tgi522RCEdEw5eXnziDN42PX0u+8LwwOpRcWndzw5wxSrSBYLzVgS9s7MNF1NKmR9I08rnIjiMv61f3GkHJyfkpgDub+p1ouhag6l+a1P7V3eWbtErt9vQ325ivoD060clk3Z6UwTFOGgvX0bmcIQ0UX9sC2QPGKSF2vsa1m9Hbu1TVD1yWHiPWP5op2SMeNzYhZ5Z1uaqWBJW3htSdIwpCvYn1lV/mXFfpM6svUqbdkNa5KnQpaFZZEaZjePMI8W2ZGDylvpGerWLU34wZAEuafw8l4/yeok6M2XAkJLBhOnbgkgrA1NjhAr3jtkB23uFuxG9qOz7haw5BzVG9x5obvLS/csjwMnNMPunyGpSV+vAZqPu3XcmYP3aMzD4azxi2+rRlqCYjeQuodFGWeVKSpI3gD6cSJ6/a3L/yMpNFsJgf2VYXk7corXGgM0bIh2jbqBxHQD8oVuR+JjG+g3pFVtvMdQLuYeXbahghQy/GeUv/bfc6MADDGBAQqjrwUnfSsTiyUgYDvLGFz8uZQ6J1yAdulN/t+YHcXJTejYR9FrmCpS89MFTUwHp3wvzuXY/zqUMuleJ3VTTl5RUL0qZgjL/MJEqjXWvT0CZdXJ3GMS478C5FCSwoBbq4vuIaCCR2En1vpvgThAwapAVgZXsGrgq/SU6ptoGGRQCoV5eO7SYuhbirQexu03b44PMxnzZfoG5c7Xb6QFamPvLDZBgyFH7eI4PSiaEHS2nTsMcK6Qck8rETHMsleAAOZMg8ISzr4q8/E0O+juDnH+OH9gpZ2CB/VPM1LYmtk7B0jwAgrzz5kxfnD/dew3/YI0Fhc+ZJ1YDvs6Fagn/pJnF+xhNXpHOH/7t2EodSXF6CFYjSDzczhXjD1iZ/VoQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:GV1P193MB2420.EURP193.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(366007)(1800799015)(376005)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: eae9BseeynxgXgP+OYgYja2ABpkUveiZ9gY39GIMgVlcAxBvFD6hGybpD6r24l/ZCel/1NHVEnuZfmxRBjyodBiYbUOzxtRwiZem4kkg0egBv5peJr8GjR+cDeZFa8NUsoS1rlssJ4guCNQoaX2/KM5L11Ov8Ls5PRor2m0kNRw/Y2jpFN2MU50Va5FJRhu+2NkghIaqDb/iRjMD/GNMZemwsUMd08CEooi7vkgfGAHMNFRfijk1/cT0KNzcSfNLfjU04tfGKOPQj2MCK9ibIg7+9Y57n1KE9h9UG0yiR8PmGSMDAakTL9nzV/oAbr5SG4b8qTKA0r45XZfpeA+26YTkIbcZXMc6vtKMhKHmb12hPRSvF8OdxGMvrCB7OfeBi23NvKW8bY+9xkFqkBgYAfndDYsISj9OkEbIV1VDi3/9VZRQSKOlpCaxDYQ83L386m3jY1t2WmSQ5M+bFfT3Z2oaXiccs179L+nP5FneqUeJWxYo6rYcrJsNGAuzhGGrNnJzlDBsXPDpw1x03rL4OQm3Cx6o1Cz6sVHdS+JXs4297tVsLq0caz8SLaRWCirX2P37xBUz7tHQnIE/h99udPNBXBtEQEZfHMAO5V7H8+7Kew1adVLxDubmTWz2fmGCq8IuuiQIO4Y62R5YK4wLQ2vW3wufNU1OvHbMNRcLnIYY4HdkEPHv0pcL6G5vWamnkwppTUCY2ZEVTJYeyU8gZtOke/tR6chxJah6PSoWuDmBrJsVycIWqb+FxfIt6o4g5/wxXfmi4cW/493dZe29xhUKZLce2r/V9brYGJFGj0hwiTE5bIWFw6yFQ75OI0aIX2+yuWxwf3rZXkNUC0Ti/o3kVokOfkywrbEwJfQ8Lt4jxdQp0dMqC/+/TuUWiGi8TjnYKx8Ns/d+xZLrWjIp4njrFQraz3aV2sbYiGtu6ILi5LSpn0d+dbByqO1Wt7I1E/L6nzNHXXYv/CMzVfb0eiqMv7w2MPdEfeuRTJ4PoqjEloDIwOxJxrV73Z+pucIUyaFl4XZ0Sq08KR288rq99c/gxkZTsBGIshHABtBw8wMVipmPS5elXqMNRG7ir04IHKw259/WrZlLUenQGR6saaRQwLYidn03aRcJ3zEZQvPuvXI9ECZ2+rh7j3CV5WHwVTINZ+PVP0/7R8jgvQBuUItMZaJJ5eojaiJkPzhkZEOVB+saQCWonTMlL1cPLKv86x5CGOdRD4vQWSzHaHDJXjrYWnjv3IiFkEXB99CwR1tma5RrA4+buM8+k8VHOjn02aNG5XO8VkhXObJFek2nFA7vl6CoWZmCwL7rFq1MFZGzm1ASqSyBTVWwE7qZ2rziS/LZeiUnlp/KtecdlORlKjMj3yGVnUMZu+KTOOUtglE39s6YUB/Iba5Yc8IKknYTIMALM2CbqV85ElgRMYLLRj79iP+2qqUAipSr+M0Q6Dg9AuRrCT3upQE4NPY43ilw8vkC791funJEI2oM1BarHzwg4/6Onz+J16Gg6w8rTqAAkl7ePiAWqPxjzVBhcMVpCvf05bBdJGaCGe4KdfxsiY1DZp1e4CLrVVZ5BU6myDV1v/OOGrSRw+3kfReQUli/BOwRRFQKF2RXXb52xHvi3f2ZnSVgLijNt4c9xh2YemE= Content-ID: <3C0514A7C472FA408A78F5DB015D68F1@EURP193.PROD.OUTLOOK.COM> MIME-Version: 1.0 X-OriginatorOrg: opnsense.org X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: GV1P193MB2420.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: c88fc32b-0cb8-4f13-2a85-08dc7f3d997d X-MS-Exchange-CrossTenant-originalarrivaltime: 28 May 2024 17:42:52.4486 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0035f53c-6fda-4dca-a17f-cf54bb21f5b8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: CBExRWuEpa/4DcCe5pdgDhwcfHTYLk5wquXW6pUZPU/lS+ZT7NTdcp9tqJg1m2/MkVgwbySLvhUDZS2fE4DOug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXP193MB1453 X-Spam-Score: -5.0 (-----) X-Spam-Report: Spam detection software, running on the system "util-spamd-2.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: While prexisting devices work well TUN/TAP the DCO interfaces require setting the ifmode which cannot be done by FreeBSD base tooling. In peer-to-peer mode this is not a problem because that is the de [...] Content analysis details: (-5.0 points, 6.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. [40.107.249.137 listed in bl.score.senderscore.com] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [40.107.249.137 listed in wl.mailspike.net] -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at https://www.dnswl.org/, high trust [40.107.249.137 listed in list.dnswl.org] -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.0 T_SCC_BODY_TEXT_LINE No description available. X-Headers-End: 1sC2JA-0000Jo-6x Subject: [Openvpn-devel] [PATCH 1/1] Allow to set ifmode for existing DCO interfaces in FreeBSD 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 X-GMAIL-THRID: =?utf-8?q?1800325108157515999?= X-GMAIL-MSGID: =?utf-8?q?1800325108157515999?= While prexisting devices work well TUN/TAP the DCO interfaces require setting the ifmode which cannot be done by FreeBSD base tooling. In peer-to-peer mode this is not a problem because that is the default mode. Subnet mode, however, will fail to be set and the resulting connection does not start: Failed to create interface ovpns2 (SIOCSIFNAME): File exists (errno=17) DCO device ovpns2 already exists, won't be destroyed at shutdown /sbin/ifconfig ovpns2 10.1.8.1/24 mtu 1500 up ifconfig: in_exec_nl(): Empty IFA_LOCAL/IFA_ADDRESS ifconfig: ioctl (SIOCAIFADDR): Invalid argument FreeBSD ifconfig failed: external program exited with error status: 1 Exiting due to fatal error Slightly restructure the code to catch the specific error condition and execute dco_set_ifmode() in this case as well. Signed-off-by: Franco Fichtner Acked-by: Gert Doering --- src/openvpn/dco_freebsd.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) open_tun_dco(struct tuntap *tt, openvpn_net_ctx_t *ctx, const char *dev) { - return create_interface(tt, dev); + int ret = create_interface(tt, dev); + + if (ret >= 0 || ret == -EEXIST) + { + /* see "Interface Flags" in ifnet(9) */ + int i = IFF_POINTOPOINT | IFF_MULTICAST; + if (tt->topology == TOP_SUBNET) + { + i = IFF_BROADCAST | IFF_MULTICAST; + } + dco_set_ifmode(&tt->dco, i); + } + + return ret; } void diff --git a/src/openvpn/dco_freebsd.c b/src/openvpn/dco_freebsd.c index 577c65f8..7c8b29c9 100644 --- a/src/openvpn/dco_freebsd.c +++ b/src/openvpn/dco_freebsd.c @@ -219,6 +219,9 @@ create_interface(struct tuntap *tt, const char *dev) { ifr.ifr_data = (char *)dev; } + + snprintf(tt->dco.ifname, IFNAMSIZ, "%s", ifr.ifr_data); + ret = ioctl(tt->dco.fd, SIOCSIFNAME, &ifr); if (ret) { @@ -229,16 +232,6 @@ create_interface(struct tuntap *tt, const char *dev) return ret; } - snprintf(tt->dco.ifname, IFNAMSIZ, "%s", ifr.ifr_data); - - /* see "Interface Flags" in ifnet(9) */ - int i = IFF_POINTOPOINT | IFF_MULTICAST; - if (tt->topology == TOP_SUBNET) - { - i = IFF_BROADCAST | IFF_MULTICAST; - } - dco_set_ifmode(&tt->dco, i); - return 0; } @@ -265,7 +258,20 @@ remove_interface(struct tuntap *tt) int