aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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) */