netfilter.mk 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. #
  2. # Copyright (C) 2006 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. # $Id$
  8. NFMENU:=Netfilter Extensions
  9. include $(INCLUDE_DIR)/netfilter.mk
  10. define KernelPackage/ipt-conntrack
  11. TITLE:=Modules for connection tracking
  12. DESCRIPTION:=\
  13. Netfilter (IPv4) kernel modules for connection tracking\\\
  14. \\\
  15. Includes: \\\
  16. - ipt_conntrack \\\
  17. - ipt_helper \\\
  18. - ipt_connmark/CONNMARK
  19. KCONFIG:=$(KCONFIG_IPT_CONNTRACK)
  20. FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
  21. SUBMENU:=$(NFMENU)
  22. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_CONNTRACK-m)))
  23. endef
  24. $(eval $(call KernelPackage,ipt-conntrack))
  25. define KernelPackage/ipt-filter
  26. TITLE:=Modules for packet content inspection
  27. DESCRIPTION:=\
  28. Netfilter (IPv4) kernel modules for packet content inspection \\\
  29. \\\
  30. Includes: \\\
  31. - ipt_ipp2p \\\
  32. - ipt_layer7
  33. KCONFIG:=$(KCONFIG_IPT_FILTER)
  34. FILES:=$(foreach mod,$(IPT_FILTER-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
  35. SUBMENU:=$(NFMENU)
  36. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_FILTER-m)))
  37. endef
  38. $(eval $(call KernelPackage,ipt-filter))
  39. define KernelPackage/ipt-ipopt
  40. TITLE:=Modules for matching/changing IP packet options
  41. DESCRIPTION:=\
  42. Netfilter (IPv4) modules for matching/changing IP packet options \\\
  43. \\\
  44. Includes: \\\
  45. - ipt_CLASSIFY \\\
  46. - ipt_dscp/DSCP \\\
  47. - ipt_ecn/ECN \\\
  48. - ipt_length \\\
  49. - ipt_mac \\\
  50. - ipt_tos/TOS \\\
  51. - ipt_tcpmms \\\
  52. - ipt_ttl/TTL \\\
  53. - ipt_unclean
  54. KCONFIG:=$(KCONFIG_IPT_IPOPT)
  55. FILES:=$(foreach mod,$(IPT_IPOPT-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
  56. SUBMENU:=$(NFMENU)
  57. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPOPT-m)))
  58. endef
  59. $(eval $(call KernelPackage,ipt-ipopt))
  60. define KernelPackage/ipt-ipsec
  61. TITLE:=Modules for matching IPSec packets
  62. DESCRIPTION:=\
  63. Netfilter (IPv4) modules for matching IPSec packets \\\
  64. \\\
  65. Includes: \\\
  66. - ipt_ah \\\
  67. - ipt_esp
  68. KCONFIG:=$(KCONFIG_IPT_IPSEC)
  69. FILES:=$(foreach mod,$(IPT_IPSEC-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
  70. SUBMENU:=$(NFMENU)
  71. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPSEC-m)))
  72. endef
  73. $(eval $(call KernelPackage,ipt-ipsec))
  74. define KernelPackage/ipt-nat
  75. TITLE:=Modules for extra NAT targets
  76. DESCRIPTION:=\
  77. Netfilter (IPv4) modules for extra NAT targets \\\
  78. \\\
  79. Includes: \\\
  80. - ipt_REDIRECT \\\
  81. - ipt_NETMAP
  82. KCONFIG:=$(KCONFIG_IPT_NAT)
  83. FILES:=$(foreach mod,$(IPT_NAT-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
  84. SUBMENU:=$(NFMENU)
  85. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT-m)))
  86. endef
  87. $(eval $(call KernelPackage,ipt-nat))
  88. define KernelPackage/ipt-nathelper
  89. TITLE:=Default Conntrack and NAT helpers
  90. DESCRIPTION:=\
  91. Default Netfilter (IPv4) Conntrack and NAT helpers \\\
  92. \\\
  93. Includes: \\\
  94. - ip_conntrack_ftp \\\
  95. - ip_nat_ftp \\\
  96. - ip_conntrack_irc \\\
  97. - ip_nat_irc \\\
  98. - ip_conntrack_tftp
  99. KCONFIG:=$(KCONFIG_IPT_NAT_DEFAULT)
  100. FILES:=$(foreach mod,$(IPT_NAT_DEFAULT-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
  101. SUBMENU:=$(NFMENU)
  102. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT_DEFAULT-m)))
  103. endef
  104. $(eval $(call KernelPackage,ipt-nathelper))
  105. define KernelPackage/ipt-nathelper-extra
  106. TITLE:=Extra Conntrack and NAT helpers
  107. DESCRIPTION:=\
  108. Extra Netfilter (IPv4) Conntrack and NAT helpers \\\
  109. \\\
  110. Includes: \\\
  111. - ip_conntrack_amanda \\\
  112. - ip_conntrack_proto_gre \\\
  113. - ip_nat_proto_gre \\\
  114. - ip_conntrack_pptp \\\
  115. - ip_nat_pptp \\\
  116. - ip_conntrack_sip \\\
  117. - ip_nat_sip \\\
  118. - ip_nat_snmp_basic
  119. KCONFIG:=$(KCONFIG_IPT_NAT_EXTRA)
  120. FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
  121. SUBMENU:=$(NFMENU)
  122. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_NAT_EXTRA-m)))
  123. endef
  124. $(eval $(call KernelPackage,ipt-nathelper-extra))
  125. define KernelPackage/ipt-imq
  126. TITLE:=Intermediate Queueing support
  127. DESCRIPTION:=\
  128. Kernel support for Intermediate Queueing devices
  129. KCONFIG:=CONFIG_IP_NF_TARGET_IMQ
  130. FILES:=$(LINUX_DIR)/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(LINUX_DIR)/drivers/net/imq.$(LINUX_KMOD_SUFFIX)
  131. SUBMENU:=$(NFMENU)
  132. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(LINUX_DIR)/net/ipv4/netfilter/*IMQ*.$(LINUX_KMOD_SUFFIX) $(LINUX_DIR)/drivers/net/imq.$(LINUX_KMOD_SUFFIX)))))
  133. endef
  134. $(eval $(call KernelPackage,ipt-imq))
  135. define KernelPackage/ipt-queue
  136. TITLE:=Module for user-space packet queueing
  137. DESCRIPTION:=\
  138. Netfilter (IPv4) module for user-space packet queueing \\\
  139. \\\
  140. Includes: \\\
  141. - ipt_QUEUE
  142. KCONFIG:=$(KCONFIG_IPT_QUEUE)
  143. FILES:=$(foreach mod,$(IPT_QUEUE-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
  144. SUBMENU:=$(NFMENU)
  145. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_QUEUE-m)))
  146. endef
  147. $(eval $(call KernelPackage,ipt-queue))
  148. define KernelPackage/ipt-ulog
  149. TITLE:=Module for user-space packet logging
  150. DESCRIPTION:=\
  151. Netfilter (IPv4) module for user-space packet logging \\\
  152. \\\
  153. Includes: \\\
  154. - ipt_ULOG
  155. KCONFIG:=$(KCONFIG_IPT_ULOG)
  156. FILES:=$(foreach mod,$(IPT_ULOG-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
  157. SUBMENU:=$(NFMENU)
  158. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_ULOG-m)))
  159. endef
  160. $(eval $(call KernelPackage,ipt-ulog))
  161. define KernelPackage/ipt-iprange
  162. TITLE:=Module for matching ip ranges
  163. DESCRIPTION:=\
  164. Netfilter (IPv4) module for matching ip ranges \\\
  165. \\\
  166. Includes: \\\
  167. - ipt_IPRANGE
  168. FILES:=$(LINUX_DIR)/net/ipv4/netfilter/ipt_iprange.$(LINUX_KMOD_SUFFIX)
  169. SUBMENU:=$(NFMENU)
  170. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPRANGE-m)))
  171. endef
  172. $(eval $(call KernelPackage,ipt-iprange))
  173. define KernelPackage/ipt-ipset
  174. TITLE:=IPSET Modules
  175. DESCRIPTION:=\
  176. Netfilter kernel modules for ipset
  177. KCONFIG:=$(KCONFIG_IPT_IPSET)
  178. FILES:=$(foreach mod,$(IPT_IPSET-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
  179. SUBMENU:=$(NFMENU)
  180. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_IPSET-m)))
  181. endef
  182. $(eval $(call KernelPackage,ipt-ipset))
  183. define KernelPackage/ipt-extra
  184. TITLE:=Extra modules
  185. DESCRIPTION:=\
  186. Other Netfilter (IPv4) kernel modules\\\
  187. Includes: \\\
  188. - ipt_limit \\\
  189. - ipt_owner \\\
  190. - ipt_physdev \\\
  191. - ipt_pkttype \\\
  192. - ipt_recent \\\
  193. - iptable_raw \\\
  194. - xt_NOTRACK
  195. KCONFIG:=$(KCONFIG_IPT_EXTRA)
  196. FILES:=$(foreach mod,$(IPT_EXTRA-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
  197. SUBMENU:=$(NFMENU)
  198. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(IPT_EXTRA-m)))
  199. endef
  200. $(eval $(call KernelPackage,ipt-extra))
  201. define KernelPackage/ip6tables
  202. TITLE:=IPv6 modules
  203. DESCRIPTION:=\
  204. Netfilter IPv6 firewalling support
  205. KCONFIG:=CONFIG_IP6_NF_IPTABLES
  206. FILES:=$(LINUX_DIR)/net/ipv6/netfilter/ip*.$(LINUX_KMOD_SUFFIX)
  207. SUBMENU:=$(NFMENU)
  208. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(LINUX_DIR)/net/ipv6/netfilter/ip6_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(LINUX_DIR)/net/ipv6/netfilter/ip6table_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(LINUX_DIR)/net/ipv6/netfilter/ip6t_*.$(LINUX_KMOD_SUFFIX)))))
  209. endef
  210. $(eval $(call KernelPackage,ip6tables))
  211. define KernelPackage/arptables
  212. TITLE:=ARP firewalling modules
  213. DESCRIPTION:=\
  214. Kernel modules for ARP firewalling
  215. FILES:=$(LINUX_DIR)/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)
  216. KCONFIG:=CONFIG_IP_NF_ARPTABLES
  217. SUBMENU:=$(NFMENU)
  218. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,$(wildcard $(LINUX_DIR)/net/ipv4/netfilter/arp*.$(LINUX_KMOD_SUFFIX)))))
  219. endef
  220. $(eval $(call KernelPackage,arptables))
  221. define KernelPackage/ebtables
  222. TITLE:=Bridge firewalling modules
  223. DESCRIPTION:=\
  224. Kernel modules for Ethernet Bridge firewalling
  225. DEPENDS:=@LINUX_2_6
  226. FILES:=$(LINUX_DIR)/net/bridge/netfilter/*.$(LINUX_KMOD_SUFFIX)
  227. KCONFIG:=CONFIG_BRIDGE_NF_EBTABLES
  228. SUBMENU:=$(NFMENU)
  229. AUTOLOAD:=$(call AutoLoad,40,$(notdir $(patsubst %.ko,%,ebtables.ko $(wildcard $(LINUX_DIR)/net/bridge/netfilter/ebtable_*.$(LINUX_KMOD_SUFFIX)) $(wildcard $(LINUX_DIR)/net/bridge/netfilter/ebt_*.$(LINUX_KMOD_SUFFIX)))))
  230. endef
  231. $(eval $(call KernelPackage,ebtables))