OSDN Git Service

fullconenat-nft: add new package
authorSyrone Wong <wong.syrone@gmail.com>
Thu, 21 Apr 2022 09:45:32 +0000 (17:45 +0800)
committerZiMing Mo <msylgj@immortalwrt.org>
Fri, 22 Apr 2022 07:24:52 +0000 (15:24 +0800)
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Signed-off-by: ZiMing Mo <msylgj@immortalwrt.org>
package/network/utils/fullconenat-nft/Makefile [new file with mode: 0644]

diff --git a/package/network/utils/fullconenat-nft/Makefile b/package/network/utils/fullconenat-nft/Makefile
new file mode 100644 (file)
index 0000000..1adaf56
--- /dev/null
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (c) 2018 Chion Tang <tech@chionlab.moe>
+#   Original xt_FULLCONENAT and related iptables extension author
+# Copyright (c) 2019-2022 GitHub/llccd Twitter/@gNodeB
+#   Added IPv6 support for xt_FULLCONENAT and ip6tables extension
+#   Ported to recent kernel versions
+# Copyright (c) 2022 Syrone Wong <wong.syrone@gmail.com>
+#   Massively rewrite the whole module, split the original code into library and nftables 'fullcone' expression module
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+PKG_NAME:=fullconenat-nft
+PKG_RELEASE:=$(AUTORELEASE)
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/fullcone-nat-nftables/nft-fullcone.git
+PKG_SOURCE_DATE:=2022-04-09
+PKG_SOURCE_VERSION:=90834e19a0babaa6fdddd197c56977898b7a74b3
+PKG_MIRROR_HASH:=e3f23c0c897bab5119c3972aba3b72deddf5d63170799726970924f8910da9ac
+
+PKG_LICENSE:=GPL-2.0
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Syrone Wong <wong.syrone@gmail.com>
+
+include $(INCLUDE_DIR)/package.mk
+
+define KernelPackage/nft-fullcone
+  SUBMENU:=Netfilter Extensions
+  DEPENDS:=+kmod-nft-nat
+  TITLE:=nftables fullcone expression support
+  FILES:= $(PKG_BUILD_DIR)/src/nft_fullcone.ko
+  KCONFIG:= \
+    CONFIG_NF_CONNTRACK_EVENTS=y \
+    CONFIG_NF_CONNTRACK_CHAIN_EVENTS=y
+  AUTOLOAD:=$(call AutoProbe,nft_fullcone)
+endef
+
+define KernelPackage/nft-fullcone/Description
+  Kernel module adds the fullcone expression that you can use
+  to perform NAT in the RFC3489-compatible full cone SNAT flavour.
+  Currently only UDP traffic is supported for full-cone NAT.
+  For other protos FULLCONENAT is equivalent to MASQUERADE.
+endef
+
+define Build/Compile
+       +$(KERNEL_MAKE) M="$(PKG_BUILD_DIR)/src" modules
+endef
+
+$(eval $(call KernelPackage,nft-fullcone))