2 # Copyright (C) 2006-2014 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 ifneq ($(__inc_netfilter
),1)
15 P_EBT
:=bridge
/netfilter
/
21 # 4: version dependency
23 $(if
$(4),ifeq ($$(strip $$(call CompareKernelPatchVer
,$$(KERNEL_PATCHVER
),$(firstword $(4)),$(lastword
$(4)))),1))
26 KCONFIG_
$(1) = $(filter-out $(2),$(KCONFIG_
$(1))) $(2)
33 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_IPT
,CONFIG_IP_NF_IPTABLES
, $(P_V4
)ip_tables
),))
34 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_IPT
,CONFIG_NETFILTER_XTABLES
, $(P_XT
)x_tables
),))
36 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XTABLES
, $(P_XT
)xt_tcpudp
),))
37 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_CORE
,CONFIG_IP_NF_FILTER
, $(P_V4
)iptable_filter
),))
38 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_CORE
,CONFIG_IP_NF_MANGLE
, $(P_V4
)iptable_mangle
),))
41 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_CORE
,CONFIG_IP_NF_IPTABLES
, xt_standard ipt_icmp xt_tcp xt_udp xt_comment xt_id xt_set xt_SET
)))
43 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_MATCH_LIMIT
, $(P_XT
)xt_limit
))
44 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_MATCH_MAC
, $(P_XT
)xt_mac
))
45 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_MATCH_MULTIPORT
, $(P_XT
)xt_multiport
))
46 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_MATCH_COMMENT
, $(P_XT
)xt_comment
))
47 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_MATCH_ID
, $(P_XT
)xt_id
))
50 $(eval
$(call nf_add
,IPT_CLUSTER
,CONFIG_NETFILTER_XT_MATCH_CLUSTER
, $(P_XT
)xt_cluster
))
52 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_TARGET_LOG
, $(P_XT
)xt_LOG
, ge
3.4.0))
53 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_IP_NF_TARGET_LOG
, $(P_V4
)ipt_LOG
, lt
3.4.0))
54 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_TARGET_TCPMSS
, $(P_XT
)xt_TCPMSS
))
55 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_IP_NF_TARGET_REJECT
, $(P_V4
)ipt_REJECT
))
56 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_IP_NF_TARGET_REJECT
, $(P_V4
)nf_reject_ipv4
, ge
3.18.0))
57 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_MATCH_TIME
, $(P_XT
)xt_time
))
58 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_MARK
, $(P_XT
)xt_mark
))
60 # kernel has xt_MARK.ko merged into xt_mark.ko, userspace is still separate
61 # userland: xt_MARK.so
62 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_MARK
, $(P_XT
)xt_MARK
)))
68 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK
,CONFIG_NF_CONNTRACK
, $(P_XT
)nf_conntrack
),))
69 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK
,CONFIG_NF_CONNTRACK_RTCACHE
, $(P_XT
)nf_conntrack_rtcache
),))
70 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK
,CONFIG_NF_DEFRAG_IPV4
, $(P_V4
)nf_defrag_ipv4
),))
71 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK
,CONFIG_NF_CONNTRACK_IPV4
, $(P_V4
)nf_conntrack_ipv4
),))
73 $(eval
$(call nf_add
,IPT_CONNTRACK
,CONFIG_NETFILTER_XT_MATCH_STATE
, $(P_XT
)xt_state
))
74 $(eval
$(call nf_add
,IPT_CONNTRACK
,CONFIG_IP_NF_RAW
, $(P_V4
)iptable_raw
))
75 $(eval
$(call nf_add
,IPT_CONNTRACK
,CONFIG_NETFILTER_XT_TARGET_NOTRACK
, $(P_XT
)xt_NOTRACK
, lt
3.7.0))
76 $(eval
$(call nf_add
,IPT_CONNTRACK
,CONFIG_NETFILTER_XT_TARGET_CT
, $(P_XT
)xt_CT
))
77 $(eval
$(call nf_add
,IPT_CONNTRACK
,CONFIG_NETFILTER_XT_MATCH_CONNTRACK
, $(P_XT
)xt_conntrack
))
82 $(eval
$(call nf_add
,IPT_CONNTRACK_EXTRA
,CONFIG_NETFILTER_XT_MATCH_CONNBYTES
, $(P_XT
)xt_connbytes
))
83 $(eval
$(call nf_add
,IPT_CONNTRACK_EXTRA
,CONFIG_NETFILTER_XT_MATCH_CONNLIMIT
, $(P_XT
)xt_connlimit
))
84 $(eval
$(call nf_add
,IPT_CONNTRACK_EXTRA
,CONFIG_NETFILTER_XT_CONNMARK
, $(P_XT
)xt_connmark
))
85 $(eval
$(call nf_add
,IPT_CONNTRACK_EXTRA
,CONFIG_NETFILTER_XT_MATCH_HELPER
, $(P_XT
)xt_helper
))
86 $(eval
$(call nf_add
,IPT_CONNTRACK_EXTRA
,CONFIG_NETFILTER_XT_MATCH_RECENT
, $(P_XT
)xt_recent
))
88 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_CONNTRACK_EXTRA
,CONFIG_NETFILTER_XT_CONNMARK
, $(P_XT
)xt_CONNMARK
)))
92 $(eval
$(call nf_add
,IPT_EXTRA
,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE
, $(if
$(NF_KMOD
),$(P_XT
)xt_addrtype
,$(P_XT
)ipt_addrtype
)))
93 $(eval
$(call nf_add
,IPT_EXTRA
,CONFIG_NETFILTER_XT_MATCH_OWNER
, $(P_XT
)xt_owner
))
94 $(eval
$(call nf_add
,IPT_EXTRA
,CONFIG_NETFILTER_XT_MATCH_PHYSDEV
, $(P_XT
)xt_physdev
))
95 $(eval
$(call nf_add
,IPT_EXTRA
,CONFIG_NETFILTER_XT_MATCH_PKTTYPE
, $(P_XT
)xt_pkttype
))
96 $(eval
$(call nf_add
,IPT_EXTRA
,CONFIG_NETFILTER_XT_MATCH_QUOTA
, $(P_XT
)xt_quota
))
98 #$(eval $(call nf_add,IPT_EXTRA,CONFIG_IP_NF_TARGET_ROUTE, $(P_V4)ipt_ROUTE))
103 $(eval
$(call nf_add
,IPT_FILTER
,CONFIG_NETFILTER_XT_MATCH_LAYER7
, $(P_XT
)xt_layer7
))
104 $(eval
$(call nf_add
,IPT_FILTER
,CONFIG_NETFILTER_XT_MATCH_STRING
, $(P_XT
)xt_string
))
109 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_DSCP
, $(P_XT
)xt_dscp
))
110 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_TARGET_DSCP
, $(P_XT
)xt_DSCP
))
111 $(eval
$(call nf_add
,IPT_HASHLIMIT
,CONFIG_NETFILTER_XT_MATCH_HASHLIMIT
, $(P_XT
)xt_hashlimit
))
112 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_LENGTH
, $(P_XT
)xt_length
))
113 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_STATISTIC
, $(P_XT
)xt_statistic
))
114 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_TCPMSS
, $(P_XT
)xt_tcpmss
))
116 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_TARGET_CLASSIFY
, $(P_XT
)xt_CLASSIFY
))
117 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_IP_NF_MATCH_DSCP
, $(P_V4
)ipt_dscp
))
118 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_IP_NF_TARGET_ECN
, $(P_V4
)ipt_ECN
))
120 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_ECN
, $(P_XT
)xt_ecn
))
123 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_DSCP
, xt_tos
)))
124 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_TARGET_DSCP
, xt_TOS
)))
125 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_HL
, ipt_ttl
)))
126 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_TARGET_HL
, ipt_TTL
)))
128 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_HL
, $(P_XT
)xt_hl
))
129 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_TARGET_HL
, $(P_XT
)xt_HL
))
132 $(eval
$(call nf_add
,IPT_IPRANGE
,CONFIG_NETFILTER_XT_MATCH_IPRANGE
, $(P_XT
)xt_iprange
))
135 $(eval
$(call nf_add
,IPT_CLUSTERIP
,CONFIG_IP_NF_TARGET_CLUSTERIP
, $(P_V4
)ipt_CLUSTERIP
))
138 $(eval
$(call nf_add
,IPT_IPSEC
,CONFIG_IP_NF_MATCH_AH
, $(P_V4
)ipt_ah
))
139 $(eval
$(call nf_add
,IPT_IPSEC
,CONFIG_NETFILTER_XT_MATCH_ESP
, $(P_XT
)xt_esp
))
140 $(eval
$(call nf_add
,IPT_IPSEC
,CONFIG_NETFILTER_XT_MATCH_POLICY
, $(P_XT
)xt_policy
))
146 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_IPT6
,CONFIG_IP6_NF_IPTABLES
, $(P_V6
)ip6_tables
),))
148 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK6
,CONFIG_NF_DEFRAG_IPV6
, $(P_V6
)nf_defrag_ipv6
),))
149 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK6
,CONFIG_NF_CONNTRACK_IPV6
, $(P_V6
)nf_conntrack_ipv6
),))
151 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_FILTER
, $(P_V6
)ip6table_filter
),))
152 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_MANGLE
, $(P_V6
)ip6table_mangle
),))
153 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_QUEUE
, $(P_V6
)ip6_queue
),))
154 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_RAW
, $(P_V6
)ip6table_raw
),))
156 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_IPTABLES
, ip6t_icmp6
)))
159 $(eval
$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_TARGET_LOG
, $(P_V6
)ip6t_LOG
))
160 $(eval
$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_TARGET_REJECT
, $(P_V6
)ip6t_REJECT
))
161 $(eval
$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_TARGET_REJECT
, $(P_V6
)nf_reject_ipv6
, ge
3.18.0))
164 $(eval
$(call nf_add
,IPT_IPV6_EXTRA
,CONFIG_IP6_NF_MATCH_IPV6HEADER
, $(P_V6
)ip6t_ipv6header
))
165 $(eval
$(call nf_add
,IPT_IPV6_EXTRA
,CONFIG_IP6_NF_MATCH_AH
, $(P_V6
)ip6t_ah
))
166 $(eval
$(call nf_add
,IPT_IPV6_EXTRA
,CONFIG_IP6_NF_MATCH_MH
, $(P_V6
)ip6t_mh
))
167 $(eval
$(call nf_add
,IPT_IPV6_EXTRA
,CONFIG_IP6_NF_MATCH_EUI64
, $(P_V6
)ip6t_eui64
))
168 $(eval
$(call nf_add
,IPT_IPV6_EXTRA
,CONFIG_IP6_NF_MATCH_OPTS
, $(P_V6
)ip6t_hbh
))
169 $(eval
$(call nf_add
,IPT_IPV6_EXTRA
,CONFIG_IP6_NF_MATCH_FRAG
, $(P_V6
)ip6t_frag
))
170 $(eval
$(call nf_add
,IPT_IPV6_EXTRA
,CONFIG_IP6_NF_MATCH_RT
, $(P_V6
)ip6t_rt
))
175 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_NAT
,CONFIG_NF_NAT
, $(P_V4
)nf_nat
, lt
3.7.0),))
176 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_NAT
,CONFIG_NF_NAT
, $(P_XT
)nf_nat
, ge
3.7.0),))
177 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_NAT
,CONFIG_NF_NAT_IPV4
, $(P_V4
)nf_nat_ipv4
, ge
3.7.0),))
178 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_NAT6
,CONFIG_NF_NAT_IPV6
, $(P_V6
)nf_nat_ipv6
, ge
3.7.0),))
180 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT
,CONFIG_NF_NAT
, $(P_XT
)xt_nat
, ge
3.7.0),))
181 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT
,CONFIG_NETFILTER_XT_NAT
, $(P_XT
)xt_nat
, ge
3.18.0),))
182 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT
,CONFIG_NF_NAT
, $(P_V4
)iptable_nat
, lt
3.7.0),))
183 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT
,CONFIG_NF_NAT_IPV4
, $(P_V4
)iptable_nat
, ge
3.7.0),))
184 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT
,CONFIG_IP_NF_NAT
, $(P_V4
)iptable_nat
, ge
3.18.0),))
185 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT6
,CONFIG_NF_NAT_IPV6
, $(P_V6
)ip6table_nat
, ge
3.7.0),))
186 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT6
,CONFIG_IP6_NF_TARGET_MASQUERADE
, $(P_V6
)ip6t_MASQUERADE
, ge
3.7.0),))
187 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT6
,CONFIG_IP6_NF_TARGET_NPT
, $(P_V6
)ip6t_NPT
, ge
3.7.0),))
190 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_NAT
,CONFIG_NF_NAT
, ipt_SNAT ipt_DNAT
)))
191 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_NAT6
,CONFIG_IP6_NF_TARGET_NPT
, ip6t_DNPT ip6t_SNPT
)))
193 $(eval
$(call nf_add
,IPT_NAT
,CONFIG_IP_NF_TARGET_MASQUERADE
, $(P_V4
)ipt_MASQUERADE
))
194 $(eval
$(call nf_add
,IPT_NAT
,CONFIG_IP_NF_TARGET_MASQUERADE
, $(P_V4
)nf_nat_masquerade_ipv4
, ge
3.18.0))
195 $(eval
$(call nf_add
,IPT_NAT
,CONFIG_IP_NF_TARGET_REDIRECT
, $(P_XT
)xt_REDIRECT
, ge
3.7.0))
196 $(eval
$(call nf_add
,IPT_NAT
,CONFIG_IP_NF_TARGET_REDIRECT
, $(P_V4
)ipt_REDIRECT
, lt
3.7.0))
201 $(eval
$(call nf_add
,IPT_NAT_EXTRA
,CONFIG_IP_NF_TARGET_NETMAP
, $(P_XT
)xt_NETMAP
, ge
3.7.0))
202 $(eval
$(call nf_add
,IPT_NAT_EXTRA
,CONFIG_IP_NF_TARGET_NETMAP
, $(P_V4
)ipt_NETMAP
, lt
3.7.0))
207 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_IP_NF_NAT_FTP
, $(P_V4
)ip_nat_ftp
))
208 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_NF_CONNTRACK_FTP
, $(P_XT
)nf_conntrack_ftp
))
209 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_NF_CONNTRACK_IRC
, $(P_XT
)nf_conntrack_irc
))
210 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_NF_NAT_FTP
, $(P_XT
)nf_nat_ftp
, ge
3.7.0))
211 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_NF_NAT_IRC
, $(P_XT
)nf_nat_irc
, ge
3.7.0))
212 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_NF_NAT_FTP
, $(P_V4
)nf_nat_ftp
, lt
3.7.0))
213 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_NF_NAT_IRC
, $(P_V4
)nf_nat_irc
, lt
3.7.0))
218 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_BROADCAST
, $(P_XT
)nf_conntrack_broadcast
))
219 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_AMANDA
, $(P_XT
)nf_conntrack_amanda
))
220 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_AMANDA
, $(P_XT
)nf_nat_amanda
, ge
3.7.0))
221 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_AMANDA
, $(P_V4
)nf_nat_amanda
, lt
3.7.0))
222 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CT_PROTO_GRE
, $(P_XT
)nf_conntrack_proto_gre
))
223 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_PROTO_GRE
, $(P_V4
)nf_nat_proto_gre
))
224 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_H323
, $(P_XT
)nf_conntrack_h323
))
225 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_H323
, $(P_V4
)nf_nat_h323
))
226 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_PPTP
, $(P_XT
)nf_conntrack_pptp
))
227 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_PPTP
, $(P_V4
)nf_nat_pptp
))
228 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_SIP
, $(P_XT
)nf_conntrack_sip
))
229 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_SIP
, $(P_XT
)nf_nat_sip
, ge
3.7.0))
230 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_SIP
, $(P_V4
)nf_nat_sip
, lt
3.7.0))
231 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_SNMP
, $(P_XT
)nf_conntrack_snmp
))
232 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_SNMP_BASIC
, $(P_V4
)nf_nat_snmp_basic
))
233 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_TFTP
, $(P_XT
)nf_conntrack_tftp
))
234 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_TFTP
, $(P_XT
)nf_nat_tftp
, ge
3.7.0))
235 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_TFTP
, $(P_V4
)nf_nat_tftp
, lt
3.7.0))
240 $(eval
$(call nf_add
,IPT_QUEUE
,CONFIG_IP_NF_QUEUE
, $(P_V4
)ip_queue
, lt
3.5.0))
245 $(eval
$(call nf_add
,IPT_ULOG
,CONFIG_IP_NF_TARGET_ULOG
, $(P_V4
)ipt_ULOG
))
250 $(eval
$(call nf_add
,IPT_NFLOG
,CONFIG_NETFILTER_XT_TARGET_NFLOG
, $(P_XT
)xt_NFLOG
))
255 $(eval
$(call nf_add
,IPT_NFQUEUE
,CONFIG_NETFILTER_XT_TARGET_NFQUEUE
, $(P_XT
)xt_NFQUEUE
))
260 $(eval
$(call nf_add
,IPT_DEBUG
,CONFIG_NETFILTER_XT_TARGET_TRACE
, $(P_XT
)xt_TRACE
))
264 $(eval
$(call nf_add
,IPT_TPROXY
,CONFIG_NETFILTER_XT_MATCH_SOCKET
, $(P_XT
)xt_socket
))
265 $(eval
$(call nf_add
,IPT_TPROXY
,CONFIG_NETFILTER_XT_TARGET_TPROXY
, $(P_XT
)xt_TPROXY
))
268 $(eval
$(call nf_add
,IPT_LED
,CONFIG_NETFILTER_XT_TARGET_LED
, $(P_XT
)xt_LED
))
272 $(eval
$(call nf_add
,IPT_TEE
,CONFIG_NETFILTER_XT_TARGET_TEE
, $(P_XT
)xt_TEE
))
276 $(eval
$(call nf_add
,IPT_U32
,CONFIG_NETFILTER_XT_MATCH_U32
, $(P_XT
)xt_u32
))
281 $(eval
$(call nf_add
,NFNETLINK
,CONFIG_NETFILTER_NETLINK
, $(P_XT
)nfnetlink
))
285 $(eval
$(call nf_add
,NFNETLINK_LOG
,CONFIG_NETFILTER_NETLINK_LOG
, $(P_XT
)nfnetlink_log
))
289 $(eval
$(call nf_add
,NFNETLINK_QUEUE
,CONFIG_NETFILTER_NETLINK_QUEUE
, $(P_XT
)nfnetlink_queue
))
295 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_NF_EBTABLES
, $(P_EBT
)ebtables
),))
298 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_BROUTE
, $(P_EBT
)ebtable_broute
))
299 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_T_FILTER
, $(P_EBT
)ebtable_filter
))
300 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_T_NAT
, $(P_EBT
)ebtable_nat
))
303 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_802_3
, $(P_EBT
)ebt_802_3
))
304 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_AMONG
, $(P_EBT
)ebt_among
))
305 $(eval
$(call nf_add
,EBTABLES_IP4
,CONFIG_BRIDGE_EBT_ARP
, $(P_EBT
)ebt_arp
))
306 $(eval
$(call nf_add
,EBTABLES_IP4
,CONFIG_BRIDGE_EBT_IP
, $(P_EBT
)ebt_ip
))
307 $(eval
$(call nf_add
,EBTABLES_IP6
,CONFIG_BRIDGE_EBT_IP6
, $(P_EBT
)ebt_ip6
))
308 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_LIMIT
, $(P_EBT
)ebt_limit
))
309 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_MARK
, $(P_EBT
)ebt_mark_m
))
310 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_PKTTYPE
, $(P_EBT
)ebt_pkttype
))
311 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_STP
, $(P_EBT
)ebt_stp
))
312 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_VLAN
, $(P_EBT
)ebt_vlan
))
315 $(eval
$(call nf_add
,EBTABLES_IP4
,CONFIG_BRIDGE_EBT_ARPREPLY
, $(P_EBT
)ebt_arpreply
))
316 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_MARK_T
, $(P_EBT
)ebt_mark
))
317 $(eval
$(call nf_add
,EBTABLES_IP4
,CONFIG_BRIDGE_EBT_DNAT
, $(P_EBT
)ebt_dnat
))
318 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_REDIRECT
, $(P_EBT
)ebt_redirect
))
319 $(eval
$(call nf_add
,EBTABLES_IP4
,CONFIG_BRIDGE_EBT_SNAT
, $(P_EBT
)ebt_snat
))
322 $(eval
$(call nf_add
,EBTABLES_WATCHERS
,CONFIG_BRIDGE_EBT_LOG
, $(P_EBT
)ebt_log
))
323 $(eval
$(call nf_add
,EBTABLES_WATCHERS
,CONFIG_BRIDGE_EBT_ULOG
, $(P_EBT
)ebt_ulog
))
324 $(eval
$(call nf_add
,EBTABLES_WATCHERS
,CONFIG_BRIDGE_EBT_NFLOG
, $(P_EBT
)ebt_nflog
))
325 $(eval
$(call nf_add
,EBTABLES_WATCHERS
,CONFIG_BRIDGE_EBT_NFQUEUE
, $(P_EBT
)ebt_nfqueue
))
328 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NF_TABLES
, $(P_XT
)nf_tables
, ge
3.14.0),))
329 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NF_TABLES_INET
, $(P_XT
)nf_tables_inet
, ge
3.14.0),))
330 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_EXTHDR
, $(P_XT
)nft_exthdr
, ge
3.14.0),))
331 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_META
, $(P_XT
)nft_meta
, ge
3.14.0),))
332 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_CT
, $(P_XT
)nft_ct
, ge
3.14.0),))
333 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_RBTREE
, $(P_XT
)nft_rbtree
, ge
3.14.0),))
334 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_HASH
, $(P_XT
)nft_hash
, ge
3.14.0),))
335 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_COUNTER
, $(P_XT
)nft_counter
, ge
3.14.0),))
336 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_LOG
, $(P_XT
)nft_log
, ge
3.14.0),))
337 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_LIMIT
, $(P_XT
)nft_limit
, ge
3.14.0),))
338 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_REJECT
, $(P_XT
)nft_reject
$(P_V4
)nft_reject_ipv4
$(P_V6
)nft_reject_ipv6
, ge
3.14.0),))
339 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_REJECT_INET
, $(P_XT
)nft_reject_inet
, ge
3.14.0),))
340 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NF_TABLES_IPV4
, $(P_V4
)nf_tables_ipv4
, ge
3.14.0),))
341 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_CHAIN_ROUTE_IPV4
, $(P_V4
)nft_chain_route_ipv4
, ge
3.14.0),))
342 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NF_TABLES_IPV6
, $(P_V6
)nf_tables_ipv6
, ge
3.14.0),))
343 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_CHAIN_ROUTE_IPV6
, $(P_V6
)nft_chain_route_ipv6
, ge
3.14.0),))
345 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NFT_NAT
, $(P_XT
)nft_nat
, ge
3.14.0),))
346 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NFT_CHAIN_NAT_IPV4
, $(P_V4
)nft_chain_nat_ipv4
, ge
3.14.0),))
347 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT6
,CONFIG_NFT_CHAIN_NAT_IPV6
, $(P_V6
)nft_chain_nat_ipv6
, ge
3.14.0),))
348 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NFT_MASQ
, $(P_XT
)nft_masq
, ge
3.18.0),))
349 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NFT_MASQ_IPV4
, $(P_V4
)nft_masq_ipv4
, ge
3.18.0),))
350 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NFT_MASQ_IPV6
, $(P_V6
)nft_masq_ipv6
, ge
3.18.0),))
353 IPT_BUILTIN
+= $(NF_IPT-y
) $(NF_IPT-m
)
354 IPT_BUILTIN
+= $(IPT_CORE-y
) $(IPT_CORE-m
)
355 IPT_BUILTIN
+= $(NF_CONNTRACK-y
)
356 IPT_BUILTIN
+= $(NF_CONNTRACK6-y
)
357 IPT_BUILTIN
+= $(IPT_CONNTRACK-y
)
358 IPT_BUILTIN
+= $(IPT_CONNTRACK_EXTRA-y
)
359 IPT_BUILTIN
+= $(IPT_EXTRA-y
)
360 IPT_BUILTIN
+= $(IPT_FILTER-y
)
361 IPT_BUILTIN
+= $(IPT_IPOPT-y
)
362 IPT_BUILTIN
+= $(IPT_IPRANGE-y
)
363 IPT_BUILTIN
+= $(IPT_CLUSTER-y
)
364 IPT_BUILTIN
+= $(IPT_CLUSTERIP-y
)
365 IPT_BUILTIN
+= $(IPT_IPSEC-y
)
366 IPT_BUILTIN
+= $(IPT_IPV6-y
) $(IPT_IPV6-m
)
367 IPT_BUILTIN
+= $(NF_NAT-y
)
368 IPT_BUILTIN
+= $(NF_NAT6-y
)
369 IPT_BUILTIN
+= $(IPT_NAT-y
)
370 IPT_BUILTIN
+= $(IPT_NAT6-y
)
371 IPT_BUILTIN
+= $(IPT_NAT_EXTRA-y
)
372 IPT_BUILTIN
+= $(NF_NATHELPER-y
)
373 IPT_BUILTIN
+= $(NF_NATHELPER_EXTRA-y
)
374 IPT_BUILTIN
+= $(IPT_ULOG-y
)
375 IPT_BUILTIN
+= $(IPT_DEBUG-y
)
376 IPT_BUILTIN
+= $(IPT_TPROXY-y
)
377 IPT_BUILTIN
+= $(NFNETLINK-y
)
378 IPT_BUILTIN
+= $(NFNETLINK_LOG-y
)
379 IPT_BUILTIN
+= $(NFNETLINK_QUEUE-y
)
380 IPT_BUILTIN
+= $(EBTABLES-y
)
381 IPT_BUILTIN
+= $(EBTABLES_IP4-y
)
382 IPT_BUILTIN
+= $(EBTABLES_IP6-y
)
383 IPT_BUILTIN
+= $(EBTABLES_WATCHERS-y
)
385 endif # __inc_netfilter