diff --git a/package/kernel/nat46/Makefile b/package/kernel/nat46/Makefile index 755a2958c9..0178ade6ab 100644 --- a/package/kernel/nat46/Makefile +++ b/package/kernel/nat46/Makefile @@ -3,11 +3,11 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=nat46 -PKG_MIRROR_HASH:=3f5ef0a56e9b02c3ec10ec95f3f81c0ed04b983b2d857c16304c379106d6beb6 +PKG_MIRROR_HASH:=24a22c8cb38983b55e7ad55c796f3835aa8702ad6f868953448e3b5e61ab6991 PKG_SOURCE_URL:=https://github.com/ayourtch/nat46.git -PKG_SOURCE_DATE:=2017-05-12 +PKG_SOURCE_DATE:=2020-07-16 PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=683fbd2b765506332a1af141545652bf58f03166 +PKG_SOURCE_VERSION:=ac712ad2bedf107329285af1909310675afe872d PKG_MAINTAINER:=Hans Dedecker PKG_LICENSE:=GPL-2.0 @@ -26,7 +26,7 @@ endef include $(INCLUDE_DIR)/kernel-defaults.mk define Build/Compile - $(KERNEL_MAKE) SUBDIRS="$(PKG_BUILD_DIR)/nat46/modules" \ + $(KERNEL_MAKE) M="$(PKG_BUILD_DIR)/nat46/modules" \ MODFLAGS="-DMODULE -mlong-calls" \ EXTRA_CFLAGS="-DNAT46_VERSION=\\\"$(PKG_SOURCE_VERSION)\\\"" \ modules diff --git a/package/kernel/nat46/patches/100-kernel-5.4-compat.patch b/package/kernel/nat46/patches/100-kernel-5.4-compat.patch new file mode 100644 index 0000000000..6a638e96b5 --- /dev/null +++ b/package/kernel/nat46/patches/100-kernel-5.4-compat.patch @@ -0,0 +1,34 @@ +--- a/nat46/modules/nat46-core.c ++++ b/nat46/modules/nat46-core.c +@@ -17,6 +17,7 @@ + */ + + #include ++#include + + #include "nat46-glue.h" + #include "nat46-core.h" +@@ -1601,7 +1602,11 @@ void nat46_ipv6_input(struct sk_buff *ol + /* Remove any debris in the socket control block */ + memset(IPCB(new_skb), 0, sizeof(struct inet_skb_parm)); + /* Remove netfilter references to IPv6 packet, new netfilter references will be created based on IPv4 packet */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,4,0) + nf_reset(new_skb); ++#else ++ nf_reset_ct(new_skb); ++#endif + + /* modify packet: actual IPv6->IPv4 transformation */ + truncSize = v6packet_l3size - sizeof(struct iphdr); /* chop first 20 bytes */ +@@ -1806,7 +1811,11 @@ void nat46_ipv4_input(struct sk_buff *ol + /* Remove any debris in the socket control block */ + memset(IPCB(new_skb), 0, sizeof(struct inet_skb_parm)); + /* Remove netfilter references to IPv4 packet, new netfilter references will be created based on IPv6 packet */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,4,0) + nf_reset(new_skb); ++#else ++ nf_reset_ct(new_skb); ++#endif + + /* expand header (add 20 extra bytes at the beginning of sk_buff) */ + pskb_expand_head(new_skb, IPV6V4HDRDELTA + (add_frag_header?8:0), 0, GFP_ATOMIC);