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