Skip to contentSkip to conversation

RHEL8 compatibility

PATCH Robert-André Mauchin 2 participants 3 messages Sep 11, 2019

lore
Share & tools
lore
#0 lore raw

Hello,

The RHEL8 kernel (4.18) contains backported changes that make it act more like a > 4.7 kernel. As such src/compat/compat.h need to be patched to handle RHEL8 special case.

We are currently using this patch in RPMFusion EPEL8 branch:

WireGuard-0.0.20190702/src/compat/compat.h +0 -12
@@ -79,18 +79,6 @@
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0) && !defined(ISRHEL7)
 #define ipv6_dst_lookup(a, b, c, d) ipv6_dst_lookup(b, c, d)
-#endif
-
-#if (LINUX_VERSION_CODE == KERNEL_VERSION(4, 4, 0) || \
-    (LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 5) && LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)) || \
-    (LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 17) && LINUX_VERSION_CODE > KERNEL_VERSION(3, 19, 0)) || \
-    (LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 27) && LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0)) || \
-    (LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 8) && LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)) || \
-    (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 40) && LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0)) || \
-    (LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 54))) && !defined(ISUBUNTU1404)
-#include <linux/if.h>
-#include <net/ip_tunnels.h>
-#define IP6_ECN_set_ce(a, b) IP6_ECN_set_ce(b)
 #endif
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && IS_ENABLED(CONFIG_IPV6) && !defined(ISRHEL7)

Could you please define a ISRHEL8 to handle this?

_______________________________________________
WireGuard mailing list
[email protected]
https://lists.zx2c4.com/mailman/listinfo/wireguard

#1 lore raw
Quoted 34 lines · On Tuesday, 10 September 2019 22:42:40 CEST you wrote:

Hello,

The RHEL8 kernel (4.18) contains backported changes that make it act more like a > 4.7 kernel. As such src/compat/compat.h need to be patched to handle RHEL8 special case.

We are currently using this patch in RPMFusion EPEL8 branch:

WireGuard-0.0.20190702/src/compat/compat.h +0 -4
@@ -79,18 +79,6 @@
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0) && !defined(ISRHEL7)
 #define ipv6_dst_lookup(a, b, c, d) ipv6_dst_lookup(b, c, d)
-#endif
-
-#if (LINUX_VERSION_CODE == KERNEL_VERSION(4, 4, 0) || \
-    (LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 5) && LINUX_VERSION_CODE >=
 KERNEL_VERSION(4, 2, 0)) || \ -    (LINUX_VERSION_CODE < KERNEL_VERSION(4,

1, 17) && LINUX_VERSION_CODE > KERNEL_VERSION(3, 19, 0)) || \ - (LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 27) && LINUX_VERSION_CODE >=
KERNEL_VERSION(3, 17, 0)) || \ - (LINUX_VERSION_CODE < KERNEL_VERSION(3,
16, 8) && LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)) || \ - (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 40) && LINUX_VERSION_CODE >=
KERNEL_VERSION(3, 13, 0)) || \ - (LINUX_VERSION_CODE < KERNEL_VERSION(3,
12, 54))) && !defined(ISUBUNTU1404) -#include <linux/if.h>

WireGuard-0.0.20190702/src/compat/compat.h +0 -2
-#include <net/ip_tunnels.h>
-#define IP6_ECN_set_ce(a, b) IP6_ECN_set_ce(b)
 #endif
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) &&

IS_ENABLED(CONFIG_IPV6) && !defined(ISRHEL7)

Quoted 1 line

Could you please define a ISRHEL8 to handle this?

Sorry this apply to RHEL 7 not 8.

_______________________________________________
WireGuard mailing list
[email protected]
https://lists.zx2c4.com/mailman/listinfo/wireguard

#2 lore raw

Does something like this work?

src/compat/compat.h +0 -0
index 54907e9a..888974a3 100644
@@ -90,7 +90,7 @@
     (LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 27) &&
LINUX_VERSION_CODE >= KERNEL_VERSION(3, 17, 0)) || \
     (LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 8) &&
LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)) || \
     (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 40) &&

LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0)) || \
- (LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 54))) && !defined(ISUBUNTU1404)
+ (LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 54))) &&
!defined(ISUBUNTU1404) && !defined(ISRHEL7)
#include <linux/if.h>
#include <net/ip_tunnels.h>
#define IP6_ECN_set_ce(a, b) IP6_ECN_set_ce(b)
_______________________________________________
WireGuard mailing list [email protected]
https://lists.zx2c4.com/mailman/listinfo/wireguard