3 # Copyright (C) 2006-2010 OpenWrt.org
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 NF_MENU:=Netfilter Extensions
11 include $(INCLUDE_DIR)/netfilter.mk
14 define KernelPackage/nf-ipt
19 CONFIG_NETFILTER_ADVANCED=y \
21 FILES:=$(foreach mod,$(NF_IPT-m),$(LINUX_DIR)/net/$(mod).ko)
22 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_IPT-m)))
25 $(eval $(call KernelPackage,nf-ipt))
28 define KernelPackage/nf-ipt6
31 KCONFIG:=$(KCONFIG_NF_IPT6)
32 FILES:=$(foreach mod,$(NF_IPT6-m),$(LINUX_DIR)/net/$(mod).ko)
33 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_IPT6-m)))
34 DEPENDS:=+kmod-nf-ipt +kmod-nf-conntrack6
37 $(eval $(call KernelPackage,nf-ipt6))
41 define KernelPackage/ipt-core
44 KCONFIG:=$(KCONFIG_IPT_CORE)
45 FILES:=$(foreach mod,$(IPT_CORE-m),$(LINUX_DIR)/net/$(mod).ko)
46 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CORE-m)))
50 define KernelPackage/ipt-core/description
51 Netfilter core kernel modules
62 $(eval $(call KernelPackage,ipt-core))
65 define KernelPackage/nf-conntrack
67 TITLE:=Netfilter connection tracking
70 CONFIG_NETFILTER_ADVANCED=y \
71 CONFIG_NF_CONNTRACK_ZONES=y \
72 $(KCONFIG_NF_CONNTRACK)
73 FILES:=$(foreach mod,$(NF_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).ko)
74 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_CONNTRACK-m)))
77 $(eval $(call KernelPackage,nf-conntrack))
80 define KernelPackage/nf-conntrack6
82 TITLE:=Netfilter IPv6 connection tracking
83 KCONFIG:=$(KCONFIG_NF_CONNTRACK6)
84 DEPENDS:=@IPV6 +kmod-nf-conntrack
85 FILES:=$(foreach mod,$(NF_CONNTRACK6-m),$(LINUX_DIR)/net/$(mod).ko)
86 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_CONNTRACK6-m)))
89 $(eval $(call KernelPackage,nf-conntrack6))
92 define KernelPackage/nf-nat
95 KCONFIG:=$(KCONFIG_NF_NAT)
96 DEPENDS:=+kmod-nf-conntrack +kmod-nf-ipt
97 FILES:=$(foreach mod,$(NF_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
98 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NAT-m)))
101 $(eval $(call KernelPackage,nf-nat))
104 define KernelPackage/nf-nat6
106 TITLE:=Netfilter IPV6-NAT
107 KCONFIG:=$(KCONFIG_NF_NAT6)
108 DEPENDS:=+kmod-nf-conntrack6 +kmod-nf-ipt6 +kmod-nf-nat
109 FILES:=$(foreach mod,$(NF_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
110 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NAT6-m)))
113 $(eval $(call KernelPackage,nf-nat6))
116 define AddDepends/ipt
118 DEPENDS+= +kmod-ipt-core $(1)
122 define KernelPackage/ipt-conntrack
123 TITLE:=Basic connection tracking modules
124 KCONFIG:=$(KCONFIG_IPT_CONNTRACK)
125 FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).ko)
126 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CONNTRACK-m)))
127 $(call AddDepends/ipt,+kmod-nf-conntrack)
130 define KernelPackage/ipt-conntrack/description
131 Netfilter (IPv4) kernel modules for connection tracking
140 $(eval $(call KernelPackage,ipt-conntrack))
143 define KernelPackage/ipt-conntrack-extra
144 TITLE:=Extra connection tracking modules
145 KCONFIG:=$(KCONFIG_IPT_CONNTRACK_EXTRA)
146 FILES:=$(foreach mod,$(IPT_CONNTRACK_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
147 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CONNTRACK_EXTRA-m)))
148 $(call AddDepends/ipt,+kmod-ipt-conntrack)
151 define KernelPackage/ipt-conntrack-extra/description
152 Netfilter (IPv4) extra kernel modules for connection tracking
161 $(eval $(call KernelPackage,ipt-conntrack-extra))
164 define KernelPackage/ipt-filter
165 TITLE:=Modules for packet content inspection
166 KCONFIG:=$(KCONFIG_IPT_FILTER)
167 FILES:=$(foreach mod,$(IPT_FILTER-m),$(LINUX_DIR)/net/$(mod).ko)
168 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_FILTER-m)))
169 $(call AddDepends/ipt,+kmod-lib-textsearch +kmod-ipt-conntrack)
172 define KernelPackage/ipt-filter/description
173 Netfilter (IPv4) kernel modules for packet content inspection
178 $(eval $(call KernelPackage,ipt-filter))
181 define KernelPackage/ipt-ipopt
182 TITLE:=Modules for matching/changing IP packet options
183 KCONFIG:=$(KCONFIG_IPT_IPOPT)
184 FILES:=$(foreach mod,$(IPT_IPOPT-m),$(LINUX_DIR)/net/$(mod).ko)
185 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPOPT-m)))
186 $(call AddDepends/ipt)
189 define KernelPackage/ipt-ipopt/description
190 Netfilter (IPv4) modules for matching/changing IP packet options
205 $(eval $(call KernelPackage,ipt-ipopt))
208 define KernelPackage/ipt-ipsec
209 TITLE:=Modules for matching IPSec packets
210 KCONFIG:=$(KCONFIG_IPT_IPSEC)
211 FILES:=$(foreach mod,$(IPT_IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
212 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPSEC-m)))
213 $(call AddDepends/ipt)
216 define KernelPackage/ipt-ipsec/description
217 Netfilter (IPv4) modules for matching IPSec packets
224 $(eval $(call KernelPackage,ipt-ipsec))
228 ipset/ip_set_bitmap_ip \
229 ipset/ip_set_bitmap_ipmac \
230 ipset/ip_set_bitmap_port \
231 ipset/ip_set_hash_ip \
232 ipset/ip_set_hash_ipmark \
233 ipset/ip_set_hash_ipport \
234 ipset/ip_set_hash_ipportip \
235 ipset/ip_set_hash_ipportnet \
236 ipset/ip_set_hash_mac \
237 ipset/ip_set_hash_netportnet \
238 ipset/ip_set_hash_net \
239 ipset/ip_set_hash_netnet \
240 ipset/ip_set_hash_netport \
241 ipset/ip_set_hash_netiface \
242 ipset/ip_set_list_set \
245 define KernelPackage/ipt-ipset
246 SUBMENU:=Netfilter Extensions
247 TITLE:=IPset netfilter modules
248 DEPENDS+= +kmod-ipt-core +kmod-nfnetlink
251 CONFIG_IP_SET_MAX=256 \
252 CONFIG_NETFILTER_XT_SET \
253 CONFIG_IP_SET_BITMAP_IP \
254 CONFIG_IP_SET_BITMAP_IPMAC \
255 CONFIG_IP_SET_BITMAP_PORT \
256 CONFIG_IP_SET_HASH_IP \
257 CONFIG_IP_SET_HASH_IPMARK \
258 CONFIG_IP_SET_HASH_IPPORT \
259 CONFIG_IP_SET_HASH_IPPORTIP \
260 CONFIG_IP_SET_HASH_IPPORTNET \
261 CONFIG_IP_SET_HASH_MAC \
262 CONFIG_IP_SET_HASH_NET \
263 CONFIG_IP_SET_HASH_NETNET \
264 CONFIG_IP_SET_HASH_NETIFACE \
265 CONFIG_IP_SET_HASH_NETPORT \
266 CONFIG_IP_SET_HASH_NETPORTNET \
267 CONFIG_IP_SET_LIST_SET \
268 CONFIG_NET_EMATCH_IPSET=n
269 FILES:=$(foreach mod,$(IPSET_MODULES),$(LINUX_DIR)/net/netfilter/$(mod).ko)
270 AUTOLOAD:=$(call AutoLoad,49,$(notdir $(IPSET_MODULES)))
272 $(eval $(call KernelPackage,ipt-ipset))
275 define KernelPackage/ipt-nat
276 TITLE:=Basic NAT targets
277 KCONFIG:=$(KCONFIG_IPT_NAT)
278 FILES:=$(foreach mod,$(IPT_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
279 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NAT-m)))
280 $(call AddDepends/ipt,+kmod-nf-nat)
283 define KernelPackage/ipt-nat/description
284 Netfilter (IPv4) kernel modules for basic NAT targets
289 $(eval $(call KernelPackage,ipt-nat))
292 define KernelPackage/ipt-nat6
293 TITLE:=IPv6 NAT targets
294 KCONFIG:=$(KCONFIG_IPT_NAT6)
295 FILES:=$(foreach mod,$(IPT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
296 AUTOLOAD:=$(call AutoLoad,43,$(notdir $(IPT_NAT6-m)))
297 $(call AddDepends/ipt,+kmod-nf-nat6)
298 $(call AddDepends/ipt,+kmod-ipt-conntrack)
299 $(call AddDepends/ipt,+kmod-ipt-nat)
300 $(call AddDepends/ipt,+kmod-ip6tables)
303 define KernelPackage/ipt-nat6/description
304 Netfilter (IPv6) kernel modules for NAT targets
307 $(eval $(call KernelPackage,ipt-nat6))
310 define KernelPackage/ipt-nat-extra
311 TITLE:=Extra NAT targets
312 KCONFIG:=$(KCONFIG_IPT_NAT_EXTRA)
313 FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
314 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NAT_EXTRA-m)))
315 $(call AddDepends/ipt,+kmod-ipt-nat)
318 define KernelPackage/ipt-nat-extra/description
319 Netfilter (IPv4) kernel modules for extra NAT targets
325 $(eval $(call KernelPackage,ipt-nat-extra))
328 define KernelPackage/nf-nathelper
330 TITLE:=Basic Conntrack and NAT helpers
331 KCONFIG:=$(KCONFIG_NF_NATHELPER)
332 FILES:=$(foreach mod,$(NF_NATHELPER-m),$(LINUX_DIR)/net/$(mod).ko)
333 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NATHELPER-m)))
334 DEPENDS:=+kmod-nf-nat
337 define KernelPackage/nf-nathelper/description
338 Default Netfilter (IPv4) Conntrack and NAT helpers
345 $(eval $(call KernelPackage,nf-nathelper))
348 define KernelPackage/nf-nathelper-extra
350 TITLE:=Extra Conntrack and NAT helpers
351 KCONFIG:=$(KCONFIG_NF_NATHELPER_EXTRA)
352 FILES:=$(foreach mod,$(NF_NATHELPER_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
353 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NATHELPER_EXTRA-m)))
354 DEPENDS:=+kmod-nf-nat +kmod-lib-textsearch
357 define KernelPackage/nf-nathelper-extra/description
358 Extra Netfilter (IPv4) Conntrack and NAT helpers
370 $(eval $(call KernelPackage,nf-nathelper-extra))
373 define KernelPackage/ipt-ulog
374 TITLE:=Module for user-space packet logging
375 KCONFIG:=$(KCONFIG_IPT_ULOG)
376 FILES:=$(foreach mod,$(IPT_ULOG-m),$(LINUX_DIR)/net/$(mod).ko)
377 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_ULOG-m)))
378 $(call AddDepends/ipt)
381 define KernelPackage/ipt-ulog/description
382 Netfilter (IPv4) module for user-space packet logging
387 $(eval $(call KernelPackage,ipt-ulog))
390 define KernelPackage/ipt-nflog
391 TITLE:=Module for user-space packet logging
392 KCONFIG:=$(KCONFIG_IPT_NFLOG)
393 FILES:=$(foreach mod,$(IPT_NFLOG-m),$(LINUX_DIR)/net/$(mod).ko)
394 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NFLOG-m)))
395 $(call AddDepends/ipt,+kmod-nfnetlink-log)
398 define KernelPackage/ipt-nflog/description
399 Netfilter module for user-space packet logging
404 $(eval $(call KernelPackage,ipt-nflog))
407 define KernelPackage/ipt-nfqueue
408 TITLE:=Module for user-space packet queuing
409 KCONFIG:=$(KCONFIG_IPT_NFQUEUE)
410 FILES:=$(foreach mod,$(IPT_NFQUEUE-m),$(LINUX_DIR)/net/$(mod).ko)
411 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NFQUEUE-m)))
412 $(call AddDepends/ipt,+kmod-nfnetlink-queue)
415 define KernelPackage/ipt-nfqueue/description
416 Netfilter module for user-space packet queuing
421 $(eval $(call KernelPackage,ipt-nfqueue))
424 define KernelPackage/ipt-debug
425 TITLE:=Module for debugging/development
426 KCONFIG:=$(KCONFIG_IPT_DEBUG)
428 FILES:=$(foreach mod,$(IPT_DEBUG-m),$(LINUX_DIR)/net/$(mod).ko)
429 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_DEBUG-m)))
430 $(call AddDepends/ipt)
433 define KernelPackage/ipt-debug/description
434 Netfilter modules for debugging/development of the firewall
439 $(eval $(call KernelPackage,ipt-debug))
442 define KernelPackage/ipt-led
443 TITLE:=Module to trigger a LED with a Netfilter rule
444 KCONFIG:=$(KCONFIG_IPT_LED)
445 FILES:=$(foreach mod,$(IPT_LED-m),$(LINUX_DIR)/net/$(mod).ko)
446 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_LED-m)))
447 $(call AddDepends/ipt)
450 define KernelPackage/ipt-led/description
451 Netfilter target to trigger a LED when a network packet is matched.
454 $(eval $(call KernelPackage,ipt-led))
456 define KernelPackage/ipt-tproxy
457 TITLE:=Transparent proxying support
458 DEPENDS+=+kmod-ipt-conntrack +IPV6:kmod-ip6tables
460 CONFIG_NETFILTER_XT_MATCH_SOCKET \
461 CONFIG_NETFILTER_XT_TARGET_TPROXY
463 $(foreach mod,$(IPT_TPROXY-m),$(LINUX_DIR)/net/$(mod).ko)
464 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_TPROXY-m)))
465 $(call AddDepends/ipt)
468 define KernelPackage/ipt-tproxy/description
469 Kernel modules for Transparent Proxying
472 $(eval $(call KernelPackage,ipt-tproxy))
474 define KernelPackage/ipt-tee
476 DEPENDS:=+kmod-ipt-conntrack @!LINUX_4_4
478 CONFIG_NETFILTER_XT_TARGET_TEE
480 $(LINUX_DIR)/net/netfilter/xt_TEE.ko \
481 $(foreach mod,$(IPT_TEE-m),$(LINUX_DIR)/net/$(mod).ko)
482 AUTOLOAD:=$(call AutoProbe,$(notdir nf_tee $(IPT_TEE-m)))
483 $(call AddDepends/ipt)
486 define KernelPackage/ipt-tee/description
487 Kernel modules for TEE
490 $(eval $(call KernelPackage,ipt-tee))
493 define KernelPackage/ipt-u32
496 CONFIG_NETFILTER_XT_MATCH_U32
498 $(LINUX_DIR)/net/netfilter/xt_u32.ko \
499 $(foreach mod,$(IPT_U32-m),$(LINUX_DIR)/net/$(mod).ko)
500 AUTOLOAD:=$(call AutoProbe,$(notdir nf_tee $(IPT_U32-m)))
501 $(call AddDepends/ipt)
504 define KernelPackage/ipt-u32/description
505 Kernel modules for U32
508 $(eval $(call KernelPackage,ipt-u32))
511 define KernelPackage/ipt-iprange
512 TITLE:=Module for matching ip ranges
513 KCONFIG:=$(KCONFIG_IPT_IPRANGE)
514 FILES:=$(foreach mod,$(IPT_IPRANGE-m),$(LINUX_DIR)/net/$(mod).ko)
515 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPRANGE-m)))
516 $(call AddDepends/ipt)
519 define KernelPackage/ipt-iprange/description
520 Netfilter (IPv4) module for matching ip ranges
525 $(eval $(call KernelPackage,ipt-iprange))
527 define KernelPackage/ipt-cluster
528 TITLE:=Module for matching cluster
529 KCONFIG:=$(KCONFIG_IPT_CLUSTER)
530 FILES:=$(foreach mod,$(IPT_CLUSTER-m),$(LINUX_DIR)/net/$(mod).ko)
531 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CLUSTER-m)))
532 $(call AddDepends/ipt)
535 define KernelPackage/ipt-cluster/description
536 Netfilter (IPv4/IPv6) module for matching cluster
537 This option allows you to build work-load-sharing clusters of
538 network servers/stateful firewalls without having a dedicated
539 load-balancing router/server/switch. Basically, this match returns
540 true when the packet must be handled by this cluster node. Thus,
541 all nodes see all packets and this match decides which node handles
542 what packets. The work-load sharing algorithm is based on source
545 This module is usable for ipv4 and ipv6.
547 To use it also enable iptables-mod-cluster
549 see `iptables -m cluster --help` for more information.
552 $(eval $(call KernelPackage,ipt-cluster))
554 define KernelPackage/ipt-clusterip
555 TITLE:=Module for CLUSTERIP
556 KCONFIG:=$(KCONFIG_IPT_CLUSTERIP)
557 FILES:=$(foreach mod,$(IPT_CLUSTERIP-m),$(LINUX_DIR)/net/$(mod).ko)
558 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CLUSTERIP-m)))
559 $(call AddDepends/ipt,+kmod-nf-conntrack)
562 define KernelPackage/ipt-clusterip/description
563 Netfilter (IPv4-only) module for CLUSTERIP
564 The CLUSTERIP target allows you to build load-balancing clusters of
565 network servers without having a dedicated load-balancing
566 router/server/switch.
568 To use it also enable iptables-mod-clusterip
570 see `iptables -j CLUSTERIP --help` for more information.
573 $(eval $(call KernelPackage,ipt-clusterip))
576 define KernelPackage/ipt-extra
578 KCONFIG:=$(KCONFIG_IPT_EXTRA)
579 FILES:=$(foreach mod,$(IPT_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
580 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_EXTRA-m)))
581 $(call AddDepends/ipt,+kmod-br-netfilter)
584 define KernelPackage/ipt-extra/description
585 Other Netfilter (IPv4) kernel modules
589 - physdev (if bridge support was enabled in kernel)
594 $(eval $(call KernelPackage,ipt-extra))
597 define KernelPackage/ip6tables
600 DEPENDS:=+kmod-nf-ipt6 +kmod-ipt-core +kmod-ipt-conntrack
601 KCONFIG:=$(KCONFIG_IPT_IPV6)
602 FILES:=$(foreach mod,$(IPT_IPV6-m),$(LINUX_DIR)/net/$(mod).ko)
603 AUTOLOAD:=$(call AutoLoad,42,$(notdir $(IPT_IPV6-m)))
606 define KernelPackage/ip6tables/description
607 Netfilter IPv6 firewalling support
610 $(eval $(call KernelPackage,ip6tables))
612 define KernelPackage/ip6tables-extra
614 TITLE:=Extra IPv6 modules
615 DEPENDS:=+kmod-ip6tables
616 KCONFIG:=$(KCONFIG_IPT_IPV6_EXTRA)
617 FILES:=$(foreach mod,$(IPT_IPV6_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
618 AUTOLOAD:=$(call AutoLoad,43,$(notdir $(IPT_IPV6_EXTRA-m)))
621 define KernelPackage/ip6tables-extra/description
622 Netfilter IPv6 extra header matching modules
625 $(eval $(call KernelPackage,ip6tables-extra))
627 ARP_MODULES = arp_tables arpt_mangle arptable_filter
628 define KernelPackage/arptables
630 TITLE:=ARP firewalling modules
631 DEPENDS:=+kmod-ipt-core
632 FILES:=$(LINUX_DIR)/net/ipv4/netfilter/arp*.ko
633 KCONFIG:=CONFIG_IP_NF_ARPTABLES \
634 CONFIG_IP_NF_ARPFILTER \
635 CONFIG_IP_NF_ARP_MANGLE
636 AUTOLOAD:=$(call AutoProbe,$(ARP_MODULES))
639 define KernelPackage/arptables/description
640 Kernel modules for ARP firewalling
643 $(eval $(call KernelPackage,arptables))
646 define KernelPackage/br-netfilter
648 TITLE:=Bridge netfilter support modules
650 DEPENDS:=+kmod-ipt-core +kmod-bridge
651 FILES:=$(LINUX_DIR)/net/bridge/br_netfilter.ko
652 KCONFIG:=CONFIG_BRIDGE_NETFILTER
653 AUTOLOAD:=$(call AutoProbe,br_netfilter)
656 $(eval $(call KernelPackage,br-netfilter))
659 define KernelPackage/ebtables
661 TITLE:=Bridge firewalling modules
662 DEPENDS:=+kmod-ipt-core +kmod-bridge +kmod-br-netfilter
663 FILES:=$(foreach mod,$(EBTABLES-m),$(LINUX_DIR)/net/$(mod).ko)
664 KCONFIG:=$(KCONFIG_EBTABLES)
665 AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES-m)))
668 define KernelPackage/ebtables/description
669 ebtables is a general, extensible frame/packet identification
670 framework. It provides you to do Ethernet
671 filtering/NAT/brouting on the Ethernet bridge.
674 $(eval $(call KernelPackage,ebtables))
677 define AddDepends/ebtables
679 DEPENDS+=kmod-ebtables $(1)
683 define KernelPackage/ebtables-ipv4
684 TITLE:=ebtables: IPv4 support
685 FILES:=$(foreach mod,$(EBTABLES_IP4-m),$(LINUX_DIR)/net/$(mod).ko)
686 KCONFIG:=$(KCONFIG_EBTABLES_IP4)
687 AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_IP4-m)))
688 $(call AddDepends/ebtables)
691 define KernelPackage/ebtables-ipv4/description
692 This option adds the IPv4 support to ebtables, which allows basic
693 IPv4 header field filtering, ARP filtering as well as SNAT, DNAT targets.
696 $(eval $(call KernelPackage,ebtables-ipv4))
699 define KernelPackage/ebtables-ipv6
700 TITLE:=ebtables: IPv6 support
701 FILES:=$(foreach mod,$(EBTABLES_IP6-m),$(LINUX_DIR)/net/$(mod).ko)
702 KCONFIG:=$(KCONFIG_EBTABLES_IP6)
703 AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_IP6-m)))
704 $(call AddDepends/ebtables)
707 define KernelPackage/ebtables-ipv6/description
708 This option adds the IPv6 support to ebtables, which allows basic
709 IPv6 header field filtering and target support.
712 $(eval $(call KernelPackage,ebtables-ipv6))
715 define KernelPackage/ebtables-watchers
716 TITLE:=ebtables: watchers support
717 FILES:=$(foreach mod,$(EBTABLES_WATCHERS-m),$(LINUX_DIR)/net/$(mod).ko)
718 KCONFIG:=$(KCONFIG_EBTABLES_WATCHERS)
719 AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_WATCHERS-m)))
720 $(call AddDepends/ebtables)
723 define KernelPackage/ebtables-watchers/description
724 This option adds the log watchers, that you can use in any rule
725 in any ebtables table.
728 $(eval $(call KernelPackage,ebtables-watchers))
731 define KernelPackage/nfnetlink
733 TITLE:=Netlink-based userspace interface
734 FILES:=$(foreach mod,$(NFNETLINK-m),$(LINUX_DIR)/net/$(mod).ko)
735 KCONFIG:=$(KCONFIG_NFNETLINK)
736 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK-m)))
739 define KernelPackage/nfnetlink/description
740 Kernel modules support for a netlink-based userspace interface
743 $(eval $(call KernelPackage,nfnetlink))
746 define AddDepends/nfnetlink
748 DEPENDS+=+kmod-nfnetlink $(1)
752 define KernelPackage/nfnetlink-log
753 TITLE:=Netfilter LOG over NFNETLINK interface
754 FILES:=$(foreach mod,$(NFNETLINK_LOG-m),$(LINUX_DIR)/net/$(mod).ko)
755 KCONFIG:=$(KCONFIG_NFNETLINK_LOG)
756 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK_LOG-m)))
757 $(call AddDepends/nfnetlink)
760 define KernelPackage/nfnetlink-log/description
761 Kernel modules support for logging packets via NFNETLINK
766 $(eval $(call KernelPackage,nfnetlink-log))
769 define KernelPackage/nfnetlink-queue
770 TITLE:=Netfilter QUEUE over NFNETLINK interface
771 FILES:=$(foreach mod,$(NFNETLINK_QUEUE-m),$(LINUX_DIR)/net/$(mod).ko)
772 KCONFIG:=$(KCONFIG_NFNETLINK_QUEUE)
773 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK_QUEUE-m)))
774 $(call AddDepends/nfnetlink)
777 define KernelPackage/nfnetlink-queue/description
778 Kernel modules support for queueing packets via NFNETLINK
783 $(eval $(call KernelPackage,nfnetlink-queue))
786 define KernelPackage/nf-conntrack-netlink
787 TITLE:=Connection tracking netlink interface
788 FILES:=$(LINUX_DIR)/net/netfilter/nf_conntrack_netlink.ko
789 KCONFIG:=CONFIG_NF_CT_NETLINK CONFIG_NF_CONNTRACK_EVENTS=y
790 AUTOLOAD:=$(call AutoProbe,nf_conntrack_netlink)
791 $(call AddDepends/nfnetlink,+kmod-ipt-conntrack)
794 define KernelPackage/nf-conntrack-netlink/description
795 Kernel modules support for a netlink-based connection tracking
799 $(eval $(call KernelPackage,nf-conntrack-netlink))
801 define KernelPackage/ipt-hashlimit
803 TITLE:=Netfilter hashlimit match
804 DEPENDS:=+kmod-ipt-core
805 KCONFIG:=$(KCONFIG_IPT_HASHLIMIT)
806 FILES:=$(LINUX_DIR)/net/netfilter/xt_hashlimit.ko
807 AUTOLOAD:=$(call AutoProbe,xt_hashlimit)
808 $(call KernelPackage/ipt)
811 define KernelPackage/ipt-hashlimit/description
812 Kernel modules support for the hashlimit bucket match module
815 $(eval $(call KernelPackage,ipt-hashlimit))
818 define KernelPackage/nft-core
820 TITLE:=Netfilter nf_tables support
821 DEPENDS:=+kmod-nfnetlink +kmod-nf-conntrack6 +kmod-nf-ipt +kmod-nf-ipt6
822 FILES:=$(foreach mod,$(NFT_CORE-m),$(LINUX_DIR)/net/$(mod).ko)
823 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_CORE-m)))
826 CONFIG_NETFILTER_ADVANCED=y \
827 CONFIG_NFT_COMPAT=n \
829 CONFIG_NF_TABLES_ARP=n \
830 CONFIG_NF_TABLES_BRIDGE=n \
834 define KernelPackage/nft-core/description
835 Kernel module support for nftables
838 $(eval $(call KernelPackage,nft-core))
841 define KernelPackage/nft-nat
843 TITLE:=Netfilter nf_tables NAT support
844 DEPENDS:=+kmod-nft-core +kmod-nf-nat +kmod-nf-nat6
845 FILES:=$(foreach mod,$(NFT_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
846 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT-m)))
847 KCONFIG:=$(KCONFIG_NFT_NAT)
850 $(eval $(call KernelPackage,nft-nat))
853 define KernelPackage/nft-nat6
855 TITLE:=Netfilter nf_tables IPv6-NAT support
856 DEPENDS:=+kmod-nft-core +kmod-nf-nat6
857 FILES:=$(foreach mod,$(NFT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
858 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT6-m)))
859 KCONFIG:=$(KCONFIG_NFT_NAT6)
862 $(eval $(call KernelPackage,nft-nat6))