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 $(KCONFIG_NF_CONNTRACK)
72 FILES:=$(foreach mod,$(NF_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).ko)
73 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_CONNTRACK-m)))
76 $(eval $(call KernelPackage,nf-conntrack))
79 define KernelPackage/nf-conntrack6
81 TITLE:=Netfilter IPv6 connection tracking
82 KCONFIG:=$(KCONFIG_NF_CONNTRACK6)
83 DEPENDS:=+kmod-ipv6 +kmod-nf-conntrack
84 FILES:=$(foreach mod,$(NF_CONNTRACK6-m),$(LINUX_DIR)/net/$(mod).ko)
85 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_CONNTRACK6-m)))
88 $(eval $(call KernelPackage,nf-conntrack6))
91 define KernelPackage/nf-nat
94 KCONFIG:=$(KCONFIG_NF_NAT)
95 DEPENDS:=+kmod-nf-conntrack +kmod-nf-ipt
96 FILES:=$(foreach mod,$(NF_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
97 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NAT-m)))
100 $(eval $(call KernelPackage,nf-nat))
103 define KernelPackage/nf-nat6
105 TITLE:=Netfilter IPV6-NAT
106 KCONFIG:=$(KCONFIG_NF_NAT6)
107 DEPENDS:=+kmod-nf-conntrack6 +kmod-nf-ipt6 +kmod-nf-nat
108 FILES:=$(foreach mod,$(NF_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
109 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NAT6-m)))
112 $(eval $(call KernelPackage,nf-nat6))
115 define AddDepends/ipt
117 DEPENDS+= +kmod-ipt-core $(1)
121 define KernelPackage/ipt-conntrack
122 TITLE:=Basic connection tracking modules
123 KCONFIG:=$(KCONFIG_IPT_CONNTRACK)
124 FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).ko)
125 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CONNTRACK-m)))
126 $(call AddDepends/ipt,+kmod-nf-conntrack)
129 define KernelPackage/ipt-conntrack/description
130 Netfilter (IPv4) kernel modules for connection tracking
139 $(eval $(call KernelPackage,ipt-conntrack))
142 define KernelPackage/ipt-conntrack-extra
143 TITLE:=Extra connection tracking modules
144 KCONFIG:=$(KCONFIG_IPT_CONNTRACK_EXTRA)
145 FILES:=$(foreach mod,$(IPT_CONNTRACK_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
146 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CONNTRACK_EXTRA-m)))
147 $(call AddDepends/ipt,+kmod-ipt-conntrack)
150 define KernelPackage/ipt-conntrack-extra/description
151 Netfilter (IPv4) extra kernel modules for connection tracking
160 $(eval $(call KernelPackage,ipt-conntrack-extra))
163 define KernelPackage/ipt-filter
164 TITLE:=Modules for packet content inspection
165 KCONFIG:=$(KCONFIG_IPT_FILTER)
166 FILES:=$(foreach mod,$(IPT_FILTER-m),$(LINUX_DIR)/net/$(mod).ko)
167 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_FILTER-m)))
168 $(call AddDepends/ipt,+kmod-lib-textsearch +kmod-ipt-conntrack)
171 define KernelPackage/ipt-filter/description
172 Netfilter (IPv4) kernel modules for packet content inspection
177 $(eval $(call KernelPackage,ipt-filter))
180 define KernelPackage/ipt-ipopt
181 TITLE:=Modules for matching/changing IP packet options
182 KCONFIG:=$(KCONFIG_IPT_IPOPT)
183 FILES:=$(foreach mod,$(IPT_IPOPT-m),$(LINUX_DIR)/net/$(mod).ko)
184 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPOPT-m)))
185 $(call AddDepends/ipt)
188 define KernelPackage/ipt-ipopt/description
189 Netfilter (IPv4) modules for matching/changing IP packet options
204 $(eval $(call KernelPackage,ipt-ipopt))
207 define KernelPackage/ipt-ipsec
208 TITLE:=Modules for matching IPSec packets
209 KCONFIG:=$(KCONFIG_IPT_IPSEC)
210 FILES:=$(foreach mod,$(IPT_IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
211 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPSEC-m)))
212 $(call AddDepends/ipt)
215 define KernelPackage/ipt-ipsec/description
216 Netfilter (IPv4) modules for matching IPSec packets
223 $(eval $(call KernelPackage,ipt-ipsec))
227 ipset/ip_set_bitmap_ip \
228 ipset/ip_set_bitmap_ipmac \
229 ipset/ip_set_bitmap_port \
230 ipset/ip_set_hash_ip \
231 ipset/ip_set_hash_ipmark \
232 ipset/ip_set_hash_ipport \
233 ipset/ip_set_hash_ipportip \
234 ipset/ip_set_hash_ipportnet \
235 ipset/ip_set_hash_mac \
236 ipset/ip_set_hash_netportnet \
237 ipset/ip_set_hash_net \
238 ipset/ip_set_hash_netnet \
239 ipset/ip_set_hash_netport \
240 ipset/ip_set_hash_netiface \
241 ipset/ip_set_list_set \
244 define KernelPackage/ipt-ipset
245 SUBMENU:=Netfilter Extensions
246 TITLE:=IPset netfilter modules
247 DEPENDS+= +kmod-ipt-core +kmod-nfnetlink
250 CONFIG_IP_SET_MAX=256 \
251 CONFIG_NETFILTER_XT_SET \
252 CONFIG_IP_SET_BITMAP_IP \
253 CONFIG_IP_SET_BITMAP_IPMAC \
254 CONFIG_IP_SET_BITMAP_PORT \
255 CONFIG_IP_SET_HASH_IP \
256 CONFIG_IP_SET_HASH_IPMARK \
257 CONFIG_IP_SET_HASH_IPPORT \
258 CONFIG_IP_SET_HASH_IPPORTIP \
259 CONFIG_IP_SET_HASH_IPPORTNET \
260 CONFIG_IP_SET_HASH_MAC \
261 CONFIG_IP_SET_HASH_NET \
262 CONFIG_IP_SET_HASH_NETNET \
263 CONFIG_IP_SET_HASH_NETIFACE \
264 CONFIG_IP_SET_HASH_NETPORT \
265 CONFIG_IP_SET_HASH_NETPORTNET \
266 CONFIG_IP_SET_LIST_SET \
267 CONFIG_NET_EMATCH_IPSET=n
268 FILES:=$(foreach mod,$(IPSET_MODULES),$(LINUX_DIR)/net/netfilter/$(mod).ko)
269 AUTOLOAD:=$(call AutoLoad,49,$(notdir $(IPSET_MODULES)))
271 $(eval $(call KernelPackage,ipt-ipset))
274 define KernelPackage/ipt-nat
275 TITLE:=Basic NAT targets
276 KCONFIG:=$(KCONFIG_IPT_NAT)
277 FILES:=$(foreach mod,$(IPT_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
278 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NAT-m)))
279 $(call AddDepends/ipt,+kmod-nf-nat)
282 define KernelPackage/ipt-nat/description
283 Netfilter (IPv4) kernel modules for basic NAT targets
288 $(eval $(call KernelPackage,ipt-nat))
291 define KernelPackage/ipt-nat6
292 TITLE:=IPv6 NAT targets
293 KCONFIG:=$(KCONFIG_IPT_NAT6)
294 FILES:=$(foreach mod,$(IPT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
295 AUTOLOAD:=$(call AutoLoad,43,$(notdir $(IPT_NAT6-m)))
296 $(call AddDepends/ipt,+kmod-nf-nat6)
297 $(call AddDepends/ipt,+kmod-ipt-conntrack)
298 $(call AddDepends/ipt,+kmod-ipt-nat)
299 $(call AddDepends/ipt,+kmod-ip6tables)
302 define KernelPackage/ipt-nat6/description
303 Netfilter (IPv6) kernel modules for NAT targets
306 $(eval $(call KernelPackage,ipt-nat6))
309 define KernelPackage/ipt-nat-extra
310 TITLE:=Extra NAT targets
311 KCONFIG:=$(KCONFIG_IPT_NAT_EXTRA)
312 FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
313 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NAT_EXTRA-m)))
314 $(call AddDepends/ipt,+kmod-ipt-nat)
317 define KernelPackage/ipt-nat-extra/description
318 Netfilter (IPv4) kernel modules for extra NAT targets
324 $(eval $(call KernelPackage,ipt-nat-extra))
327 define KernelPackage/nf-nathelper
329 TITLE:=Basic Conntrack and NAT helpers
330 KCONFIG:=$(KCONFIG_NF_NATHELPER)
331 FILES:=$(foreach mod,$(NF_NATHELPER-m),$(LINUX_DIR)/net/$(mod).ko)
332 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NATHELPER-m)))
333 DEPENDS:=+kmod-nf-nat
336 define KernelPackage/nf-nathelper/description
337 Default Netfilter (IPv4) Conntrack and NAT helpers
344 $(eval $(call KernelPackage,nf-nathelper))
347 define KernelPackage/nf-nathelper-extra
349 TITLE:=Extra Conntrack and NAT helpers
350 KCONFIG:=$(KCONFIG_NF_NATHELPER_EXTRA)
351 FILES:=$(foreach mod,$(NF_NATHELPER_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko)
352 AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NATHELPER_EXTRA-m)))
353 DEPENDS:=+kmod-nf-nat +kmod-lib-textsearch
356 define KernelPackage/nf-nathelper-extra/description
357 Extra Netfilter (IPv4) Conntrack and NAT helpers
369 $(eval $(call KernelPackage,nf-nathelper-extra))
372 define KernelPackage/ipt-ulog
373 TITLE:=Module for user-space packet logging
374 KCONFIG:=$(KCONFIG_IPT_ULOG)
375 FILES:=$(foreach mod,$(IPT_ULOG-m),$(LINUX_DIR)/net/$(mod).ko)
376 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_ULOG-m)))
377 $(call AddDepends/ipt)
380 define KernelPackage/ipt-ulog/description
381 Netfilter (IPv4) module for user-space packet logging
386 $(eval $(call KernelPackage,ipt-ulog))
389 define KernelPackage/ipt-nflog
390 TITLE:=Module for user-space packet logging
391 KCONFIG:=$(KCONFIG_IPT_NFLOG)
392 FILES:=$(foreach mod,$(IPT_NFLOG-m),$(LINUX_DIR)/net/$(mod).ko)
393 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NFLOG-m)))
394 $(call AddDepends/ipt,+kmod-nfnetlink-log)
397 define KernelPackage/ipt-nflog/description
398 Netfilter module for user-space packet logging
403 $(eval $(call KernelPackage,ipt-nflog))
406 define KernelPackage/ipt-nfqueue
407 TITLE:=Module for user-space packet queuing
408 KCONFIG:=$(KCONFIG_IPT_NFQUEUE)
409 FILES:=$(foreach mod,$(IPT_NFQUEUE-m),$(LINUX_DIR)/net/$(mod).ko)
410 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NFQUEUE-m)))
411 $(call AddDepends/ipt,+kmod-nfnetlink-queue)
414 define KernelPackage/ipt-nfqueue/description
415 Netfilter module for user-space packet queuing
420 $(eval $(call KernelPackage,ipt-nfqueue))
423 define KernelPackage/ipt-debug
424 TITLE:=Module for debugging/development
425 KCONFIG:=$(KCONFIG_IPT_DEBUG)
427 FILES:=$(foreach mod,$(IPT_DEBUG-m),$(LINUX_DIR)/net/$(mod).ko)
428 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_DEBUG-m)))
429 $(call AddDepends/ipt)
432 define KernelPackage/ipt-debug/description
433 Netfilter modules for debugging/development of the firewall
438 $(eval $(call KernelPackage,ipt-debug))
441 define KernelPackage/ipt-led
442 TITLE:=Module to trigger a LED with a Netfilter rule
443 KCONFIG:=$(KCONFIG_IPT_LED)
444 FILES:=$(foreach mod,$(IPT_LED-m),$(LINUX_DIR)/net/$(mod).ko)
445 AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_LED-m)))
446 $(call AddDepends/ipt)
449 define KernelPackage/ipt-led/description
450 Netfilter target to trigger a LED when a network packet is matched.
453 $(eval $(call KernelPackage,ipt-led))
455 define KernelPackage/ipt-tproxy
456 TITLE:=Transparent proxying support
457 DEPENDS+=+kmod-ipt-conntrack +IPV6:kmod-ipv6 +IPV6:kmod-ip6tables
459 CONFIG_NETFILTER_TPROXY \
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 nf_tproxy_core $(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 +IPV6:kmod-ipv6
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)
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/ebtables
648 TITLE:=Bridge firewalling modules
649 DEPENDS:=+kmod-ipt-core +kmod-bridge
650 FILES:=$(foreach mod,$(EBTABLES-m),$(LINUX_DIR)/net/$(mod).ko)
651 KCONFIG:=CONFIG_BRIDGE_NETFILTER=y \
653 AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES-m)))
656 define KernelPackage/ebtables/description
657 ebtables is a general, extensible frame/packet identification
658 framework. It provides you to do Ethernet
659 filtering/NAT/brouting on the Ethernet bridge.
662 $(eval $(call KernelPackage,ebtables))
665 define AddDepends/ebtables
667 DEPENDS+=kmod-ebtables $(1)
671 define KernelPackage/ebtables-ipv4
672 TITLE:=ebtables: IPv4 support
673 FILES:=$(foreach mod,$(EBTABLES_IP4-m),$(LINUX_DIR)/net/$(mod).ko)
674 KCONFIG:=$(KCONFIG_EBTABLES_IP4)
675 AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_IP4-m)))
676 $(call AddDepends/ebtables)
679 define KernelPackage/ebtables-ipv4/description
680 This option adds the IPv4 support to ebtables, which allows basic
681 IPv4 header field filtering, ARP filtering as well as SNAT, DNAT targets.
684 $(eval $(call KernelPackage,ebtables-ipv4))
687 define KernelPackage/ebtables-ipv6
688 TITLE:=ebtables: IPv6 support
689 FILES:=$(foreach mod,$(EBTABLES_IP6-m),$(LINUX_DIR)/net/$(mod).ko)
690 KCONFIG:=$(KCONFIG_EBTABLES_IP6)
691 AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_IP6-m)))
692 $(call AddDepends/ebtables)
695 define KernelPackage/ebtables-ipv6/description
696 This option adds the IPv6 support to ebtables, which allows basic
697 IPv6 header field filtering and target support.
700 $(eval $(call KernelPackage,ebtables-ipv6))
703 define KernelPackage/ebtables-watchers
704 TITLE:=ebtables: watchers support
705 FILES:=$(foreach mod,$(EBTABLES_WATCHERS-m),$(LINUX_DIR)/net/$(mod).ko)
706 KCONFIG:=$(KCONFIG_EBTABLES_WATCHERS)
707 AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_WATCHERS-m)))
708 $(call AddDepends/ebtables)
711 define KernelPackage/ebtables-watchers/description
712 This option adds the log watchers, that you can use in any rule
713 in any ebtables table.
716 $(eval $(call KernelPackage,ebtables-watchers))
719 define KernelPackage/nfnetlink
721 TITLE:=Netlink-based userspace interface
722 FILES:=$(foreach mod,$(NFNETLINK-m),$(LINUX_DIR)/net/$(mod).ko)
723 KCONFIG:=$(KCONFIG_NFNETLINK)
724 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK-m)))
727 define KernelPackage/nfnetlink/description
728 Kernel modules support for a netlink-based userspace interface
731 $(eval $(call KernelPackage,nfnetlink))
734 define AddDepends/nfnetlink
736 DEPENDS+=+kmod-nfnetlink $(1)
740 define KernelPackage/nfnetlink-log
741 TITLE:=Netfilter LOG over NFNETLINK interface
742 FILES:=$(foreach mod,$(NFNETLINK_LOG-m),$(LINUX_DIR)/net/$(mod).ko)
743 KCONFIG:=$(KCONFIG_NFNETLINK_LOG)
744 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK_LOG-m)))
745 $(call AddDepends/nfnetlink)
748 define KernelPackage/nfnetlink-log/description
749 Kernel modules support for logging packets via NFNETLINK
754 $(eval $(call KernelPackage,nfnetlink-log))
757 define KernelPackage/nfnetlink-queue
758 TITLE:=Netfilter QUEUE over NFNETLINK interface
759 FILES:=$(foreach mod,$(NFNETLINK_QUEUE-m),$(LINUX_DIR)/net/$(mod).ko)
760 KCONFIG:=$(KCONFIG_NFNETLINK_QUEUE)
761 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK_QUEUE-m)))
762 $(call AddDepends/nfnetlink)
765 define KernelPackage/nfnetlink-queue/description
766 Kernel modules support for queueing packets via NFNETLINK
771 $(eval $(call KernelPackage,nfnetlink-queue))
774 define KernelPackage/nf-conntrack-netlink
775 TITLE:=Connection tracking netlink interface
776 FILES:=$(LINUX_DIR)/net/netfilter/nf_conntrack_netlink.ko
777 KCONFIG:=CONFIG_NF_CT_NETLINK CONFIG_NF_CONNTRACK_EVENTS=y
778 AUTOLOAD:=$(call AutoProbe,nf_conntrack_netlink)
779 $(call AddDepends/nfnetlink,+kmod-ipt-conntrack)
782 define KernelPackage/nf-conntrack-netlink/description
783 Kernel modules support for a netlink-based connection tracking
787 $(eval $(call KernelPackage,nf-conntrack-netlink))
789 define KernelPackage/ipt-hashlimit
791 TITLE:=Netfilter hashlimit match
792 DEPENDS:=+kmod-ipt-core
793 KCONFIG:=$(KCONFIG_IPT_HASHLIMIT)
794 FILES:=$(LINUX_DIR)/net/netfilter/xt_hashlimit.ko
795 AUTOLOAD:=$(call AutoProbe,xt_hashlimit)
796 $(call KernelPackage/ipt)
799 define KernelPackage/ipt-hashlimit/description
800 Kernel modules support for the hashlimit bucket match module
803 $(eval $(call KernelPackage,ipt-hashlimit))
806 define KernelPackage/nft-core
808 TITLE:=Netfilter nf_tables support
809 DEPENDS:=+kmod-nfnetlink +kmod-nf-conntrack6
810 FILES:=$(foreach mod,$(NFT_CORE-m),$(LINUX_DIR)/net/$(mod).ko)
811 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_CORE-m)))
814 CONFIG_NETFILTER_ADVANCED=y \
815 CONFIG_NFT_COMPAT=n \
817 CONFIG_NF_TABLES_ARP=n \
818 CONFIG_NF_TABLES_BRIDGE=n \
822 define KernelPackage/nft-core/description
823 Kernel module support for nftables
826 $(eval $(call KernelPackage,nft-core))
829 define KernelPackage/nft-nat
831 TITLE:=Netfilter nf_tables NAT support
832 DEPENDS:=+kmod-nft-core +kmod-nf-nat
833 FILES:=$(foreach mod,$(NFT_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
834 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT-m)))
835 KCONFIG:=$(KCONFIG_NFT_NAT)
838 $(eval $(call KernelPackage,nft-nat))
841 define KernelPackage/nft-nat6
843 TITLE:=Netfilter nf_tables IPv6-NAT support
844 DEPENDS:=+kmod-nft-core +kmod-nf-nat6
845 FILES:=$(foreach mod,$(NFT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
846 AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT6-m)))
847 KCONFIG:=$(KCONFIG_NFT_NAT6)
850 $(eval $(call KernelPackage,nft-nat6))