diff --git a/src/openvpn/dco_linux.h b/src/openvpn/dco_linux.h index 511519ae..5179912b 100644 --- a/src/openvpn/dco_linux.h +++ b/src/openvpn/dco_linux.h @@ -26,11 +26,13 @@ #include "event.h" -#include "ovpn_dco_linux.h" - #include #include +/* include last since we need to behave differently if the kernel headers + * are from 6.16+ */ +#include "ovpn_dco_linux.h" + typedef enum ovpn_key_slot dco_key_slot_t; typedef enum ovpn_cipher_alg dco_cipher_t; diff --git a/src/openvpn/ovpn_dco_linux.h b/src/openvpn/ovpn_dco_linux.h index 73e19b59..34abc6ab 100644 --- a/src/openvpn/ovpn_dco_linux.h +++ b/src/openvpn/ovpn_dco_linux.h @@ -237,14 +237,17 @@ enum ovpn_netlink_packet_attrs { OVPN_PACKET_ATTR_MAX = __OVPN_PACKET_ATTR_AFTER_LAST - 1, }; +#ifndef IFLA_OVPN_MAX + 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) + enum ovpn_mode { __OVPN_MODE_FIRST = 0, OVPN_MODE_P2P = __OVPN_MODE_FIRST, @@ -253,4 +256,6 @@ enum ovpn_mode { __OVPN_MODE_AFTER_LAST, }; +#endif /* ifndef IFLA_OVPN_MAX */ + #endif /* _UAPI_LINUX_OVPN_DCO_H_ */