# # Copyright (C) 2017-2019 Chen Minqiang # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=natflow PKG_VERSION:=20241020 PKG_SOURCE_URL:=https://codeload.github.com/ptpt52/natflow/tar.gz/$(PKG_VERSION)? PKG_HASH:=367873c342ae0b2f3a31f2965f4625bf6dd9102ced076a41eb982888b7cf724f PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_MAINTAINER:=Chen Minqiang PKG_LICENSE:=GPL-2.0 include $(INCLUDE_DIR)/package.mk define KernelPackage/natflow CATEGORY:=X SUBMENU:=Fast Forward Stacks TITLE:=natflow kernel driver KCONFIG:= \ CONFIG_NF_CONNTRACK_MARK=y \ CONFIG_NETFILTER_INGRESS=y FILES:=$(PKG_BUILD_DIR)/natflow.ko AUTOLOAD:=$(call AutoLoad,96,natflow) DEPENDS:= +kmod-ipt-conntrack +kmod-ipt-nat +kmod-ipt-ipset +kmod-br-netfilter endef define KernelPackage/natflow/description fast nat forward kmod endef include $(INCLUDE_DIR)/kernel-defaults.mk ifeq (,$(findstring clang,$(KERNEL_CC))) EXTRA_CFLAGS += -Wno-stringop-overread endif EXTRA_CFLAGS += -DCONFIG_NATFLOW_PATH -DCONFIG_NATFLOW_URLLOGGER -DNATFLOW_VERSION=\\\"$(PKG_VERSION)-$(shell echo $(PKG_HASH) | head -c7)\\\" ifneq ($(CONFIG_TARGET_mediatek_mt7622),) EXTRA_CFLAGS += -DCONFIG_HWNAT_EXTDEV_USE_VLAN_HASH endif define Build/Compile/natflow +$(MAKE) $(PKG_JOBS) -C "$(LINUX_DIR)" \ EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \ $(KERNEL_MAKE_FLAGS) \ ARCH="$(LINUX_KARCH)" \ CROSS_COMPILE="$(KERNEL_CROSS)" \ M="$(PKG_BUILD_DIR)" \ $(if $(CONFIG_KERNEL_DEBUG_INFO),,NO_DEBUG=1) \ modules endef define Build/Compile $(call Build/Compile/natflow) endef define Package/natflow SECTION:=net CATEGORY:=Network TITLE:=Natflow init script DEPENDS:=+ethtool +kmod-natflow endef define Package/natflow/install $(INSTALL_DIR) $(1)/etc/uci-defaults $(INSTALL_BIN) ./files/70-luci-firewall-natflow $(1)/etc/uci-defaults $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/natflow.init $(1)/etc/init.d/natflow $(INSTALL_DIR) $(1)/etc/hotplug.d/iface $(INSTALL_DATA) ./files/21-natflow.hotplug $(1)/etc/hotplug.d/iface/21-natflow endef $(eval $(call KernelPackage,natflow)) $(eval $(call BuildPackage,natflow))