From 2a02c90a4501b04a43a25824fe9f7b980e10fc40 Mon Sep 17 00:00:00 2001 From: Antonio Quartulli Date: Fri, 24 Jun 2022 10:37:48 +0200 Subject: [PATCH] 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 --- src/openvpn/networking_sitnl.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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; -- 2.47.2