11b482454f969429b596e07de293a49c48a00930
[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_4 @!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 define KernelPackage/ipt-nat
352   TITLE:=Basic NAT targets
353   KCONFIG:=$(KCONFIG_IPT_NAT)
354   FILES:=$(foreach mod,$(IPT_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
355   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NAT-m)))
356   $(call AddDepends/ipt,+kmod-nf-nat)
357 endef
358
359 define KernelPackage/ipt-nat/description
360  Netfilter (IPv4) kernel modules for basic NAT targets
361  Includes:
362  - MASQUERADE
363 endef
364
365 $(eval $(call KernelPackage,ipt-nat))
366
367
368 define KernelPackage/ipt-raw
369   TITLE:=Netfilter IPv4 raw table support
370   KCONFIG:=CONFIG_IP_NF_RAW
371   FILES:=$(LINUX_DIR)/net/ipv4/netfilter/iptable_raw.ko
372   AUTOLOAD:=$(call AutoProbe,iptable_raw)
373   $(call AddDepends/ipt)
374 endef
375
376 $(eval $(call KernelPackage,ipt-raw))
377
378
379 define KernelPackage/ipt-raw6
380   TITLE:=Netfilter IPv6 raw table support
381   KCONFIG:=CONFIG_IP6_NF_RAW
382   FILES:=$(LINUX_DIR)/net/ipv6/netfilter/ip6table_raw.ko
383   AUTOLOAD:=$(call AutoProbe,ip6table_raw)
384   $(call AddDepends/ipt,+kmod-ip6tables)
385 endef
386
387 $(eval $(call KernelPackage,ipt-raw6))
388
389
390 define KernelPackage/ipt-nat6
391   TITLE:=IPv6 NAT targets
392   KCONFIG:=$(KCONFIG_IPT_NAT6)
393   FILES:=$(foreach mod,$(IPT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
394   AUTOLOAD:=$(call AutoLoad,43,$(notdir $(IPT_NAT6-m)))
395   $(call AddDepends/ipt,+kmod-nf-nat6)
396   $(call AddDepends/ipt,+kmod-ipt-conntrack)
397   $(call AddDepends/ipt,+kmod-ipt-nat)
398   $(call AddDepends/ipt,+kmod-ip6tables)
399 endef
400
401 define KernelPackage/ipt-nat6/description
402  Netfilter (IPv6) kernel modules for NAT targets
403 endef
404
405 $(eval $(call KernelPackage,ipt-nat6))
406
407
408 define KernelPackage/ipt-nat-extra
409   TITLE:=Extra NAT targets
410   KCONFIG:=$(KCONFIG_IPT_NAT_EXTRA)
411   FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
412   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NAT_EXTRA-m)))
413   $(call AddDepends/ipt,+kmod-ipt-nat)
414 endef
415
416 define KernelPackage/ipt-nat-extra/description
417  Netfilter (IPv4) kernel modules for extra NAT targets
418  Includes:
419  - NETMAP
420  - REDIRECT
421 endef
422
423 $(eval $(call KernelPackage,ipt-nat-extra))
424
425
426 define KernelPackage/nf-nathelper
427   SUBMENU:=$(NF_MENU)
428   TITLE:=Basic Conntrack and NAT helpers
429   KCONFIG:=$(KCONFIG_NF_NATHELPER)
430   FILES:=$(foreach mod,$(NF_NATHELPER-m),$(LINUX_DIR)/net/$(mod).ko)
431   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NATHELPER-m)))
432   DEPENDS:=+kmod-nf-nat
433 endef
434
435 define KernelPackage/nf-nathelper/description
436  Default Netfilter (IPv4) Conntrack and NAT helpers
437  Includes:
438  - ftp
439 endef
440
441 $(eval $(call KernelPackage,nf-nathelper))
442
443
444 define KernelPackage/nf-nathelper-extra
445   SUBMENU:=$(NF_MENU)
446   TITLE:=Extra Conntrack and NAT helpers
447   KCONFIG:=$(KCONFIG_NF_NATHELPER_EXTRA)
448   FILES:=$(foreach mod,$(NF_NATHELPER_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
449   AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NATHELPER_EXTRA-m)))
450   DEPENDS:=+kmod-nf-nat +kmod-lib-textsearch
451 endef
452
453 define KernelPackage/nf-nathelper-extra/description
454  Extra Netfilter (IPv4) Conntrack and NAT helpers
455  Includes:
456  - amanda
457  - h323
458  - irc
459  - mms
460  - pptp
461  - proto_gre
462  - sip
463  - snmp_basic
464  - tftp
465  - broadcast
466 endef
467
468 $(eval $(call KernelPackage,nf-nathelper-extra))
469
470
471 define KernelPackage/ipt-ulog
472   TITLE:=Module for user-space packet logging
473   KCONFIG:=$(KCONFIG_IPT_ULOG)
474   FILES:=$(foreach mod,$(IPT_ULOG-m),$(LINUX_DIR)/net/$(mod).ko)
475   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_ULOG-m)))
476   $(call AddDepends/ipt)
477 endef
478
479 define KernelPackage/ipt-ulog/description
480  Netfilter (IPv4) module for user-space packet logging
481  Includes:
482  - ULOG
483 endef
484
485 $(eval $(call KernelPackage,ipt-ulog))
486
487
488 define KernelPackage/ipt-nflog
489   TITLE:=Module for user-space packet logging
490   KCONFIG:=$(KCONFIG_IPT_NFLOG)
491   FILES:=$(foreach mod,$(IPT_NFLOG-m),$(LINUX_DIR)/net/$(mod).ko)
492   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NFLOG-m)))
493   $(call AddDepends/ipt,+kmod-nfnetlink-log)
494 endef
495
496 define KernelPackage/ipt-nflog/description
497  Netfilter module for user-space packet logging
498  Includes:
499  - NFLOG
500 endef
501
502 $(eval $(call KernelPackage,ipt-nflog))
503
504
505 define KernelPackage/ipt-nfqueue
506   TITLE:=Module for user-space packet queuing
507   KCONFIG:=$(KCONFIG_IPT_NFQUEUE)
508   FILES:=$(foreach mod,$(IPT_NFQUEUE-m),$(LINUX_DIR)/net/$(mod).ko)
509   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NFQUEUE-m)))
510   $(call AddDepends/ipt,+kmod-nfnetlink-queue)
511 endef
512
513 define KernelPackage/ipt-nfqueue/description
514  Netfilter module for user-space packet queuing
515  Includes:
516  - NFQUEUE
517 endef
518
519 $(eval $(call KernelPackage,ipt-nfqueue))
520
521
522 define KernelPackage/ipt-debug
523   TITLE:=Module for debugging/development
524   KCONFIG:=$(KCONFIG_IPT_DEBUG)
525   FILES:=$(foreach mod,$(IPT_DEBUG-m),$(LINUX_DIR)/net/$(mod).ko)
526   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_DEBUG-m)))
527   $(call AddDepends/ipt,+kmod-ipt-raw +IPV6:kmod-ipt-raw6)
528 endef
529
530 define KernelPackage/ipt-debug/description
531  Netfilter modules for debugging/development of the firewall
532  Includes:
533  - TRACE
534 endef
535
536 $(eval $(call KernelPackage,ipt-debug))
537
538
539 define KernelPackage/ipt-led
540   TITLE:=Module to trigger a LED with a Netfilter rule
541   KCONFIG:=$(KCONFIG_IPT_LED)
542   FILES:=$(foreach mod,$(IPT_LED-m),$(LINUX_DIR)/net/$(mod).ko)
543   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_LED-m)))
544   $(call AddDepends/ipt)
545 endef
546
547 define KernelPackage/ipt-led/description
548  Netfilter target to trigger a LED when a network packet is matched.
549 endef
550
551 $(eval $(call KernelPackage,ipt-led))
552
553 define KernelPackage/ipt-tproxy
554   TITLE:=Transparent proxying support
555   DEPENDS+=+kmod-ipt-conntrack +IPV6:kmod-nf-conntrack6 +IPV6:kmod-ip6tables
556   KCONFIG:= \
557         CONFIG_NETFILTER_XT_MATCH_SOCKET \
558         CONFIG_NETFILTER_XT_TARGET_TPROXY
559   FILES:= \
560         $(foreach mod,$(IPT_TPROXY-m),$(LINUX_DIR)/net/$(mod).ko)
561   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_TPROXY-m)))
562   $(call AddDepends/ipt)
563 endef
564
565 define KernelPackage/ipt-tproxy/description
566   Kernel modules for Transparent Proxying
567 endef
568
569 $(eval $(call KernelPackage,ipt-tproxy))
570
571 define KernelPackage/ipt-tee
572   TITLE:=TEE support
573   DEPENDS:=+kmod-ipt-conntrack
574   KCONFIG:= \
575         CONFIG_NETFILTER_XT_TARGET_TEE
576   FILES:= \
577         $(LINUX_DIR)/net/netfilter/xt_TEE.ko \
578         $(foreach mod,$(IPT_TEE-m),$(LINUX_DIR)/net/$(mod).ko)
579   AUTOLOAD:=$(call AutoProbe,$(notdir nf_tee $(IPT_TEE-m)))
580   $(call AddDepends/ipt)
581 endef
582
583 define KernelPackage/ipt-tee/description
584   Kernel modules for TEE
585 endef
586
587 $(eval $(call KernelPackage,ipt-tee))
588
589 define KernelPackage/ip6t-tee
590   TITLE:=TEE support (IPv6)
591   DEPENDS:=+kmod-ipt-tee
592   FILES:= $(foreach mod,$(IP6T_TEE-m),$(LINUX_DIR)/net/$(mod).ko)
593   AUTOLOAD:=$(call AutoProbe,$(notdir nf_tee $(IP6T_TEE-m)))
594   $(call AddDepends/ipt)
595 endef
596
597 define KernelPackage/ip6t-tee/description
598   Kernel modules for TEE (IPv6)
599 endef
600
601 $(eval $(call KernelPackage,ip6t-tee))
602
603 define KernelPackage/ipt-u32
604   TITLE:=U32 support
605   KCONFIG:= \
606         CONFIG_NETFILTER_XT_MATCH_U32
607   FILES:= \
608         $(LINUX_DIR)/net/netfilter/xt_u32.ko \
609         $(foreach mod,$(IPT_U32-m),$(LINUX_DIR)/net/$(mod).ko)
610   AUTOLOAD:=$(call AutoProbe,$(notdir nf_tee $(IPT_U32-m)))
611   $(call AddDepends/ipt)
612 endef
613
614 define KernelPackage/ipt-u32/description
615   Kernel modules for U32
616 endef
617
618 $(eval $(call KernelPackage,ipt-u32))
619
620 define KernelPackage/ipt-checksum
621   TITLE:=CHECKSUM support
622   KCONFIG:= \
623         CONFIG_NETFILTER_XT_TARGET_CHECKSUM
624   FILES:= \
625         $(LINUX_DIR)/net/netfilter/xt_CHECKSUM.ko \
626         $(foreach mod,$(IPT_CHECKSUM-m),$(LINUX_DIR)/net/$(mod).ko)
627   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CHECKSUM-m)))
628   $(call AddDepends/ipt)
629 endef
630
631 define KernelPackage/ipt-checksum/description
632   Kernel modules for CHECKSUM fillin target
633 endef
634
635 $(eval $(call KernelPackage,ipt-checksum))
636
637
638 define KernelPackage/ipt-iprange
639   TITLE:=Module for matching ip ranges
640   KCONFIG:=$(KCONFIG_IPT_IPRANGE)
641   FILES:=$(foreach mod,$(IPT_IPRANGE-m),$(LINUX_DIR)/net/$(mod).ko)
642   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPRANGE-m)))
643   $(call AddDepends/ipt)
644 endef
645
646 define KernelPackage/ipt-iprange/description
647  Netfilter (IPv4) module for matching ip ranges
648  Includes:
649  - iprange
650 endef
651
652 $(eval $(call KernelPackage,ipt-iprange))
653
654 define KernelPackage/ipt-cluster
655   TITLE:=Module for matching cluster
656   KCONFIG:=$(KCONFIG_IPT_CLUSTER)
657   FILES:=$(foreach mod,$(IPT_CLUSTER-m),$(LINUX_DIR)/net/$(mod).ko)
658   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CLUSTER-m)))
659   $(call AddDepends/ipt)
660 endef
661
662 define KernelPackage/ipt-cluster/description
663  Netfilter (IPv4/IPv6) module for matching cluster
664  This option allows you to build work-load-sharing clusters of
665  network servers/stateful firewalls without having a dedicated
666  load-balancing router/server/switch. Basically, this match returns
667  true when the packet must be handled by this cluster node. Thus,
668  all nodes see all packets and this match decides which node handles
669  what packets. The work-load sharing algorithm is based on source
670  address hashing.
671
672  This module is usable for ipv4 and ipv6.
673
674  To use it also enable iptables-mod-cluster
675
676  see `iptables -m cluster --help` for more information.
677 endef
678
679 $(eval $(call KernelPackage,ipt-cluster))
680
681 define KernelPackage/ipt-clusterip
682   TITLE:=Module for CLUSTERIP
683   KCONFIG:=$(KCONFIG_IPT_CLUSTERIP)
684   FILES:=$(foreach mod,$(IPT_CLUSTERIP-m),$(LINUX_DIR)/net/$(mod).ko)
685   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CLUSTERIP-m)))
686   $(call AddDepends/ipt,+kmod-nf-conntrack)
687 endef
688
689 define KernelPackage/ipt-clusterip/description
690  Netfilter (IPv4-only) module for CLUSTERIP
691  The CLUSTERIP target allows you to build load-balancing clusters of
692  network servers without having a dedicated load-balancing
693  router/server/switch.
694
695  To use it also enable iptables-mod-clusterip
696
697  see `iptables -j CLUSTERIP --help` for more information.
698 endef
699
700 $(eval $(call KernelPackage,ipt-clusterip))
701
702
703 define KernelPackage/ipt-extra
704   TITLE:=Extra modules
705   KCONFIG:=$(KCONFIG_IPT_EXTRA)
706   FILES:=$(foreach mod,$(IPT_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
707   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_EXTRA-m)))
708   $(call AddDepends/ipt)
709 endef
710
711 define KernelPackage/ipt-extra/description
712  Other Netfilter (IPv4) kernel modules
713  Includes:
714  - addrtype
715  - owner
716  - pkttype
717  - quota
718 endef
719
720 $(eval $(call KernelPackage,ipt-extra))
721
722
723 define KernelPackage/ipt-physdev
724   TITLE:=physdev module
725   KCONFIG:=$(KCONFIG_IPT_PHYSDEV)
726   FILES:=$(foreach mod,$(IPT_PHYSDEV-m),$(LINUX_DIR)/net/$(mod).ko)
727   AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_PHYSDEV-m)))
728   $(call AddDepends/ipt,+kmod-br-netfilter)
729 endef
730
731 define KernelPackage/ipt-physdev/description
732  The iptables physdev kernel module
733 endef
734
735 $(eval $(call KernelPackage,ipt-physdev))
736
737
738 define KernelPackage/ip6tables
739   SUBMENU:=$(NF_MENU)
740   TITLE:=IPv6 modules
741   DEPENDS:=+kmod-nf-reject6 +kmod-nf-ipt6 +kmod-ipt-core
742   KCONFIG:=$(KCONFIG_IPT_IPV6)
743   FILES:=$(foreach mod,$(IPT_IPV6-m),$(LINUX_DIR)/net/$(mod).ko)
744   AUTOLOAD:=$(call AutoLoad,42,$(notdir $(IPT_IPV6-m)))
745 endef
746
747 define KernelPackage/ip6tables/description
748  Netfilter IPv6 firewalling support
749 endef
750
751 $(eval $(call KernelPackage,ip6tables))
752
753 define KernelPackage/ip6tables-extra
754   SUBMENU:=$(NF_MENU)
755   TITLE:=Extra IPv6 modules
756   DEPENDS:=+kmod-ip6tables
757   KCONFIG:=$(KCONFIG_IPT_IPV6_EXTRA)
758   FILES:=$(foreach mod,$(IPT_IPV6_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
759   AUTOLOAD:=$(call AutoLoad,43,$(notdir $(IPT_IPV6_EXTRA-m)))
760 endef
761
762 define KernelPackage/ip6tables-extra/description
763  Netfilter IPv6 extra header matching modules
764 endef
765
766 $(eval $(call KernelPackage,ip6tables-extra))
767
768 ARP_MODULES = arp_tables arpt_mangle arptable_filter
769 define KernelPackage/arptables
770   SUBMENU:=$(NF_MENU)
771   TITLE:=ARP firewalling modules
772   DEPENDS:=+kmod-ipt-core
773   FILES:=$(LINUX_DIR)/net/ipv4/netfilter/arp*.ko
774   KCONFIG:=CONFIG_IP_NF_ARPTABLES \
775     CONFIG_IP_NF_ARPFILTER \
776     CONFIG_IP_NF_ARP_MANGLE
777   AUTOLOAD:=$(call AutoProbe,$(ARP_MODULES))
778 endef
779
780 define KernelPackage/arptables/description
781  Kernel modules for ARP firewalling
782 endef
783
784 $(eval $(call KernelPackage,arptables))
785
786
787 define KernelPackage/br-netfilter
788   SUBMENU:=$(NF_MENU)
789   TITLE:=Bridge netfilter support modules
790   DEPENDS:=+kmod-ipt-core
791   FILES:=$(LINUX_DIR)/net/bridge/br_netfilter.ko
792   KCONFIG:=CONFIG_BRIDGE_NETFILTER
793   AUTOLOAD:=$(call AutoProbe,br_netfilter)
794 endef
795
796 define KernelPackage/br-netfilter/install
797         $(INSTALL_DIR) $(1)/etc/sysctl.d
798         $(INSTALL_DATA) ./files/sysctl-br-netfilter.conf $(1)/etc/sysctl.d/11-br-netfilter.conf
799 endef
800
801 $(eval $(call KernelPackage,br-netfilter))
802
803
804 define KernelPackage/ebtables
805   SUBMENU:=$(NF_MENU)
806   TITLE:=Bridge firewalling modules
807   DEPENDS:=+kmod-ipt-core
808   FILES:=$(foreach mod,$(EBTABLES-m),$(LINUX_DIR)/net/$(mod).ko)
809   KCONFIG:=$(KCONFIG_EBTABLES)
810   AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES-m)))
811 endef
812
813 define KernelPackage/ebtables/description
814   ebtables is a general, extensible frame/packet identification
815   framework. It provides you to do Ethernet
816   filtering/NAT/brouting on the Ethernet bridge.
817 endef
818
819 $(eval $(call KernelPackage,ebtables))
820
821
822 define AddDepends/ebtables
823   SUBMENU:=$(NF_MENU)
824   DEPENDS+= +kmod-ebtables $(1)
825 endef
826
827
828 define KernelPackage/ebtables-ipv4
829   TITLE:=ebtables: IPv4 support
830   FILES:=$(foreach mod,$(EBTABLES_IP4-m),$(LINUX_DIR)/net/$(mod).ko)
831   KCONFIG:=$(KCONFIG_EBTABLES_IP4)
832   AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_IP4-m)))
833   $(call AddDepends/ebtables)
834 endef
835
836 define KernelPackage/ebtables-ipv4/description
837  This option adds the IPv4 support to ebtables, which allows basic
838  IPv4 header field filtering, ARP filtering as well as SNAT, DNAT targets.
839 endef
840
841 $(eval $(call KernelPackage,ebtables-ipv4))
842
843
844 define KernelPackage/ebtables-ipv6
845   TITLE:=ebtables: IPv6 support
846   FILES:=$(foreach mod,$(EBTABLES_IP6-m),$(LINUX_DIR)/net/$(mod).ko)
847   KCONFIG:=$(KCONFIG_EBTABLES_IP6)
848   AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_IP6-m)))
849   $(call AddDepends/ebtables)
850 endef
851
852 define KernelPackage/ebtables-ipv6/description
853  This option adds the IPv6 support to ebtables, which allows basic
854  IPv6 header field filtering and target support.
855 endef
856
857 $(eval $(call KernelPackage,ebtables-ipv6))
858
859
860 define KernelPackage/ebtables-watchers
861   TITLE:=ebtables: watchers support
862   FILES:=$(foreach mod,$(EBTABLES_WATCHERS-m),$(LINUX_DIR)/net/$(mod).ko)
863   KCONFIG:=$(KCONFIG_EBTABLES_WATCHERS)
864   AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_WATCHERS-m)))
865   $(call AddDepends/ebtables)
866 endef
867
868 define KernelPackage/ebtables-watchers/description
869  This option adds the log watchers, that you can use in any rule
870  in any ebtables table.
871 endef
872
873 $(eval $(call KernelPackage,ebtables-watchers))
874
875
876 define KernelPackage/nfnetlink
877   SUBMENU:=$(NF_MENU)
878   TITLE:=Netlink-based userspace interface
879   FILES:=$(foreach mod,$(NFNETLINK-m),$(LINUX_DIR)/net/$(mod).ko)
880   KCONFIG:=$(KCONFIG_NFNETLINK)
881   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK-m)))
882 endef
883
884 define KernelPackage/nfnetlink/description
885  Kernel modules support for a netlink-based userspace interface
886 endef
887
888 $(eval $(call KernelPackage,nfnetlink))
889
890
891 define AddDepends/nfnetlink
892   SUBMENU:=$(NF_MENU)
893   DEPENDS+=+kmod-nfnetlink $(1)
894 endef
895
896
897 define KernelPackage/nfnetlink-log
898   TITLE:=Netfilter LOG over NFNETLINK interface
899   FILES:=$(foreach mod,$(NFNETLINK_LOG-m),$(LINUX_DIR)/net/$(mod).ko)
900   KCONFIG:=$(KCONFIG_NFNETLINK_LOG)
901   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK_LOG-m)))
902   $(call AddDepends/nfnetlink)
903 endef
904
905 define KernelPackage/nfnetlink-log/description
906  Kernel modules support for logging packets via NFNETLINK
907  Includes:
908  - NFLOG
909 endef
910
911 $(eval $(call KernelPackage,nfnetlink-log))
912
913
914 define KernelPackage/nfnetlink-queue
915   TITLE:=Netfilter QUEUE over NFNETLINK interface
916   FILES:=$(foreach mod,$(NFNETLINK_QUEUE-m),$(LINUX_DIR)/net/$(mod).ko)
917   KCONFIG:=$(KCONFIG_NFNETLINK_QUEUE)
918   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK_QUEUE-m)))
919   $(call AddDepends/nfnetlink)
920 endef
921
922 define KernelPackage/nfnetlink-queue/description
923  Kernel modules support for queueing packets via NFNETLINK
924  Includes:
925  - NFQUEUE
926 endef
927
928 $(eval $(call KernelPackage,nfnetlink-queue))
929
930
931 define KernelPackage/nf-conntrack-netlink
932   TITLE:=Connection tracking netlink interface
933   FILES:=$(LINUX_DIR)/net/netfilter/nf_conntrack_netlink.ko
934   KCONFIG:=CONFIG_NF_CT_NETLINK CONFIG_NF_CONNTRACK_EVENTS=y
935   AUTOLOAD:=$(call AutoProbe,nf_conntrack_netlink)
936   $(call AddDepends/nfnetlink,+kmod-ipt-conntrack)
937 endef
938
939 define KernelPackage/nf-conntrack-netlink/description
940  Kernel modules support for a netlink-based connection tracking
941  userspace interface
942 endef
943
944 $(eval $(call KernelPackage,nf-conntrack-netlink))
945
946 define KernelPackage/ipt-hashlimit
947   SUBMENU:=$(NF_MENU)
948   TITLE:=Netfilter hashlimit match
949   DEPENDS:=+kmod-ipt-core
950   KCONFIG:=$(KCONFIG_IPT_HASHLIMIT)
951   FILES:=$(LINUX_DIR)/net/netfilter/xt_hashlimit.ko
952   AUTOLOAD:=$(call AutoProbe,xt_hashlimit)
953   $(call KernelPackage/ipt)
954 endef
955
956 define KernelPackage/ipt-hashlimit/description
957  Kernel modules support for the hashlimit bucket match module
958 endef
959
960 $(eval $(call KernelPackage,ipt-hashlimit))
961
962 define KernelPackage/ipt-rpfilter
963   SUBMENU:=$(NF_MENU)
964   TITLE:=Netfilter rpfilter match
965   DEPENDS:=+kmod-ipt-core
966   KCONFIG:=$(KCONFIG_IPT_RPFILTER)
967   FILES:=$(realpath $(LINUX_DIR)/net/ipv4/netfilter/ipt_rpfilter.ko)
968   AUTOLOAD:=$(call AutoProbe,ipt_rpfilter)
969   $(call KernelPackage/ipt)
970 endef
971
972 define KernelPackage/ipt-rpfilter/description
973  Kernel modules support for the Netfilter rpfilter match
974 endef
975
976 $(eval $(call KernelPackage,ipt-rpfilter))
977
978
979 define KernelPackage/ip6t-rpfilter
980   SUBMENU:=$(NF_MENU)
981   TITLE:=Netfilter rpfilter match (IPv6)
982   DEPENDS:=+kmod-ipt-core
983   KCONFIG:=$(KCONFIG_IP6T_RPFILTER)
984   FILES:=$(realpath $(LINUX_DIR)/net/ipv6/netfilter/ip6t_rpfilter.ko)
985   AUTOLOAD:=$(call AutoProbe,ip6t_rpfilter)
986   $(call KernelPackage/ipt)
987 endef
988
989 define KernelPackage/ip6t-rpfilter/description
990  Kernel modules support for the Netfilter rpfilter match (IPv6)
991 endef
992
993 $(eval $(call KernelPackage,ip6t-rpfilter))
994
995
996 define KernelPackage/nft-core
997   SUBMENU:=$(NF_MENU)
998   TITLE:=Netfilter nf_tables support
999   DEPENDS:=+kmod-nfnetlink +kmod-nf-reject +kmod-nf-conntrack
1000   FILES:=$(foreach mod,$(NFT_CORE-m),$(LINUX_DIR)/net/$(mod).ko)
1001   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_CORE-m)))
1002   KCONFIG:= \
1003         CONFIG_NFT_COMPAT=n \
1004         CONFIG_NFT_QUEUE=n \
1005         $(KCONFIG_NFT_CORE)
1006 endef
1007
1008 define KernelPackage/nft-core/description
1009  Kernel module support for nftables
1010 endef
1011
1012 $(eval $(call KernelPackage,nft-core))
1013
1014 define KernelPackage/nft-core6
1015   SUBMENU:=$(NF_MENU)
1016   TITLE:=Netfilter nf_tables support (IPv6)
1017   DEPENDS:=+kmod-nft-core +kmod-nf-reject6 +kmod-nf-conntrack6
1018   FILES:=$(foreach mod,$(NFT_CORE6-m),$(LINUX_DIR)/net/$(mod).ko)
1019   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_CORE6-m)))
1020   KCONFIG:= $(KCONFIG_NFT_CORE6)
1021 endef
1022
1023 define KernelPackage/nft-core6/description
1024  Kernel module support for nftables (IPv6)
1025 endef
1026
1027 $(eval $(call KernelPackage,nft-core6))
1028
1029 define KernelPackage/nft-arp
1030   SUBMENU:=$(NF_MENU)
1031   TITLE:=Netfilter nf_tables ARP table support
1032   DEPENDS:=+kmod-nft-core
1033   FILES:=$(foreach mod,$(NFT_ARP-m),$(LINUX_DIR)/net/$(mod).ko)
1034   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_ARP-m)))
1035   KCONFIG:=$(KCONFIG_NFT_ARP)
1036 endef
1037
1038 $(eval $(call KernelPackage,nft-arp))
1039
1040
1041 define KernelPackage/nft-bridge
1042   SUBMENU:=$(NF_MENU)
1043   TITLE:=Netfilter nf_tables bridge table support
1044   DEPENDS:=+kmod-nft-core
1045   FILES:=$(foreach mod,$(NFT_BRIDGE-m),$(LINUX_DIR)/net/$(mod).ko)
1046   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_BRIDGE-m)))
1047   KCONFIG:= \
1048         CONFIG_NF_LOG_BRIDGE=n \
1049         $(KCONFIG_NFT_BRIDGE)
1050 endef
1051
1052 $(eval $(call KernelPackage,nft-bridge))
1053
1054
1055 define KernelPackage/nft-nat
1056   SUBMENU:=$(NF_MENU)
1057   TITLE:=Netfilter nf_tables NAT support
1058   DEPENDS:=+kmod-nft-core +kmod-nf-nat
1059   FILES:=$(foreach mod,$(NFT_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
1060   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT-m)))
1061   KCONFIG:=$(KCONFIG_NFT_NAT)
1062 endef
1063
1064 $(eval $(call KernelPackage,nft-nat))
1065
1066
1067 define KernelPackage/nft-offload
1068   SUBMENU:=$(NF_MENU)
1069   TITLE:=Netfilter nf_tables routing/NAT offload support
1070   DEPENDS:=+kmod-nf-flow +kmod-nft-nat
1071   KCONFIG:= \
1072         CONFIG_NF_FLOW_TABLE_INET \
1073         CONFIG_NF_FLOW_TABLE_IPV4 \
1074         CONFIG_NF_FLOW_TABLE_IPV6 \
1075         CONFIG_NFT_FLOW_OFFLOAD
1076   FILES:= \
1077         $(LINUX_DIR)/net/netfilter/nf_flow_table_inet.ko \
1078         $(LINUX_DIR)/net/ipv4/netfilter/nf_flow_table_ipv4.ko \
1079         $(LINUX_DIR)/net/ipv6/netfilter/nf_flow_table_ipv6.ko \
1080         $(LINUX_DIR)/net/netfilter/nft_flow_offload.ko
1081   AUTOLOAD:=$(call AutoProbe,nf_flow_table_inet nf_flow_table_ipv4 nf_flow_table_ipv6 nft_flow_offload)
1082 endef
1083
1084 $(eval $(call KernelPackage,nft-offload))
1085
1086
1087 define KernelPackage/nft-offload6
1088   SUBMENU:=$(NF_MENU)
1089   TITLE:=Netfilter nf_tables routing/NAT offload support (IPv6)
1090   DEPENDS:=+kmod-nft-offload
1091   KCONFIG:=CONFIG_NF_FLOW_TABLE_IPV6
1092   FILES:=$(LINUX_DIR)/net/ipv6/netfilter/nf_flow_table_ipv6.ko
1093   AUTOLOAD:=$(call AutoProbe,nf_flow_table_ipv6)
1094 endef
1095
1096 $(eval $(call KernelPackage,nft-offload6))
1097
1098 define KernelPackage/nft-nat6
1099   SUBMENU:=$(NF_MENU)
1100   TITLE:=Netfilter nf_tables IPv6-NAT support
1101   DEPENDS:=+kmod-nft-nat +kmod-nf-nat6
1102   FILES:=$(foreach mod,$(NFT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
1103   AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT6-m)))
1104   KCONFIG:=$(KCONFIG_NFT_NAT6)
1105 endef
1106
1107 $(eval $(call KernelPackage,nft-nat6))
1108
1109 define KernelPackage/nft-netdev
1110   SUBMENU:=$(NF_MENU)
1111   TITLE:=Netfilter nf_tables netdev support
1112   DEPENDS:=+kmod-nft-core
1113   KCONFIG:= \
1114         CONFIG_NETFILTER_INGRESS=y \
1115         CONFIG_NF_TABLES_NETDEV \
1116         CONFIG_NF_DUP_NETDEV \
1117         CONFIG_NFT_DUP_NETDEV \
1118         CONFIG_NFT_FWD_NETDEV
1119   FILES:= \
1120         $(LINUX_DIR)/net/netfilter/nf_tables_netdev.ko \
1121         $(LINUX_DIR)/net/netfilter/nf_dup_netdev.ko \
1122         $(LINUX_DIR)/net/netfilter/nft_dup_netdev.ko \
1123         $(LINUX_DIR)/net/netfilter/nft_fwd_netdev.ko
1124   AUTOLOAD:=$(call AutoProbe,nf_tables_netdev nf_dup_netdev nft_dup_netdev nft_fwd_netdev)
1125 endef
1126
1127 $(eval $(call KernelPackage,nft-netdev))