I insmod’d the UDP tunnel module for both IPv4 and IPv6 then...

 

During a build on RHEL 8 I came across this:

 

In file included from <command-line>:

/home/****/WireGuard/src/compat/compat.h:815:20: error: redefinition of ‘skb_mark_not_on_list’

static inline void skb_mark_not_on_list(struct sk_buff *skb)

                    ^~~~~~~~~~~~~~~~~~~~

In file included from /home/****/WireGuard/src/compat/compat.h:777,

                 from <command-line>:

./include/linux/skbuff.h:1362:20: note: previous definition of ‘skb_mark_not_on_list’ was here

static inline void skb_mark_not_on_list(struct sk_buff *skb)

                    ^~~~~~~~~~~~~~~~~~~~

make[2]: *** [scripts/Makefile.build:316: /home/s34cr/WireGuard/src/main.o] Error 1

make[1]: *** [Makefile:1528: _module_/home/s34cr/WireGuard/src] Error 2

make: *** [Makefile:37: module] Error 2

I nullified the first definition:

#if 0

static inline void skb_mark_not_on_list(struct sk_buff *skb)

{

skb->next = NULL;

}

#endif

 

And left the second (the include):

#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0)
#include <linux/skbuff.h>
#define skb_probe_transport_header(a) skb_probe_transport_header(a, 0)

#endif

In order to build. I would like to state RHEL 8 builds with GCC 8.2.1 if that’s any help too. Seems I cannot connect, however. Will try removing the include in the second one.

Seems somewhere in between the RHEL kernel upgrade to 4.18 that function got added in.