aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Quartulli2022-06-24 10:37:46 +0200
committerGert Doering2022-06-28 17:09:22 +0200
commit4f1671fabdce2df94f01e63ff97191325c5bfa8c (patch)
tree165e7df5a92bead79ae53c741c2773e6c1939043
parente34437c26b764851555e4acbe2ccca6bec235c7e (diff)
downloadopenvpn-4f1671fabdce2df94f01e63ff97191325c5bfa8c.zip
openvpn-4f1671fabdce2df94f01e63ff97191325c5bfa8c.tar.gz
dco: add helper function to detect if DCO is enabled or not
Signed-off-by: Antonio Quartulli <a@unstable.cc> Acked-by: Arne Schwabe <arne@rfc2549.org> Message-Id: <20220624083809.23487-3-a@unstable.cc> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg24513.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
-rw-r--r--src/openvpn/options.h20
-rw-r--r--src/openvpn/tun.h1
2 files changed, 21 insertions, 0 deletions
diff --git a/src/openvpn/options.h b/src/openvpn/options.h
index 0e50c19..f7e3f26 100644
--- a/src/openvpn/options.h
+++ b/src/openvpn/options.h
@@ -879,4 +879,24 @@ void options_string_import(struct options *options,
bool key_is_external(const struct options *options);
+#if defined(ENABLE_DCO) && defined(TARGET_LINUX)
+
+/**
+ * Returns whether the current configuration has dco enabled.
+ */
+static inline bool
+dco_enabled(const struct options *o)
+{
+ return !o->tuntap_options.disable_dco;
+}
+
+#else /* if defined(ENABLE_DCO) && defined(TARGET_LINUX) */
+
+static inline bool
+dco_enabled(const struct options *o)
+{
+ return false;
+}
+
+#endif
#endif /* ifndef OPTIONS_H */
diff --git a/src/openvpn/tun.h b/src/openvpn/tun.h
index 60cd574..5fcea59 100644
--- a/src/openvpn/tun.h
+++ b/src/openvpn/tun.h
@@ -139,6 +139,7 @@ struct tuntap_options {
struct tuntap_options {
int txqueuelen;
+ bool disable_dco;
};
#else /* if defined(_WIN32) || defined(TARGET_ANDROID) */