From patchwork Thu Dec 15 23:21:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selva Nair X-Patchwork-Id: 2922 Return-Path: Delivered-To: patchwork@openvpn.net Received: by 2002:a05:7300:c95:b0:82:e4b3:40a0 with SMTP id p21csp779591dyk; Thu, 15 Dec 2022 15:21:48 -0800 (PST) X-Google-Smtp-Source: AA0mqf5jqiwOm4ze/xaX/r/yLkUkyyV/arqyWoKhADrQPaYbEI9URGPnN6oD02TZJbFFwKsnVD8E X-Received: by 2002:a17:90b:1484:b0:21b:e47f:2fb2 with SMTP id js4-20020a17090b148400b0021be47f2fb2mr29523230pjb.37.1671146508310; Thu, 15 Dec 2022 15:21:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671146508; cv=none; d=google.com; s=arc-20160816; b=KxakKXu4IXUC9vZxXb/59dtjVEXKJx1sNKYpWwQBKXq/MDfR/LpaHcievtz+ZJcV8v F38MszPzWVbBL+mmyiqwUXPd9QcVe0toQkbR4bcFFBgZDSnZBV0seR2mxjZKnJUitEH6 8nxTe1TvCDzcw6KuSJsEGYJFuYb6Z6gvEKdhyvGEjW6oTXHiILnPG5TUCJHktfp/iinm NkUJf6y2pVBhrJduMFCu783Pl+2uKZhOXqfAmB6E+UU8QZYmG2iOLrnJhB364dm0itmz 6nUeHb/Y0J/Q2B5C0lsDsK/okSTobvVyndBVDIOdR8ojthcS73NXxvYg7vs83KALPbPX BuCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:message-id:date:to:from:dkim-signature:dkim-signature :dkim-signature; bh=wsgHetWn3ToasWag8b3uR4A97Ff8Sh99TKpcOs84ZCU=; b=sv+hMeR8wTuFRgiUqyzd0o0zOI2BK3N8A7hU7bHLPy1wvRnZx7Ey/Fx/KdSMUCNrhj s9Mm2aJMeEMwGw7gTHDUajvfLo/jhEScleAVqciNsUg88aIlpJyCY+g18vtHgpyZTLvl x3t5Iy+vplgznJwqMMMl42BdLKz2ziJN6g1OhvmKA6Tdk6hev/zYxXhgiqIYwNWeLKtX 2wveOe3nLtMI0g0UBRXLhsi4B1I2ITkNcE/IlrqHTwt0P67avsLScXmvnW/zMaY3WZDi 9gbI1IApnAp2MT9/CDoLoZuA33POn7a/Pr5o3ifed1SC3RHhVw2do3xgmRjAaLfmbNNf PFTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b=VEc++vss; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=fWVAaRGZ; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=Rp0MxG7g; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from lists.sourceforge.net (lists.sourceforge.net. [216.105.38.7]) by mx.google.com with ESMTPS id oo8-20020a17090b1c8800b0021a205825besi6859416pjb.83.2022.12.15.15.21.47 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Dec 2022 15:21:48 -0800 (PST) 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=VEc++vss; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=fWVAaRGZ; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=Rp0MxG7g; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.0.1] (helo=sfs-ml-4.v29.lw.sourceforge.com) by sfs-ml-4.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1p5xXd-0007Xm-W3; Thu, 15 Dec 2022 23:21:29 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-4.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1p5xXd-0007Xg-4J for openvpn-devel@lists.sourceforge.net; Thu, 15 Dec 2022 23:21:29 +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:Cc:To:From:Sender:Reply-To: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=3cJGGxsB3rcheFgi5LIVnb3roMx3GnAr32zQTM1ron0=; b=VEc++vsskgTiNNxyuG+AU9TUF8 th24PJEQSyYWsqcrKwXJdF7gaLuQzkztB55AVczHZnPyvMVbP7JtFwEMxeOvRMIIskTWzS67ADoBB znP6XzJjigp4keEjZDxkaE//6k6X+0vU1yAV8zz/w73xYNfqURmZAfe+bE27olBifbRQ=; 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:Cc:To:From :Sender:Reply-To: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=3cJGGxsB3rcheFgi5LIVnb3roMx3GnAr32zQTM1ron0=; b=f WVAaRGZB8fGWc4PtVAWlVxj7T/bp8J0owYKffKLj3L7mDiA0Ad+7AIob0Q6diEJHE5mT0KbW1sBU2 kQKHxXl31vxM5KeVlP46iAVpR1kYFKd0645Otmx2pITyp7UWb5soz48eVEHaH2ljEdl62W+A7WMAF P3kmPzFKPcdtPRGw=; Received: from mail-io1-f44.google.com ([209.85.166.44]) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.95) id 1p5xXY-000rAP-8i for openvpn-devel@lists.sourceforge.net; Thu, 15 Dec 2022 23:21:29 +0000 Received: by mail-io1-f44.google.com with SMTP id n63so460839iod.7 for ; Thu, 15 Dec 2022 15:21:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=3cJGGxsB3rcheFgi5LIVnb3roMx3GnAr32zQTM1ron0=; b=Rp0MxG7gvF4RCq3VBIMrY/KYKww6XI1ANoxkDxJdzcz6emTarLDeXwoD1L0J03FBKp 6vpCT0oUtYWnqA9Vb04WokGtzOfxy8j9Kx36H9+u0jMQG5Pgg83Drn4dgQF+cd8k6o6e QF6XAsXxcb1ma6sceRTN1+/3CKam4JMwkQtEQBcefUe4GCyMMlBMiPT/UgbT+Zz4PkSn jDsrTJzPbgtYGbDMrJfs7doLT54wnDZYDp91LXzv6uz5ivEO0hyOiCRuQ9ikH+4DHhWa 5AwKUsLPXXDMRObPnvDPUEUFdn9xBtZBaBLHkCs8vfYx94eQYuMjrke6/ATUTDDGsdWi QkLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=3cJGGxsB3rcheFgi5LIVnb3roMx3GnAr32zQTM1ron0=; b=sDRYzBeU0F0SDIbPik7DzARQf0aH67ETmexgfdqRz3P8YaFsYTULA9eRH8BXT9Oldq C5Wd68nWvHZQWPmpYIckoS7U13zXCtWwVIa3k/wV80tLEJfRvg0ZPYdwwJusQXkztm84 Enio6b8OG7Pye84FFY9hzuE7Ym9L6YdN2jEjrqECbcelMg/hrTgi+s6kpinqb43+nPMq 91Tz+evcXdDRPLKl3+LXrUUd37WUPKdbz3iHIE4ZnAVBQDs6+dMo6l65etAr0/grD9JR Fw+jOoyFEFJoxfwWs6t5EaS5fHlYvtutDSnaFrfsbWGBN8ozlcBLGHvUKMTQJV7cpWAn wgAA== X-Gm-Message-State: ANoB5pkOko+gsw7hHz5KT81CT/NW3XRyUPX5IRsFYbE+AowseKrpr3Or GyzxkCChXFb/LqduV5Kc88N+pgWoUXpJ2A== X-Received: by 2002:a5d:8459:0:b0:6d9:7981:2a76 with SMTP id w25-20020a5d8459000000b006d979812a76mr3435170ior.0.1671146478391; Thu, 15 Dec 2022 15:21:18 -0800 (PST) Received: from uranus.sansel.ca (bras-vprn-tnhlon4053w-lp130-01-70-51-222-66.dsl.bell.ca. [70.51.222.66]) by smtp.gmail.com with ESMTPSA id j25-20020a056638053900b0038a49f1d677sm214286jar.48.2022.12.15.15.21.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 15:21:17 -0800 (PST) From: selva.nair@gmail.com To: openvpn-devel@lists.sourceforge.net Date: Thu, 15 Dec 2022 18:21:04 -0500 Message-Id: <20221215232104.1181936-1-selva.nair@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Score: -0.2 (/) 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: From: Selva Nair Signed-off-by: Selva Nair --- Tested on Windows which is the only platform that currently supports stats from DCO in client mode. src/openvpn/init.c | 11 +++++++++++ src/openvpn/init.h | 2 ++ src/openvpn/manage.c | 9 +++++++++ src/openvpn/manage.h | 3 +++ src/openvpn/openvpn.c | 2 ++ 5 files changed, 27 insertions(+) Content analysis details: (-0.2 points, 6.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [selva.nair[at]gmail.com] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.166.44 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.166.44 listed in wl.mailspike.net] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1p5xXY-000rAP-8i Subject: [Openvpn-devel] [PATCH] Persist DCO client data channel traffic stats on restart 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?1752324121211387583?= X-GMAIL-MSGID: =?utf-8?q?1752324121211387583?= From: Selva Nair Signed-off-by: Selva Nair Acked-by: Lev Stipakov --- Tested on Windows which is the only platform that currently supports stats from DCO in client mode. src/openvpn/init.c | 11 +++++++++++ src/openvpn/init.h | 2 ++ src/openvpn/manage.c | 9 +++++++++ src/openvpn/manage.h | 3 +++ src/openvpn/openvpn.c | 2 ++ 5 files changed, 27 insertions(+) diff --git a/src/openvpn/init.c b/src/openvpn/init.c index 74b38032..e0b42e1e 100644 --- a/src/openvpn/init.c +++ b/src/openvpn/init.c @@ -4164,6 +4164,17 @@ uninit_management_callback(void) #endif } +void +persist_client_stats(struct context *c) +{ +#ifdef ENABLE_MANAGEMENT + if (management) + { + man_persist_client_stats(management, c); + } +#endif +} + /* * Initialize a tunnel instance, handle pre and post-init * signal settings. diff --git a/src/openvpn/init.h b/src/openvpn/init.h index f53b65ee..d0fb6ea1 100644 --- a/src/openvpn/init.h +++ b/src/openvpn/init.h @@ -147,4 +147,6 @@ void write_pid_file(const char *filename, const char *chroot_dir); void remove_pid_file(void); +void persist_client_stats(struct context *c); + #endif /* ifndef INIT_H */ diff --git a/src/openvpn/manage.c b/src/openvpn/manage.c index 9349b62a..82832436 100644 --- a/src/openvpn/manage.c +++ b/src/openvpn/manage.c @@ -4068,6 +4068,15 @@ management_check_bytecount(struct context *c, struct management *man, struct tim } } +void +man_persist_client_stats(struct management *man, struct context *c) +{ + if (dco_enabled(&c->options) && (dco_get_peer_stats(c) == 0)) + { + management_bytes_client(man, c->c2.dco_read_bytes, c->c2.dco_write_bytes); + } +} + #else /* ifdef ENABLE_MANAGEMENT */ void diff --git a/src/openvpn/manage.h b/src/openvpn/manage.h index 700b15cf..30291e42 100644 --- a/src/openvpn/manage.h +++ b/src/openvpn/manage.h @@ -548,6 +548,9 @@ management_bytes_server(struct management *man, } } +void +man_persist_client_stats(struct management *man, struct context *c); + #endif /* ifdef ENABLE_MANAGEMENT */ /** diff --git a/src/openvpn/openvpn.c b/src/openvpn/openvpn.c index 15e21452..413a750b 100644 --- a/src/openvpn/openvpn.c +++ b/src/openvpn/openvpn.c @@ -97,6 +97,8 @@ tunnel_point_to_point(struct context *c) perf_pop(); } + persist_client_stats(c); + uninit_management_callback(); /* tear down tunnel instance (unless --persist-tun) */