From 9630e2ad947eaec40735d4f6735cc5d3f1bdb09a Mon Sep 17 00:00:00 2001 From: jow Date: Mon, 18 Oct 2010 20:39:07 +0000 Subject: [PATCH] [include] netfilter: workaround a userspace/kernel mismatch on Linux 2.6.35 and later git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23521 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- include/netfilter.mk | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/include/netfilter.mk b/include/netfilter.mk index 5ec7df6bf..35f46de86 100644 --- a/include/netfilter.mk +++ b/include/netfilter.mk @@ -135,8 +135,13 @@ $(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_CLASSIFY, $(P_XT)xt_CL $(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_MATCH_DSCP, $(P_V4)ipt_dscp)) $(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_TARGET_ECN, $(P_V4)ipt_ECN)) $(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_TARGET_MARK, $(P_V4)ipt_MARK)) + +# XXX: 2.6.35+ has xt_MARK.ko merged into xt_mark.ko, userspace is still separate ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.35)),1) - $(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_MARK, $(P_XT)xt_mark)) + # kernel: xt_mark.ko + $(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_MARK, $(P_XT)xt_mark))) + # userland: xt_MARK.so + $(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_MARK, $(P_XT)xt_MARK))) else $(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_MARK, $(P_XT)xt_MARK)) endif -- 2.20.1