6daab752f76053e3b2a18d53690f6896b9be3cf1
[oweals/openwrt.git] / package / kernel / linux / modules / netfilter.mk
1
2 #
3 # Copyright (C) 2006-2010 OpenWrt.org
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 NF_MENU:=Netfilter Extensions
10 NF_KMOD:=1
11 include $(INCLUDE_DIR)/netfilter.mk
12
13
14 define KernelPackage/nf-reject
15   SUBMENU:=$(NF_MENU)
16   TITLE:=Netfilter IPv4 reject support
17   KCONFIG:= \
18         CONFIG_NETFILTER=y \
19         CONFIG_NETFILTER_ADVANCED=y \
20         $(KCONFIG_NF_REJECT)
21   FILES:=$(foreach mod,$(NF_REJECT-m),$(LINUX_DIR)/net/$(mod).ko)
22   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_REJECT-m)))
23 endef
24
25 $(eval $(call KernelPackage,nf-reject))
26
27
28 define KernelPackage/nf-reject6
29   SUBMENU:=$(NF_MENU)
30   TITLE:=Netfilter IPv6 reject support
31   KCONFIG:= \
32         CONFIG_NETFILTER=y \
33         CONFIG_NETFILTER_ADVANCED=y \
34         $(KCONFIG_NF_REJECT6)
35   DEPENDS:=@IPV6
36   FILES:=$(foreach mod,$(NF_REJECT6-m),$(LINUX_DIR)/net/$(mod).ko)
37   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_REJECT6-m)))
38 endef
39
40 $(eval $(call KernelPackage,nf-reject6))
41
42
43 define KernelPackage/nf-ipt
44   SUBMENU:=$(NF_MENU)
45   TITLE:=Iptables core
46   KCONFIG:=$(KCONFIG_NF_IPT)
47   FILES:=$(foreach mod,$(NF_IPT-m),$(LINUX_DIR)/net/$(mod).ko)
48   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_IPT-m)))
49 endef
50
51 $(eval $(call KernelPackage,nf-ipt))
52
53
54 define KernelPackage/nf-ipt6
55   SUBMENU:=$(NF_MENU)
56   TITLE:=Ip6tables core
57   KCONFIG:=$(KCONFIG_NF_IPT6)
58   FILES:=$(foreach mod,$(NF_IPT6-m),$(LINUX_DIR)/net/$(mod).ko)
59   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_IPT6-m)))
60   DEPENDS:=+kmod-nf-ipt
61 endef
62
63 $(eval $(call KernelPackage,nf-ipt6))
64
65
66
67 define KernelPackage/ipt-core
68   SUBMENU:=$(NF_MENU)
69   TITLE:=Iptables core
70   KCONFIG:=$(KCONFIG_IPT_CORE)
71   FILES:=$(foreach mod,$(IPT_CORE-m),$(LINUX_DIR)/net/$(mod).ko)
72   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CORE-m)))
73   DEPENDS:=+kmod-nf-reject +kmod-nf-ipt
74 endef
75
76 define KernelPackage/ipt-core/description
77  Netfilter core kernel modules
78  Includes:
79  - comment
80  - limit
81  - LOG
82  - mac
83  - multiport
84  - REJECT
85  - TCPMSS
86 endef
87
88 $(eval $(call KernelPackage,ipt-core))
89
90
91 define KernelPackage/nf-conntrack
92   SUBMENU:=$(NF_MENU)
93   TITLE:=Netfilter connection tracking
94   KCONFIG:= \
95         CONFIG_NETFILTER=y \
96         CONFIG_NETFILTER_ADVANCED=y \
97         CONFIG_NF_CONNTRACK_MARK=y \
98         CONFIG_NF_CONNTRACK_ZONES=y \
99         $(KCONFIG_NF_CONNTRACK)
100   FILES:=$(foreach mod,$(NF_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).ko)
101   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_CONNTRACK-m)))
102 endef
103
104 define KernelPackage/nf-conntrack/install
105         $(INSTALL_DIR) $(1)/etc/sysctl.d
106         $(INSTALL_DATA) ./files/sysctl-nf-conntrack.conf $(1)/etc/sysctl.d/11-nf-conntrack.conf
107 endef
108
109 $(eval $(call KernelPackage,nf-conntrack))
110
111
112 define KernelPackage/nf-conntrack6
113   SUBMENU:=$(NF_MENU)
114   TITLE:=Netfilter IPv6 connection tracking
115   KCONFIG:=$(KCONFIG_NF_CONNTRACK6)
116   DEPENDS:=@IPV6 +kmod-nf-conntrack
117   FILES:=$(foreach mod,$(NF_CONNTRACK6-m),$(LINUX_DIR)/net/$(mod).ko)
118   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_CONNTRACK6-m)))
119 endef
120
121 $(eval $(call KernelPackage,nf-conntrack6))
122
123
124 define KernelPackage/nf-nat
125   SUBMENU:=$(NF_MENU)
126   TITLE:=Netfilter NAT
127   KCONFIG:=$(KCONFIG_NF_NAT)
128   DEPENDS:=+kmod-nf-conntrack
129   FILES:=$(foreach mod,$(NF_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
130   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NAT-m)))
131 endef
132
133 $(eval $(call KernelPackage,nf-nat))
134
135
136 define KernelPackage/nf-nat6
137   SUBMENU:=$(NF_MENU)
138   TITLE:=Netfilter IPV6-NAT
139   KCONFIG:=$(KCONFIG_NF_NAT6)
140   DEPENDS:=+kmod-nf-conntrack6 +kmod-nf-nat
141   FILES:=$(foreach mod,$(NF_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
142   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NAT6-m)))
143 endef
144
145 $(eval $(call KernelPackage,nf-nat6))
146
147
148 define KernelPackage/nf-flow
149   SUBMENU:=$(NF_MENU)
150   TITLE:=Netfilter flowtable support
151   KCONFIG:= \
152         CONFIG_NETFILTER_INGRESS=y \
153         CONFIG_NF_FLOW_TABLE \
154         CONFIG_NF_FLOW_TABLE_HW
155   DEPENDS:=+kmod-nf-conntrack @!LINUX_3_18 @!LINUX_4_9
156   FILES:= \
157         $(LINUX_DIR)/net/netfilter/nf_flow_table.ko \
158         $(LINUX_DIR)/net/netfilter/nf_flow_table_hw.ko
159   AUTOLOAD:=$(call AutoProbe,nf_flow_table nf_flow_table_hw)
160 endef
161
162 $(eval $(call KernelPackage,nf-flow))
163
164
165 define AddDepends/ipt
166   SUBMENU:=$(NF_MENU)
167   DEPENDS+= +kmod-ipt-core $(1)
168 endef
169
170
171 define KernelPackage/ipt-conntrack
172   TITLE:=Basic connection tracking modules
173   KCONFIG:=$(KCONFIG_IPT_CONNTRACK)
174   FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).ko)
175   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CONNTRACK-m)))
176   $(call AddDepends/ipt,+kmod-nf-conntrack)
177 endef
178
179 define KernelPackage/ipt-conntrack/description
180  Netfilter (IPv4) kernel modules for connection tracking
181  Includes:
182  - conntrack
183  - defrag
184  - iptables_raw
185  - NOTRACK
186  - state
187 endef
188
189 $(eval $(call KernelPackage,ipt-conntrack))
190
191
192 define KernelPackage/ipt-conntrack-extra
193   TITLE:=Extra connection tracking modules
194   KCONFIG:=$(KCONFIG_IPT_CONNTRACK_EXTRA)
195   FILES:=$(foreach mod,$(IPT_CONNTRACK_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
196   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CONNTRACK_EXTRA-m)))
197   $(call AddDepends/ipt,+kmod-ipt-conntrack)
198 endef
199
200 define KernelPackage/ipt-conntrack-extra/description
201  Netfilter (IPv4) extra kernel modules for connection tracking
202  Includes:
203  - connbytes
204  - connmark/CONNMARK
205  - conntrack
206  - helper
207  - recent
208 endef
209
210 $(eval $(call KernelPackage,ipt-conntrack-extra))
211
212 define KernelPackage/ipt-conntrack-label
213   TITLE:=Module for handling connection tracking labels
214   KCONFIG:=$(KCONFIG_IPT_CONNTRACK_LABEL)
215   FILES:=$(foreach mod,$(IPT_CONNTRACK_LABEL-m),$(LINUX_DIR)/net/$(mod).ko)
216   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CONNTRACK_LABEL-m)))
217   $(call AddDepends/ipt,+kmod-ipt-conntrack)
218 endef
219
220 define KernelPackage/ipt-conntrack-label/description
221  Netfilter (IPv4) module for handling connection tracking labels
222  Includes:
223  - connlabel
224 endef
225
226 $(eval $(call KernelPackage,ipt-conntrack-label))
227
228 define KernelPackage/ipt-filter
229   TITLE:=Modules for packet content inspection
230   KCONFIG:=$(KCONFIG_IPT_FILTER)
231   FILES:=$(foreach mod,$(IPT_FILTER-m),$(LINUX_DIR)/net/$(mod).ko)
232   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_FILTER-m)))
233   $(call AddDepends/ipt,+kmod-lib-textsearch +kmod-ipt-conntrack)
234 endef
235
236 define KernelPackage/ipt-filter/description
237  Netfilter (IPv4) kernel modules for packet content inspection
238  Includes:
239  - string
240  - bpf
241 endef
242
243 $(eval $(call KernelPackage,ipt-filter))
244
245
246 define KernelPackage/ipt-offload
247   TITLE:=Netfilter routing/NAT offload support
248   KCONFIG:=CONFIG_NETFILTER_XT_TARGET_FLOWOFFLOAD
249   FILES:=$(foreach mod,$(IPT_FLOW-m),$(LINUX_DIR)/net/$(mod).ko)
250   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_FLOW-m)))
251   $(call AddDepends/ipt,+kmod-nf-flow)
252 endef
253
254 $(eval $(call KernelPackage,ipt-offload))
255
256
257 define KernelPackage/ipt-ipopt
258   TITLE:=Modules for matching/changing IP packet options
259   KCONFIG:=$(KCONFIG_IPT_IPOPT)
260   FILES:=$(foreach mod,$(IPT_IPOPT-m),$(LINUX_DIR)/net/$(mod).ko)
261   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPOPT-m)))
262   $(call AddDepends/ipt)
263 endef
264
265 define KernelPackage/ipt-ipopt/description
266  Netfilter (IPv4) modules for matching/changing IP packet options
267  Includes:
268  - CLASSIFY
269  - dscp/DSCP
270  - ecn/ECN
271  - hl/HL
272  - length
273  - mark/MARK
274  - statistic
275  - tcpmss
276  - time
277  - ttl/TTL
278  - unclean
279 endef
280
281 $(eval $(call KernelPackage,ipt-ipopt))
282
283
284 define KernelPackage/ipt-ipsec
285   TITLE:=Modules for matching IPSec packets
286   KCONFIG:=$(KCONFIG_IPT_IPSEC)
287   FILES:=$(foreach mod,$(IPT_IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
288   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPSEC-m)))
289   $(call AddDepends/ipt)
290 endef
291
292 define KernelPackage/ipt-ipsec/description
293  Netfilter (IPv4) modules for matching IPSec packets
294  Includes:
295  - ah
296  - esp
297  - policy
298 endef
299
300 $(eval $(call KernelPackage,ipt-ipsec))
301
302 IPSET_MODULES:= \
303         ipset/ip_set \
304         ipset/ip_set_bitmap_ip \
305         ipset/ip_set_bitmap_ipmac \
306         ipset/ip_set_bitmap_port \
307         ipset/ip_set_hash_ip \
308         ipset/ip_set_hash_ipmark \
309         ipset/ip_set_hash_ipport \
310         ipset/ip_set_hash_ipportip \
311         ipset/ip_set_hash_ipportnet \
312         ipset/ip_set_hash_mac \
313         ipset/ip_set_hash_netportnet \
314         ipset/ip_set_hash_net \
315         ipset/ip_set_hash_netnet \
316         ipset/ip_set_hash_netport \
317         ipset/ip_set_hash_netiface \
318         ipset/ip_set_list_set \
319         xt_set
320
321 define KernelPackage/ipt-ipset
322   SUBMENU:=Netfilter Extensions
323   TITLE:=IPset netfilter modules
324   DEPENDS+= +kmod-ipt-core +kmod-nfnetlink
325   KCONFIG:= \
326         CONFIG_IP_SET \
327         CONFIG_IP_SET_MAX=256 \
328         CONFIG_NETFILTER_XT_SET \
329         CONFIG_IP_SET_BITMAP_IP \
330         CONFIG_IP_SET_BITMAP_IPMAC \
331         CONFIG_IP_SET_BITMAP_PORT \
332         CONFIG_IP_SET_HASH_IP \
333         CONFIG_IP_SET_HASH_IPMARK \
334         CONFIG_IP_SET_HASH_IPPORT \
335         CONFIG_IP_SET_HASH_IPPORTIP \
336         CONFIG_IP_SET_HASH_IPPORTNET \
337         CONFIG_IP_SET_HASH_MAC \
338         CONFIG_IP_SET_HASH_NET \
339         CONFIG_IP_SET_HASH_NETNET \
340         CONFIG_IP_SET_HASH_NETIFACE \
341         CONFIG_IP_SET_HASH_NETPORT \
342         CONFIG_IP_SET_HASH_NETPORTNET \
343         CONFIG_IP_SET_LIST_SET \
344         CONFIG_NET_EMATCH_IPSET=n
345   FILES:=$(foreach mod,$(IPSET_MODULES),$(LINUX_DIR)/net/netfilter/$(mod).ko)
346   AUTOLOAD:=$(call AutoLoad,49,$(notdir $(IPSET_MODULES)))
347 endef
348 $(eval $(call KernelPackage,ipt-ipset))
349
350
351 IPVS_MODULES:= \
352         ipvs/ip_vs \
353         ipvs/ip_vs_lc \
354         ipvs/ip_vs_wlc \
355         ipvs/ip_vs_rr \
356         ipvs/ip_vs_wrr \
357         ipvs/ip_vs_lblc \
358         ipvs/ip_vs_lblcr \
359         ipvs/ip_vs_dh \
360         ipvs/ip_vs_sh \
361         ipvs/ip_vs_fo \
362         ipvs/ip_vs_ovf \
363         ipvs/ip_vs_nq \
364         ipvs/ip_vs_sed \
365         xt_ipvs
366
367 define KernelPackage/nf-ipvs
368   SUBMENU:=Netfilter Extensions
369   TITLE:=IP Virtual Server modules
370   DEPENDS:=@IPV6 +kmod-lib-crc32c +kmod-ipt-conntrack +kmod-nf-conntrack
371   KCONFIG:= \
372         CONFIG_IP_VS \
373         CONFIG_IP_VS_IPV6=y \
374         CONFIG_IP_VS_DEBUG=n \
375         CONFIG_IP_VS_PROTO_TCP=y \
376         CONFIG_IP_VS_PROTO_UDP=y \
377         CONFIG_IP_VS_PROTO_AH_ESP=y \
378         CONFIG_IP_VS_PROTO_ESP=y \
379         CONFIG_IP_VS_PROTO_AH=y \
380         CONFIG_IP_VS_PROTO_SCTP=y \
381         CONFIG_IP_VS_TAB_BITS=12 \
382         CONFIG_IP_VS_RR \
383         CONFIG_IP_VS_WRR \
384         CONFIG_IP_VS_LC \
385         CONFIG_IP_VS_WLC \
386         CONFIG_IP_VS_FO \
387         CONFIG_IP_VS_OVF \
388         CONFIG_IP_VS_LBLC \
389         CONFIG_IP_VS_LBLCR \
390         CONFIG_IP_VS_DH \
391         CONFIG_IP_VS_SH \
392         CONFIG_IP_VS_SED \
393         CONFIG_IP_VS_NQ \
394         CONFIG_IP_VS_SH_TAB_BITS=8 \
395         CONFIG_IP_VS_NFCT=y \
396         CONFIG_NETFILTER_XT_MATCH_IPVS
397   FILES:=$(foreach mod,$(IPVS_MODULES),$(LINUX_DIR)/net/netfilter/$(mod).ko)
398   $(call AddDepends/ipt,+kmod-ipt-conntrack,+kmod-nf-conntrack)
399 endef
400
401 define KernelPackage/nf-ipvs/description
402  IPVS (IP Virtual Server) implements transport-layer load balancing inside
403  the Linux kernel so called Layer-4 switching.
404 endef
405
406 $(eval $(call KernelPackage,nf-ipvs))
407
408
409 define KernelPackage/nf-ipvs-ftp
410   SUBMENU:=$(NF_MENU)
411   TITLE:=Virtual Server FTP protocol support
412   KCONFIG:=CONFIG_IP_VS_FTP
413   DEPENDS:=kmod-nf-ipvs +kmod-nf-nat +kmod-nf-nathelper
414   FILES:=$(LINUX_DIR)/net/netfilter/ipvs/ip_vs_ftp.ko
415 endef
416
417 define KernelPackage/nf-ipvs-ftp/description
418   In the virtual server via Network Address Translation,
419   the IP address and port number of real servers cannot be sent to
420   clients in ftp connections directly, so FTP protocol helper is
421   required for tracking the connection and mangling it back to that of
422   virtual service.
423 endef
424
425 $(eval $(call KernelPackage,nf-ipvs-ftp))
426
427
428 define KernelPackage/nf-ipvs-sip
429   SUBMENU:=$(NF_MENU)
430   TITLE:=Virtual Server SIP protocol support
431   KCONFIG:=CONFIG_IP_VS_PE_SIP
432   DEPENDS:=kmod-nf-ipvs +kmod-nf-nathelper-extra
433   FILES:=$(LINUX_DIR)/net/netfilter/ipvs/ip_vs_pe_sip.ko
434 endef
435
436 define KernelPackage/nf-ipvs-sip/description
437   Allow persistence based on the SIP Call-ID
438 endef
439
440 $(eval $(call KernelPackage,nf-ipvs-sip))
441
442
443 define KernelPackage/ipt-nat
444   TITLE:=Basic NAT targets
445   KCONFIG:=$(KCONFIG_IPT_NAT)
446   FILES:=$(foreach mod,$(IPT_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
447   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NAT-m)))
448   $(call AddDepends/ipt,+kmod-nf-nat)
449 endef
450
451 define KernelPackage/ipt-nat/description
452  Netfilter (IPv4) kernel modules for basic NAT targets
453  Includes:
454  - MASQUERADE
455 endef
456
457 $(eval $(call KernelPackage,ipt-nat))
458
459
460 define KernelPackage/ipt-raw
461   TITLE:=Netfilter IPv4 raw table support
462   KCONFIG:=CONFIG_IP_NF_RAW
463   FILES:=$(LINUX_DIR)/net/ipv4/netfilter/iptable_raw.ko
464   AUTOLOAD:=$(call AutoProbe,iptable_raw)
465   $(call AddDepends/ipt)
466 endef
467
468 $(eval $(call KernelPackage,ipt-raw))
469
470
471 define KernelPackage/ipt-raw6
472   TITLE:=Netfilter IPv6 raw table support
473   KCONFIG:=CONFIG_IP6_NF_RAW
474   FILES:=$(LINUX_DIR)/net/ipv6/netfilter/ip6table_raw.ko
475   AUTOLOAD:=$(call AutoProbe,ip6table_raw)
476   $(call AddDepends/ipt,+kmod-ip6tables)
477 endef
478
479 $(eval $(call KernelPackage,ipt-raw6))
480
481
482 define KernelPackage/ipt-nat6
483   TITLE:=IPv6 NAT targets
484   KCONFIG:=$(KCONFIG_IPT_NAT6)
485   FILES:=$(foreach mod,$(IPT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
486   AUTOLOAD:=$(call AutoLoad,43,$(notdir $(IPT_NAT6-m)))
487   $(call AddDepends/ipt,+kmod-nf-nat6)
488   $(call AddDepends/ipt,+kmod-ipt-conntrack)
489   $(call AddDepends/ipt,+kmod-ipt-nat)
490   $(call AddDepends/ipt,+kmod-ip6tables)
491 endef
492
493 define KernelPackage/ipt-nat6/description
494  Netfilter (IPv6) kernel modules for NAT targets
495 endef
496
497 $(eval $(call KernelPackage,ipt-nat6))
498
499
500 define KernelPackage/ipt-nat-extra
501   TITLE:=Extra NAT targets
502   KCONFIG:=$(KCONFIG_IPT_NAT_EXTRA)
503   FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
504   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NAT_EXTRA-m)))
505   $(call AddDepends/ipt,+kmod-ipt-nat)
506 endef
507
508 define KernelPackage/ipt-nat-extra/description
509  Netfilter (IPv4) kernel modules for extra NAT targets
510  Includes:
511  - NETMAP
512  - REDIRECT
513 endef
514
515 $(eval $(call KernelPackage,ipt-nat-extra))
516
517
518 define KernelPackage/nf-nathelper
519   SUBMENU:=$(NF_MENU)
520   TITLE:=Basic Conntrack and NAT helpers
521   KCONFIG:=$(KCONFIG_NF_NATHELPER)
522   FILES:=$(foreach mod,$(NF_NATHELPER-m),$(LINUX_DIR)/net/$(mod).ko)
523   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NATHELPER-m)))
524   DEPENDS:=+kmod-nf-nat
525 endef
526
527 define KernelPackage/nf-nathelper/description
528  Default Netfilter (IPv4) Conntrack and NAT helpers
529  Includes:
530  - ftp
531 endef
532
533 $(eval $(call KernelPackage,nf-nathelper))
534
535
536 define KernelPackage/nf-nathelper-extra
537   SUBMENU:=$(NF_MENU)
538   TITLE:=Extra Conntrack and NAT helpers
539   KCONFIG:=$(KCONFIG_NF_NATHELPER_EXTRA)
540   FILES:=$(foreach mod,$(NF_NATHELPER_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
541   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NATHELPER_EXTRA-m)))
542   DEPENDS:=+kmod-nf-nat +kmod-lib-textsearch +kmod-ipt-raw +LINUX_4_19:kmod-asn1-decoder
543 endef
544
545 define KernelPackage/nf-nathelper-extra/description
546  Extra Netfilter (IPv4) Conntrack and NAT helpers
547  Includes:
548  - amanda
549  - h323
550  - irc
551  - mms
552  - pptp
553  - proto_gre
554  - sip
555  - snmp_basic
556  - tftp
557  - broadcast
558 endef
559
560 $(eval $(call KernelPackage,nf-nathelper-extra))
561
562
563 define KernelPackage/ipt-ulog
564   TITLE:=Module for user-space packet logging
565   KCONFIG:=$(KCONFIG_IPT_ULOG)
566   FILES:=$(foreach mod,$(IPT_ULOG-m),$(LINUX_DIR)/net/$(mod).ko)
567   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_ULOG-m)))
568   $(call AddDepends/ipt)
569 endef
570
571 define KernelPackage/ipt-ulog/description
572  Netfilter (IPv4) module for user-space packet logging
573  Includes:
574  - ULOG
575 endef
576
577 $(eval $(call KernelPackage,ipt-ulog))
578
579
580 define KernelPackage/ipt-nflog
581   TITLE:=Module for user-space packet logging
582   KCONFIG:=$(KCONFIG_IPT_NFLOG)
583   FILES:=$(foreach mod,$(IPT_NFLOG-m),$(LINUX_DIR)/net/$(mod).ko)
584   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NFLOG-m)))
585   $(call AddDepends/ipt,+kmod-nfnetlink-log)
586 endef
587
588 define KernelPackage/ipt-nflog/description
589  Netfilter module for user-space packet logging
590  Includes:
591  - NFLOG
592 endef
593
594 $(eval $(call KernelPackage,ipt-nflog))
595
596
597 define KernelPackage/ipt-nfqueue
598   TITLE:=Module for user-space packet queuing
599   KCONFIG:=$(KCONFIG_IPT_NFQUEUE)
600   FILES:=$(foreach mod,$(IPT_NFQUEUE-m),$(LINUX_DIR)/net/$(mod).ko)
601   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NFQUEUE-m)))
602   $(call AddDepends/ipt,+kmod-nfnetlink-queue)
603 endef
604
605 define KernelPackage/ipt-nfqueue/description
606  Netfilter module for user-space packet queuing
607  Includes:
608  - NFQUEUE
609 endef
610
611 $(eval $(call KernelPackage,ipt-nfqueue))
612
613
614 define KernelPackage/ipt-debug
615   TITLE:=Module for debugging/development
616   KCONFIG:=$(KCONFIG_IPT_DEBUG)
617   FILES:=$(foreach mod,$(IPT_DEBUG-m),$(LINUX_DIR)/net/$(mod).ko)
618   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_DEBUG-m)))
619   $(call AddDepends/ipt,+kmod-ipt-raw +IPV6:kmod-ipt-raw6)
620 endef
621
622 define KernelPackage/ipt-debug/description
623  Netfilter modules for debugging/development of the firewall
624  Includes:
625  - TRACE
626 endef
627
628 $(eval $(call KernelPackage,ipt-debug))
629
630
631 define KernelPackage/ipt-led
632   TITLE:=Module to trigger a LED with a Netfilter rule
633   KCONFIG:=$(KCONFIG_IPT_LED)
634   FILES:=$(foreach mod,$(IPT_LED-m),$(LINUX_DIR)/net/$(mod).ko)
635   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_LED-m)))
636   $(call AddDepends/ipt)
637 endef
638
639 define KernelPackage/ipt-led/description
640  Netfilter target to trigger a LED when a network packet is matched.
641 endef
642
643 $(eval $(call KernelPackage,ipt-led))
644
645 define KernelPackage/ipt-tproxy
646   TITLE:=Transparent proxying support
647   DEPENDS+=+kmod-ipt-conntrack +IPV6:kmod-nf-conntrack6 +IPV6:kmod-ip6tables
648   KCONFIG:= \
649         CONFIG_NETFILTER_XT_MATCH_SOCKET \
650         CONFIG_NETFILTER_XT_TARGET_TPROXY
651   FILES:= \
652         $(foreach mod,$(IPT_TPROXY-m),$(LINUX_DIR)/net/$(mod).ko)
653   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_TPROXY-m)))
654   $(call AddDepends/ipt)
655 endef
656
657 define KernelPackage/ipt-tproxy/description
658   Kernel modules for Transparent Proxying
659 endef
660
661 $(eval $(call KernelPackage,ipt-tproxy))
662
663 define KernelPackage/ipt-tee
664   TITLE:=TEE support
665   DEPENDS:=+kmod-ipt-conntrack
666   KCONFIG:= \
667         CONFIG_NETFILTER_XT_TARGET_TEE
668   FILES:= \
669         $(LINUX_DIR)/net/netfilter/xt_TEE.ko \
670         $(foreach mod,$(IPT_TEE-m),$(LINUX_DIR)/net/$(mod).ko)
671   AUTOLOAD:=$(call AutoProbe,$(notdir nf_tee $(IPT_TEE-m)))
672   $(call AddDepends/ipt)
673 endef
674
675 define KernelPackage/ipt-tee/description
676   Kernel modules for TEE
677 endef
678
679 $(eval $(call KernelPackage,ipt-tee))
680
681
682 define KernelPackage/ipt-u32
683   TITLE:=U32 support
684   KCONFIG:= \
685         CONFIG_NETFILTER_XT_MATCH_U32
686   FILES:= \
687         $(LINUX_DIR)/net/netfilter/xt_u32.ko \
688         $(foreach mod,$(IPT_U32-m),$(LINUX_DIR)/net/$(mod).ko)
689   AUTOLOAD:=$(call AutoProbe,$(notdir nf_tee $(IPT_U32-m)))
690   $(call AddDepends/ipt)
691 endef
692
693 define KernelPackage/ipt-u32/description
694   Kernel modules for U32
695 endef
696
697 $(eval $(call KernelPackage,ipt-u32))
698
699 define KernelPackage/ipt-checksum
700   TITLE:=CHECKSUM support
701   KCONFIG:= \
702         CONFIG_NETFILTER_XT_TARGET_CHECKSUM
703   FILES:= \
704         $(LINUX_DIR)/net/netfilter/xt_CHECKSUM.ko \
705         $(foreach mod,$(IPT_CHECKSUM-m),$(LINUX_DIR)/net/$(mod).ko)
706   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CHECKSUM-m)))
707   $(call AddDepends/ipt)
708 endef
709
710 define KernelPackage/ipt-checksum/description
711   Kernel modules for CHECKSUM fillin target
712 endef
713
714 $(eval $(call KernelPackage,ipt-checksum))
715
716
717 define KernelPackage/ipt-iprange
718   TITLE:=Module for matching ip ranges
719   KCONFIG:=$(KCONFIG_IPT_IPRANGE)
720   FILES:=$(foreach mod,$(IPT_IPRANGE-m),$(LINUX_DIR)/net/$(mod).ko)
721   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPRANGE-m)))
722   $(call AddDepends/ipt)
723 endef
724
725 define KernelPackage/ipt-iprange/description
726  Netfilter (IPv4) module for matching ip ranges
727  Includes:
728  - iprange
729 endef
730
731 $(eval $(call KernelPackage,ipt-iprange))
732
733 define KernelPackage/ipt-cluster
734   TITLE:=Module for matching cluster
735   KCONFIG:=$(KCONFIG_IPT_CLUSTER)
736   FILES:=$(foreach mod,$(IPT_CLUSTER-m),$(LINUX_DIR)/net/$(mod).ko)
737   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CLUSTER-m)))
738   $(call AddDepends/ipt,+kmod-nf-conntrack)
739 endef
740
741 define KernelPackage/ipt-cluster/description
742  Netfilter (IPv4/IPv6) module for matching cluster
743  This option allows you to build work-load-sharing clusters of
744  network servers/stateful firewalls without having a dedicated
745  load-balancing router/server/switch. Basically, this match returns
746  true when the packet must be handled by this cluster node. Thus,
747  all nodes see all packets and this match decides which node handles
748  what packets. The work-load sharing algorithm is based on source
749  address hashing.
750
751  This module is usable for ipv4 and ipv6.
752
753  To use it also enable iptables-mod-cluster
754
755  see `iptables -m cluster --help` for more information.
756 endef
757
758 $(eval $(call KernelPackage,ipt-cluster))
759
760 define KernelPackage/ipt-clusterip
761   TITLE:=Module for CLUSTERIP
762   KCONFIG:=$(KCONFIG_IPT_CLUSTERIP)
763   FILES:=$(foreach mod,$(IPT_CLUSTERIP-m),$(LINUX_DIR)/net/$(mod).ko)
764   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CLUSTERIP-m)))
765   $(call AddDepends/ipt,+kmod-nf-conntrack)
766 endef
767
768 define KernelPackage/ipt-clusterip/description
769  Netfilter (IPv4-only) module for CLUSTERIP
770  The CLUSTERIP target allows you to build load-balancing clusters of
771  network servers without having a dedicated load-balancing
772  router/server/switch.
773
774  To use it also enable iptables-mod-clusterip
775
776  see `iptables -j CLUSTERIP --help` for more information.
777 endef
778
779 $(eval $(call KernelPackage,ipt-clusterip))
780
781
782 define KernelPackage/ipt-extra
783   TITLE:=Extra modules
784   KCONFIG:=$(KCONFIG_IPT_EXTRA)
785   FILES:=$(foreach mod,$(IPT_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
786   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_EXTRA-m)))
787   $(call AddDepends/ipt)
788 endef
789
790 define KernelPackage/ipt-extra/description
791  Other Netfilter (IPv4) kernel modules
792  Includes:
793  - addrtype
794  - owner
795  - pkttype
796  - quota
797 endef
798
799 $(eval $(call KernelPackage,ipt-extra))
800
801
802 define KernelPackage/ipt-physdev
803   TITLE:=physdev module
804   KCONFIG:=$(KCONFIG_IPT_PHYSDEV)
805   FILES:=$(foreach mod,$(IPT_PHYSDEV-m),$(LINUX_DIR)/net/$(mod).ko)
806   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_PHYSDEV-m)))
807   $(call AddDepends/ipt,+kmod-br-netfilter)
808 endef
809
810 define KernelPackage/ipt-physdev/description
811  The iptables physdev kernel module
812 endef
813
814 $(eval $(call KernelPackage,ipt-physdev))
815
816
817 define KernelPackage/ip6tables
818   SUBMENU:=$(NF_MENU)
819   TITLE:=IPv6 modules
820   DEPENDS:=+kmod-nf-reject6 +kmod-nf-ipt6 +kmod-ipt-core
821   KCONFIG:=$(KCONFIG_IPT_IPV6)
822   FILES:=$(foreach mod,$(IPT_IPV6-m),$(LINUX_DIR)/net/$(mod).ko)
823   AUTOLOAD:=$(call AutoLoad,42,$(notdir $(IPT_IPV6-m)))
824 endef
825
826 define KernelPackage/ip6tables/description
827  Netfilter IPv6 firewalling support
828 endef
829
830 $(eval $(call KernelPackage,ip6tables))
831
832 define KernelPackage/ip6tables-extra
833   SUBMENU:=$(NF_MENU)
834   TITLE:=Extra IPv6 modules
835   DEPENDS:=+kmod-ip6tables
836   KCONFIG:=$(KCONFIG_IPT_IPV6_EXTRA)
837   FILES:=$(foreach mod,$(IPT_IPV6_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
838   AUTOLOAD:=$(call AutoLoad,43,$(notdir $(IPT_IPV6_EXTRA-m)))
839 endef
840
841 define KernelPackage/ip6tables-extra/description
842  Netfilter IPv6 extra header matching modules
843 endef
844
845 $(eval $(call KernelPackage,ip6tables-extra))
846
847 ARP_MODULES = arp_tables arpt_mangle arptable_filter
848 define KernelPackage/arptables
849   SUBMENU:=$(NF_MENU)
850   TITLE:=ARP firewalling modules
851   DEPENDS:=+kmod-ipt-core
852   FILES:=$(LINUX_DIR)/net/ipv4/netfilter/arp*.ko
853   KCONFIG:=CONFIG_IP_NF_ARPTABLES \
854     CONFIG_IP_NF_ARPFILTER \
855     CONFIG_IP_NF_ARP_MANGLE
856   AUTOLOAD:=$(call AutoProbe,$(ARP_MODULES))
857 endef
858
859 define KernelPackage/arptables/description
860  Kernel modules for ARP firewalling
861 endef
862
863 $(eval $(call KernelPackage,arptables))
864
865
866 define KernelPackage/br-netfilter
867   SUBMENU:=$(NF_MENU)
868   TITLE:=Bridge netfilter support modules
869   DEPENDS:=+kmod-ipt-core
870   FILES:=$(LINUX_DIR)/net/bridge/br_netfilter.ko
871   KCONFIG:=CONFIG_BRIDGE_NETFILTER
872   AUTOLOAD:=$(call AutoProbe,br_netfilter)
873 endef
874
875 define KernelPackage/br-netfilter/install
876         $(INSTALL_DIR) $(1)/etc/sysctl.d
877         $(INSTALL_DATA) ./files/sysctl-br-netfilter.conf $(1)/etc/sysctl.d/11-br-netfilter.conf
878 endef
879
880 $(eval $(call KernelPackage,br-netfilter))
881
882
883 define KernelPackage/ebtables
884   SUBMENU:=$(NF_MENU)
885   TITLE:=Bridge firewalling modules
886   DEPENDS:=+kmod-ipt-core
887   FILES:=$(foreach mod,$(EBTABLES-m),$(LINUX_DIR)/net/$(mod).ko)
888   KCONFIG:=$(KCONFIG_EBTABLES)
889   AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES-m)))
890 endef
891
892 define KernelPackage/ebtables/description
893   ebtables is a general, extensible frame/packet identification
894   framework. It provides you to do Ethernet
895   filtering/NAT/brouting on the Ethernet bridge.
896 endef
897
898 $(eval $(call KernelPackage,ebtables))
899
900
901 define AddDepends/ebtables
902   SUBMENU:=$(NF_MENU)
903   DEPENDS+= +kmod-ebtables $(1)
904 endef
905
906
907 define KernelPackage/ebtables-ipv4
908   TITLE:=ebtables: IPv4 support
909   FILES:=$(foreach mod,$(EBTABLES_IP4-m),$(LINUX_DIR)/net/$(mod).ko)
910   KCONFIG:=$(KCONFIG_EBTABLES_IP4)
911   AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_IP4-m)))
912   $(call AddDepends/ebtables)
913 endef
914
915 define KernelPackage/ebtables-ipv4/description
916  This option adds the IPv4 support to ebtables, which allows basic
917  IPv4 header field filtering, ARP filtering as well as SNAT, DNAT targets.
918 endef
919
920 $(eval $(call KernelPackage,ebtables-ipv4))
921
922
923 define KernelPackage/ebtables-ipv6
924   TITLE:=ebtables: IPv6 support
925   FILES:=$(foreach mod,$(EBTABLES_IP6-m),$(LINUX_DIR)/net/$(mod).ko)
926   KCONFIG:=$(KCONFIG_EBTABLES_IP6)
927   AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_IP6-m)))
928   $(call AddDepends/ebtables)
929 endef
930
931 define KernelPackage/ebtables-ipv6/description
932  This option adds the IPv6 support to ebtables, which allows basic
933  IPv6 header field filtering and target support.
934 endef
935
936 $(eval $(call KernelPackage,ebtables-ipv6))
937
938
939 define KernelPackage/ebtables-watchers
940   TITLE:=ebtables: watchers support
941   FILES:=$(foreach mod,$(EBTABLES_WATCHERS-m),$(LINUX_DIR)/net/$(mod).ko)
942   KCONFIG:=$(KCONFIG_EBTABLES_WATCHERS)
943   AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_WATCHERS-m)))
944   $(call AddDepends/ebtables)
945 endef
946
947 define KernelPackage/ebtables-watchers/description
948  This option adds the log watchers, that you can use in any rule
949  in any ebtables table.
950 endef
951
952 $(eval $(call KernelPackage,ebtables-watchers))
953
954
955 define KernelPackage/nfnetlink
956   SUBMENU:=$(NF_MENU)
957   TITLE:=Netlink-based userspace interface
958   FILES:=$(foreach mod,$(NFNETLINK-m),$(LINUX_DIR)/net/$(mod).ko)
959   KCONFIG:=$(KCONFIG_NFNETLINK)
960   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK-m)))
961 endef
962
963 define KernelPackage/nfnetlink/description
964  Kernel modules support for a netlink-based userspace interface
965 endef
966
967 $(eval $(call KernelPackage,nfnetlink))
968
969
970 define AddDepends/nfnetlink
971   SUBMENU:=$(NF_MENU)
972   DEPENDS+=+kmod-nfnetlink $(1)
973 endef
974
975
976 define KernelPackage/nfnetlink-log
977   TITLE:=Netfilter LOG over NFNETLINK interface
978   FILES:=$(foreach mod,$(NFNETLINK_LOG-m),$(LINUX_DIR)/net/$(mod).ko)
979   KCONFIG:=$(KCONFIG_NFNETLINK_LOG)
980   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK_LOG-m)))
981   $(call AddDepends/nfnetlink)
982 endef
983
984 define KernelPackage/nfnetlink-log/description
985  Kernel modules support for logging packets via NFNETLINK
986  Includes:
987  - NFLOG
988 endef
989
990 $(eval $(call KernelPackage,nfnetlink-log))
991
992
993 define KernelPackage/nfnetlink-queue
994   TITLE:=Netfilter QUEUE over NFNETLINK interface
995   FILES:=$(foreach mod,$(NFNETLINK_QUEUE-m),$(LINUX_DIR)/net/$(mod).ko)
996   KCONFIG:=$(KCONFIG_NFNETLINK_QUEUE)
997   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK_QUEUE-m)))
998   $(call AddDepends/nfnetlink)
999 endef
1000
1001 define KernelPackage/nfnetlink-queue/description
1002  Kernel modules support for queueing packets via NFNETLINK
1003  Includes:
1004  - NFQUEUE
1005 endef
1006
1007 $(eval $(call KernelPackage,nfnetlink-queue))
1008
1009
1010 define KernelPackage/nf-conntrack-netlink
1011   TITLE:=Connection tracking netlink interface
1012   FILES:=$(LINUX_DIR)/net/netfilter/nf_conntrack_netlink.ko
1013   KCONFIG:=CONFIG_NF_CT_NETLINK CONFIG_NF_CONNTRACK_EVENTS=y
1014   AUTOLOAD:=$(call AutoProbe,nf_conntrack_netlink)
1015   $(call AddDepends/nfnetlink,+kmod-ipt-conntrack)
1016 endef
1017
1018 define KernelPackage/nf-conntrack-netlink/description
1019  Kernel modules support for a netlink-based connection tracking
1020  userspace interface
1021 endef
1022
1023 $(eval $(call KernelPackage,nf-conntrack-netlink))
1024
1025 define KernelPackage/ipt-hashlimit
1026   SUBMENU:=$(NF_MENU)
1027   TITLE:=Netfilter hashlimit match
1028   DEPENDS:=+kmod-ipt-core
1029   KCONFIG:=$(KCONFIG_IPT_HASHLIMIT)
1030   FILES:=$(LINUX_DIR)/net/netfilter/xt_hashlimit.ko
1031   AUTOLOAD:=$(call AutoProbe,xt_hashlimit)
1032   $(call KernelPackage/ipt)
1033 endef
1034
1035 define KernelPackage/ipt-hashlimit/description
1036  Kernel modules support for the hashlimit bucket match module
1037 endef
1038
1039 $(eval $(call KernelPackage,ipt-hashlimit))
1040
1041 define KernelPackage/ipt-rpfilter
1042   SUBMENU:=$(NF_MENU)
1043   TITLE:=Netfilter rpfilter match
1044   DEPENDS:=+kmod-ipt-core
1045   KCONFIG:=$(KCONFIG_IPT_RPFILTER)
1046   FILES:=$(realpath \
1047         $(LINUX_DIR)/net/ipv4/netfilter/ipt_rpfilter.ko \
1048         $(LINUX_DIR)/net/ipv6/netfilter/ip6t_rpfilter.ko)
1049   AUTOLOAD:=$(call AutoProbe,ipt_rpfilter ip6t_rpfilter)
1050   $(call KernelPackage/ipt)
1051 endef
1052
1053 define KernelPackage/ipt-rpfilter/description
1054  Kernel modules support for the Netfilter rpfilter match
1055 endef
1056
1057 $(eval $(call KernelPackage,ipt-rpfilter))
1058
1059
1060 define KernelPackage/nft-core
1061   SUBMENU:=$(NF_MENU)
1062   TITLE:=Netfilter nf_tables support
1063   DEPENDS:=+kmod-nfnetlink +kmod-nf-reject +kmod-nf-reject6 +kmod-nf-conntrack6
1064   FILES:=$(foreach mod,$(NFT_CORE-m),$(LINUX_DIR)/net/$(mod).ko)
1065   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_CORE-m)))
1066   KCONFIG:= \
1067         CONFIG_NFT_COMPAT=n \
1068         CONFIG_NFT_QUEUE=n \
1069         $(KCONFIG_NFT_CORE)
1070 endef
1071
1072 define KernelPackage/nft-core/description
1073  Kernel module support for nftables
1074 endef
1075
1076 $(eval $(call KernelPackage,nft-core))
1077
1078
1079 define KernelPackage/nft-arp
1080   SUBMENU:=$(NF_MENU)
1081   TITLE:=Netfilter nf_tables ARP table support
1082   DEPENDS:=+kmod-nft-core
1083   FILES:=$(foreach mod,$(NFT_ARP-m),$(LINUX_DIR)/net/$(mod).ko)
1084   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_ARP-m)))
1085   KCONFIG:=$(KCONFIG_NFT_ARP)
1086 endef
1087
1088 $(eval $(call KernelPackage,nft-arp))
1089
1090
1091 define KernelPackage/nft-bridge
1092   SUBMENU:=$(NF_MENU)
1093   TITLE:=Netfilter nf_tables bridge table support
1094   DEPENDS:=+kmod-nft-core
1095   FILES:=$(foreach mod,$(NFT_BRIDGE-m),$(LINUX_DIR)/net/$(mod).ko)
1096   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_BRIDGE-m)))
1097   KCONFIG:= \
1098         CONFIG_NF_LOG_BRIDGE=n \
1099         $(KCONFIG_NFT_BRIDGE)
1100 endef
1101
1102 $(eval $(call KernelPackage,nft-bridge))
1103
1104
1105 define KernelPackage/nft-nat
1106   SUBMENU:=$(NF_MENU)
1107   TITLE:=Netfilter nf_tables NAT support
1108   DEPENDS:=+kmod-nft-core +kmod-nf-nat
1109   FILES:=$(foreach mod,$(NFT_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
1110   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT-m)))
1111   KCONFIG:=$(KCONFIG_NFT_NAT)
1112 endef
1113
1114 $(eval $(call KernelPackage,nft-nat))
1115
1116
1117 define KernelPackage/nft-offload
1118   SUBMENU:=$(NF_MENU)
1119   TITLE:=Netfilter nf_tables routing/NAT offload support
1120   DEPENDS:=+kmod-nf-flow +kmod-nft-nat
1121   KCONFIG:= \
1122         CONFIG_NF_FLOW_TABLE_INET \
1123         CONFIG_NF_FLOW_TABLE_IPV4 \
1124         CONFIG_NF_FLOW_TABLE_IPV6 \
1125         CONFIG_NFT_FLOW_OFFLOAD
1126   FILES:= \
1127         $(LINUX_DIR)/net/netfilter/nf_flow_table_inet.ko \
1128         $(LINUX_DIR)/net/ipv4/netfilter/nf_flow_table_ipv4.ko \
1129         $(LINUX_DIR)/net/ipv6/netfilter/nf_flow_table_ipv6.ko \
1130         $(LINUX_DIR)/net/netfilter/nft_flow_offload.ko
1131   AUTOLOAD:=$(call AutoProbe,nf_flow_table_inet nf_flow_table_ipv4 nf_flow_table_ipv6 nft_flow_offload)
1132 endef
1133
1134 $(eval $(call KernelPackage,nft-offload))
1135
1136
1137 define KernelPackage/nft-nat6
1138   SUBMENU:=$(NF_MENU)
1139   TITLE:=Netfilter nf_tables IPv6-NAT support
1140   DEPENDS:=+kmod-nft-nat +kmod-nf-nat6
1141   FILES:=$(foreach mod,$(NFT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
1142   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT6-m)))
1143   KCONFIG:=$(KCONFIG_NFT_NAT6)
1144 endef
1145
1146 $(eval $(call KernelPackage,nft-nat6))
1147
1148 define KernelPackage/nft-netdev
1149   SUBMENU:=$(NF_MENU)
1150   TITLE:=Netfilter nf_tables netdev support
1151   DEPENDS:=+kmod-nft-core
1152   KCONFIG:= \
1153         CONFIG_NETFILTER_INGRESS=y \
1154         CONFIG_NF_TABLES_NETDEV \
1155         CONFIG_NF_DUP_NETDEV \
1156         CONFIG_NFT_DUP_NETDEV \
1157         CONFIG_NFT_FWD_NETDEV
1158   FILES:= \
1159         $(LINUX_DIR)/net/netfilter/nf_tables_netdev.ko \
1160         $(LINUX_DIR)/net/netfilter/nf_dup_netdev.ko \
1161         $(LINUX_DIR)/net/netfilter/nft_dup_netdev.ko \
1162         $(LINUX_DIR)/net/netfilter/nft_fwd_netdev.ko
1163   AUTOLOAD:=$(call AutoProbe,nf_tables_netdev nf_dup_netdev nft_dup_netdev nft_fwd_netdev)
1164 endef
1165
1166 $(eval $(call KernelPackage,nft-netdev))