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
))
53 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_TARGET_LOG
, $(P_XT
)nf_log_common
))
54 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_TARGET_LOG
, $(P_V4
)nf_log_ipv4
))
55 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_TARGET_TCPMSS
, $(P_XT
)xt_TCPMSS
))
56 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_IP_NF_TARGET_REJECT
, $(P_V4
)ipt_REJECT
))
57 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_IP_NF_TARGET_REJECT
, $(P_V4
)nf_reject_ipv4
))
58 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_MATCH_TIME
, $(P_XT
)xt_time
))
59 $(eval
$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_MARK
, $(P_XT
)xt_mark
))
61 # kernel has xt_MARK.ko merged into xt_mark.ko, userspace is still separate
62 # userland: xt_MARK.so
63 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_CORE
,CONFIG_NETFILTER_XT_MARK
, $(P_XT
)xt_MARK
)))
69 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK
,CONFIG_NF_CONNTRACK
, $(P_XT
)nf_conntrack
),))
70 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK
,CONFIG_NF_CONNTRACK_RTCACHE
, $(P_XT
)nf_conntrack_rtcache
),))
71 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK
,CONFIG_NF_DEFRAG_IPV4
, $(P_V4
)nf_defrag_ipv4
),))
72 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK
,CONFIG_NF_CONNTRACK_IPV4
, $(P_V4
)nf_conntrack_ipv4
),))
74 $(eval
$(call nf_add
,IPT_CONNTRACK
,CONFIG_NETFILTER_XT_MATCH_STATE
, $(P_XT
)xt_state
))
75 $(eval
$(call nf_add
,IPT_CONNTRACK
,CONFIG_IP_NF_RAW
, $(P_V4
)iptable_raw
))
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_STRING
, $(P_XT
)xt_string
))
108 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_DSCP
, $(P_XT
)xt_dscp
))
109 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_TARGET_DSCP
, $(P_XT
)xt_DSCP
))
110 $(eval
$(call nf_add
,IPT_HASHLIMIT
,CONFIG_NETFILTER_XT_MATCH_HASHLIMIT
, $(P_XT
)xt_hashlimit
))
111 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_LENGTH
, $(P_XT
)xt_length
))
112 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_STATISTIC
, $(P_XT
)xt_statistic
))
113 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_TCPMSS
, $(P_XT
)xt_tcpmss
))
115 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_TARGET_CLASSIFY
, $(P_XT
)xt_CLASSIFY
))
116 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_IP_NF_MATCH_DSCP
, $(P_V4
)ipt_dscp
))
117 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_IP_NF_TARGET_ECN
, $(P_V4
)ipt_ECN
))
119 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_ECN
, $(P_XT
)xt_ecn
))
122 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_DSCP
, xt_tos
)))
123 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_TARGET_DSCP
, xt_TOS
)))
124 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_HL
, ipt_ttl
)))
125 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_TARGET_HL
, ipt_TTL
)))
127 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_MATCH_HL
, $(P_XT
)xt_hl
))
128 $(eval
$(call nf_add
,IPT_IPOPT
,CONFIG_NETFILTER_XT_TARGET_HL
, $(P_XT
)xt_HL
))
131 $(eval
$(call nf_add
,IPT_IPRANGE
,CONFIG_NETFILTER_XT_MATCH_IPRANGE
, $(P_XT
)xt_iprange
))
134 $(eval
$(call nf_add
,IPT_CLUSTERIP
,CONFIG_IP_NF_TARGET_CLUSTERIP
, $(P_V4
)ipt_CLUSTERIP
))
137 $(eval
$(call nf_add
,IPT_IPSEC
,CONFIG_IP_NF_MATCH_AH
, $(P_V4
)ipt_ah
))
138 $(eval
$(call nf_add
,IPT_IPSEC
,CONFIG_NETFILTER_XT_MATCH_ESP
, $(P_XT
)xt_esp
))
139 $(eval
$(call nf_add
,IPT_IPSEC
,CONFIG_NETFILTER_XT_MATCH_POLICY
, $(P_XT
)xt_policy
))
145 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_IPT6
,CONFIG_IP6_NF_IPTABLES
, $(P_V6
)ip6_tables
),))
147 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK6
,CONFIG_NF_DEFRAG_IPV6
, $(P_V6
)nf_defrag_ipv6
),))
148 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_CONNTRACK6
,CONFIG_NF_CONNTRACK_IPV6
, $(P_V6
)nf_conntrack_ipv6
),))
150 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_FILTER
, $(P_V6
)ip6table_filter
),))
151 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_MANGLE
, $(P_V6
)ip6table_mangle
),))
152 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_QUEUE
, $(P_V6
)ip6_queue
),))
153 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_IPV6
,CONFIG_IP6_NF_RAW
, $(P_V6
)ip6table_raw
),))
154 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_IPV6
,CONFIG_NF_LOG_IPV6
, $(P_V6
)nf_log_ipv6
),))
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
))
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_XT
)nf_nat
),))
176 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_NAT
,CONFIG_NF_NAT_IPV4
, $(P_V4
)nf_nat_ipv4
),))
177 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NF_NAT6
,CONFIG_NF_NAT_IPV6
, $(P_V6
)nf_nat_ipv6
),))
179 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT
,CONFIG_NETFILTER_XT_NAT
, $(P_XT
)xt_nat
),))
180 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT
,CONFIG_NF_NAT
, $(P_XT
)nf_nat_redirect
, ge
3.19.0),))
181 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT
,CONFIG_IP_NF_NAT
, $(P_V4
)iptable_nat
),))
182 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT6
,CONFIG_IP6_NF_NAT
, $(P_V6
)ip6table_nat
),))
183 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT6
,CONFIG_IP6_NF_NAT
, $(P_V6
)nf_nat_masquerade_ipv6
),))
184 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT6
,CONFIG_IP6_NF_TARGET_MASQUERADE
, $(P_V6
)ip6t_MASQUERADE
),))
185 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,IPT_NAT6
,CONFIG_IP6_NF_TARGET_NPT
, $(P_V6
)ip6t_NPT
),))
188 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_NAT
,CONFIG_NF_NAT
, ipt_SNAT ipt_DNAT
)))
189 $(eval
$(if
$(NF_KMOD
),,$(call nf_add
,IPT_NAT6
,CONFIG_IP6_NF_TARGET_NPT
, ip6t_DNPT ip6t_SNPT
)))
191 $(eval
$(call nf_add
,IPT_NAT
,CONFIG_IP_NF_TARGET_MASQUERADE
, $(P_V4
)ipt_MASQUERADE
))
192 $(eval
$(call nf_add
,IPT_NAT
,CONFIG_IP_NF_TARGET_MASQUERADE
, $(P_V4
)nf_nat_masquerade_ipv4
))
193 $(eval
$(call nf_add
,IPT_NAT
,CONFIG_IP_NF_TARGET_REDIRECT
, $(P_XT
)xt_REDIRECT
))
198 $(eval
$(call nf_add
,IPT_NAT_EXTRA
,CONFIG_IP_NF_TARGET_NETMAP
, $(P_XT
)xt_NETMAP
))
203 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_IP_NF_NAT_FTP
, $(P_V4
)ip_nat_ftp
))
204 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_NF_CONNTRACK_FTP
, $(P_XT
)nf_conntrack_ftp
))
205 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_NF_CONNTRACK_IRC
, $(P_XT
)nf_conntrack_irc
))
206 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_NF_NAT_FTP
, $(P_XT
)nf_nat_ftp
))
207 $(eval
$(call nf_add
,NF_NATHELPER
,CONFIG_NF_NAT_IRC
, $(P_XT
)nf_nat_irc
))
212 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_BROADCAST
, $(P_XT
)nf_conntrack_broadcast
))
213 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_AMANDA
, $(P_XT
)nf_conntrack_amanda
))
214 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_AMANDA
, $(P_XT
)nf_nat_amanda
))
215 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CT_PROTO_GRE
, $(P_XT
)nf_conntrack_proto_gre
))
216 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_PROTO_GRE
, $(P_V4
)nf_nat_proto_gre
))
217 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_H323
, $(P_XT
)nf_conntrack_h323
))
218 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_H323
, $(P_V4
)nf_nat_h323
))
219 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_PPTP
, $(P_XT
)nf_conntrack_pptp
))
220 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_PPTP
, $(P_V4
)nf_nat_pptp
))
221 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_SIP
, $(P_XT
)nf_conntrack_sip
))
222 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_SIP
, $(P_XT
)nf_nat_sip
))
223 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_SNMP
, $(P_XT
)nf_conntrack_snmp
))
224 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_SNMP_BASIC
, $(P_V4
)nf_nat_snmp_basic
))
225 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_CONNTRACK_TFTP
, $(P_XT
)nf_conntrack_tftp
))
226 $(eval
$(call nf_add
,NF_NATHELPER_EXTRA
,CONFIG_NF_NAT_TFTP
, $(P_XT
)nf_nat_tftp
))
231 $(eval
$(call nf_add
,IPT_ULOG
,CONFIG_IP_NF_TARGET_ULOG
, $(P_V4
)ipt_ULOG
))
236 $(eval
$(call nf_add
,IPT_NFLOG
,CONFIG_NETFILTER_XT_TARGET_NFLOG
, $(P_XT
)xt_NFLOG
))
241 $(eval
$(call nf_add
,IPT_NFQUEUE
,CONFIG_NETFILTER_XT_TARGET_NFQUEUE
, $(P_XT
)xt_NFQUEUE
))
246 $(eval
$(call nf_add
,IPT_DEBUG
,CONFIG_NETFILTER_XT_TARGET_TRACE
, $(P_XT
)xt_TRACE
))
250 $(eval
$(call nf_add
,IPT_TPROXY
,CONFIG_NETFILTER_XT_MATCH_SOCKET
, $(P_XT
)xt_socket
))
251 $(eval
$(call nf_add
,IPT_TPROXY
,CONFIG_NETFILTER_XT_TARGET_TPROXY
, $(P_XT
)xt_TPROXY
))
254 $(eval
$(call nf_add
,IPT_LED
,CONFIG_NETFILTER_XT_TARGET_LED
, $(P_XT
)xt_LED
))
258 $(eval
$(call nf_add
,IPT_TEE
,CONFIG_NETFILTER_XT_TARGET_TEE
, $(P_XT
)xt_TEE
))
262 $(eval
$(call nf_add
,IPT_U32
,CONFIG_NETFILTER_XT_MATCH_U32
, $(P_XT
)xt_u32
))
267 $(eval
$(call nf_add
,NFNETLINK
,CONFIG_NETFILTER_NETLINK
, $(P_XT
)nfnetlink
))
271 $(eval
$(call nf_add
,NFNETLINK_LOG
,CONFIG_NETFILTER_NETLINK_LOG
, $(P_XT
)nfnetlink_log
))
275 $(eval
$(call nf_add
,NFNETLINK_QUEUE
,CONFIG_NETFILTER_NETLINK_QUEUE
, $(P_XT
)nfnetlink_queue
))
281 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_NF_EBTABLES
, $(P_EBT
)ebtables
),))
284 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_BROUTE
, $(P_EBT
)ebtable_broute
))
285 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_T_FILTER
, $(P_EBT
)ebtable_filter
))
286 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_T_NAT
, $(P_EBT
)ebtable_nat
))
289 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_802_3
, $(P_EBT
)ebt_802_3
))
290 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_AMONG
, $(P_EBT
)ebt_among
))
291 $(eval
$(call nf_add
,EBTABLES_IP4
,CONFIG_BRIDGE_EBT_ARP
, $(P_EBT
)ebt_arp
))
292 $(eval
$(call nf_add
,EBTABLES_IP4
,CONFIG_BRIDGE_EBT_IP
, $(P_EBT
)ebt_ip
))
293 $(eval
$(call nf_add
,EBTABLES_IP6
,CONFIG_BRIDGE_EBT_IP6
, $(P_EBT
)ebt_ip6
))
294 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_LIMIT
, $(P_EBT
)ebt_limit
))
295 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_MARK
, $(P_EBT
)ebt_mark_m
))
296 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_PKTTYPE
, $(P_EBT
)ebt_pkttype
))
297 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_STP
, $(P_EBT
)ebt_stp
))
298 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_VLAN
, $(P_EBT
)ebt_vlan
))
301 $(eval
$(call nf_add
,EBTABLES_IP4
,CONFIG_BRIDGE_EBT_ARPREPLY
, $(P_EBT
)ebt_arpreply
))
302 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_MARK_T
, $(P_EBT
)ebt_mark
))
303 $(eval
$(call nf_add
,EBTABLES_IP4
,CONFIG_BRIDGE_EBT_DNAT
, $(P_EBT
)ebt_dnat
))
304 $(eval
$(call nf_add
,EBTABLES
,CONFIG_BRIDGE_EBT_REDIRECT
, $(P_EBT
)ebt_redirect
))
305 $(eval
$(call nf_add
,EBTABLES_IP4
,CONFIG_BRIDGE_EBT_SNAT
, $(P_EBT
)ebt_snat
))
308 $(eval
$(call nf_add
,EBTABLES_WATCHERS
,CONFIG_BRIDGE_EBT_LOG
, $(P_EBT
)ebt_log
))
309 $(eval
$(call nf_add
,EBTABLES_WATCHERS
,CONFIG_BRIDGE_EBT_ULOG
, $(P_EBT
)ebt_ulog
))
310 $(eval
$(call nf_add
,EBTABLES_WATCHERS
,CONFIG_BRIDGE_EBT_NFLOG
, $(P_EBT
)ebt_nflog
))
311 $(eval
$(call nf_add
,EBTABLES_WATCHERS
,CONFIG_BRIDGE_EBT_NFQUEUE
, $(P_EBT
)ebt_nfqueue
))
314 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NF_TABLES
, $(P_XT
)nf_tables
),))
315 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NF_TABLES_INET
, $(P_XT
)nf_tables_inet
),))
316 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_EXTHDR
, $(P_XT
)nft_exthdr
),))
317 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_META
, $(P_XT
)nft_meta
),))
318 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_CT
, $(P_XT
)nft_ct
),))
319 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_RBTREE
, $(P_XT
)nft_rbtree
),))
320 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_HASH
, $(P_XT
)nft_hash
),))
321 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_COUNTER
, $(P_XT
)nft_counter
),))
322 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_LOG
, $(P_XT
)nft_log
),))
323 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_LIMIT
, $(P_XT
)nft_limit
),))
324 $(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
),))
325 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_REJECT_INET
, $(P_XT
)nft_reject_inet
),))
326 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NF_REJECT_IPV4
, $(P_V4
)nf_reject_ipv4
),))
327 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NF_REJECT_IPV6
, $(P_V6
)nf_reject_ipv6
),))
328 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NF_TABLES_IPV4
, $(P_V4
)nf_tables_ipv4
),))
329 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_CHAIN_ROUTE_IPV4
, $(P_V4
)nft_chain_route_ipv4
),))
330 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NF_TABLES_IPV6
, $(P_V6
)nf_tables_ipv6
),))
331 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_CHAIN_ROUTE_IPV6
, $(P_V6
)nft_chain_route_ipv6
),))
332 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_REDIR
, $(P_XT
)nft_redir
, ge
3.19.0),))
333 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_REDIR_IPV4
, $(P_V4
)nft_redir_ipv4
, ge
3.19.0),))
334 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_CORE
,CONFIG_NFT_REDIR_IPV6
, $(P_V6
)nft_redir_ipv6
, ge
3.19.0),))
336 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NFT_NAT
, $(P_XT
)nft_nat
),))
337 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NF_NAT_MASQUERADE_IPV4
, $(P_V4
)nf_nat_masquerade_ipv4
),))
338 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NF_NAT_MASQUERADE_IPV6
, $(P_V6
)nf_nat_masquerade_ipv6
),))
339 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NFT_CHAIN_NAT_IPV4
, $(P_V4
)nft_chain_nat_ipv4
),))
340 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT6
,CONFIG_NFT_CHAIN_NAT_IPV6
, $(P_V6
)nft_chain_nat_ipv6
),))
341 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NFT_MASQ
, $(P_XT
)nft_masq
),))
342 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NFT_MASQ_IPV4
, $(P_V4
)nft_masq_ipv4
),))
343 $(eval
$(if
$(NF_KMOD
),$(call nf_add
,NFT_NAT
,CONFIG_NFT_MASQ_IPV6
, $(P_V6
)nft_masq_ipv6
),))
346 IPT_BUILTIN
+= $(NF_IPT-y
) $(NF_IPT-m
)
347 IPT_BUILTIN
+= $(IPT_CORE-y
) $(IPT_CORE-m
)
348 IPT_BUILTIN
+= $(NF_CONNTRACK-y
)
349 IPT_BUILTIN
+= $(NF_CONNTRACK6-y
)
350 IPT_BUILTIN
+= $(IPT_CONNTRACK-y
)
351 IPT_BUILTIN
+= $(IPT_CONNTRACK_EXTRA-y
)
352 IPT_BUILTIN
+= $(IPT_EXTRA-y
)
353 IPT_BUILTIN
+= $(IPT_FILTER-y
)
354 IPT_BUILTIN
+= $(IPT_IPOPT-y
)
355 IPT_BUILTIN
+= $(IPT_IPRANGE-y
)
356 IPT_BUILTIN
+= $(IPT_CLUSTER-y
)
357 IPT_BUILTIN
+= $(IPT_CLUSTERIP-y
)
358 IPT_BUILTIN
+= $(IPT_IPSEC-y
)
359 IPT_BUILTIN
+= $(IPT_IPV6-y
) $(IPT_IPV6-m
)
360 IPT_BUILTIN
+= $(NF_NAT-y
)
361 IPT_BUILTIN
+= $(NF_NAT6-y
)
362 IPT_BUILTIN
+= $(IPT_NAT-y
)
363 IPT_BUILTIN
+= $(IPT_NAT6-y
)
364 IPT_BUILTIN
+= $(IPT_NAT_EXTRA-y
)
365 IPT_BUILTIN
+= $(NF_NATHELPER-y
)
366 IPT_BUILTIN
+= $(NF_NATHELPER_EXTRA-y
)
367 IPT_BUILTIN
+= $(IPT_ULOG-y
)
368 IPT_BUILTIN
+= $(IPT_DEBUG-y
)
369 IPT_BUILTIN
+= $(IPT_TPROXY-y
)
370 IPT_BUILTIN
+= $(NFNETLINK-y
)
371 IPT_BUILTIN
+= $(NFNETLINK_LOG-y
)
372 IPT_BUILTIN
+= $(NFNETLINK_QUEUE-y
)
373 IPT_BUILTIN
+= $(EBTABLES-y
)
374 IPT_BUILTIN
+= $(EBTABLES_IP4-y
)
375 IPT_BUILTIN
+= $(EBTABLES_IP6-y
)
376 IPT_BUILTIN
+= $(EBTABLES_WATCHERS-y
)
378 endif # __inc_netfilter