From: Antonio Quartulli
Date: Fri, 24 Jun 2022 08:37:48 +0000 (+0200)
Subject: dco: create DCO interface using SITNL
X-Git-Tag: v2.6_beta1~175
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a02c90a4501b04a43a25824fe9f7b980e10fc40;p=thirdparty%2Fopenvpn.git
dco: create DCO interface using SITNL
Signed-off-by: Antonio Quartulli
Acked-by: Arne Schwabe
Message-Id: <20220624083809.23487-5-a@unstable.cc>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg24514.html
Signed-off-by: Gert Doering
---
diff --git a/src/openvpn/networking_sitnl.c b/src/openvpn/networking_sitnl.c
index bffcb067b..0944ad0a9 100644
--- a/src/openvpn/networking_sitnl.c
+++ b/src/openvpn/networking_sitnl.c
@@ -28,6 +28,7 @@
#include "syshead.h"
+#include "dco.h"
#include "errlevel.h"
#include "buffer.h"
#include "misc.h"
@@ -1344,6 +1345,16 @@ net_iface_new(openvpn_net_ctx_t *ctx, const char *iface, const char *type,
struct rtattr *linkinfo = SITNL_NEST(&req.n, sizeof(req), IFLA_LINKINFO);
SITNL_ADDATTR(&req.n, sizeof(req), IFLA_INFO_KIND, type, strlen(type) + 1);
+#if defined(ENABLE_DCO)
+ if (arg && (strcmp(type, "ovpn-dco") == 0))
+ {
+ dco_context_t *dco = arg;
+ struct rtattr *data = SITNL_NEST(&req.n, sizeof(req), IFLA_INFO_DATA);
+ SITNL_ADDATTR(&req.n, sizeof(req), IFLA_OVPN_MODE, &dco->ifmode,
+ sizeof(uint8_t));
+ SITNL_NEST_END(&req.n, data);
+ }
+#endif
SITNL_NEST_END(&req.n, linkinfo);
req.i.ifi_family = AF_PACKET;