dco linux: avoid redefining ovpn enums

Starting with Linux kernel version 6.16, a couple of ovpn-related enum
definitions were introduced in the `include/uapi/linux/if_link.h`
header. Redefining them in openvpn when they are already present in the
system headers can lead to conflicts or build issues.

This commit ensures that enum redefinitions are avoided by conditionally
using the existing definitions from the system header when available.

Change-Id: I4fa2d578f9c0a5a8aa24ca1d396102ef2ed9a425
Signed-off-by: Ralf Lici <ralf@mandelbit.com>
Message-Id: <20250623140748.13960-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg31961.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
Ralf Lici 2025-06-23 16:07:43 +02:00 committed by Gert Doering
parent f93fc813ff
commit 1d3c2b67a7

View file

@ -40,6 +40,8 @@ typedef enum ovpn_cipher_alg dco_cipher_t;
/* OVPN section */
#ifndef IFLA_OVPN_MAX
enum ovpn_mode {
OVPN_MODE_P2P,
OVPN_MODE_MP,
@ -49,10 +51,13 @@ enum ovpn_ifla_attrs {
IFLA_OVPN_UNSPEC = 0,
IFLA_OVPN_MODE,
__IFLA_OVPN_AFTER_LAST,
IFLA_OVPN_MAX = __IFLA_OVPN_AFTER_LAST - 1,
__IFLA_OVPN_MAX,
};
#define IFLA_OVPN_MAX (__IFLA_OVPN_MAX - 1)
#endif /* ifndef IFLA_OVPN_MAX */
typedef struct
{
struct nl_sock *nl_sock;