netsupport.mk 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521
  1. #
  2. # Copyright (C) 2006-2008 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. NETWORK_SUPPORT_MENU:=Network Support
  9. define KernelPackage/atm
  10. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  11. TITLE:=ATM support
  12. DEPENDS:=@LINUX_2_6
  13. KCONFIG:= \
  14. CONFIG_ATM \
  15. CONFIG_ATM_BR2684
  16. FILES:= \
  17. $(LINUX_DIR)/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
  18. $(LINUX_DIR)/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
  19. AUTOLOAD:=$(call AutoLoad,30,atm br2684)
  20. endef
  21. define KernelPackage/atm/description
  22. Kernel modules for ATM support
  23. endef
  24. $(eval $(call KernelPackage,atm))
  25. define KernelPackage/atmtcp
  26. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  27. TITLE:=ATM over TCP
  28. DEPENDS:=@LINUX_2_6 kmod-atm
  29. KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
  30. FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
  31. AUTOLOAD:=$(call AutoLoad,40,atmtcp)
  32. endef
  33. define KernelPackage/atmtcp/description
  34. Kernel module for ATM over TCP support
  35. endef
  36. $(eval $(call KernelPackage,atmtcp))
  37. define KernelPackage/bonding
  38. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  39. TITLE:=Ethernet bonding driver
  40. KCONFIG:=CONFIG_BONDING
  41. FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
  42. AUTOLOAD:=$(call AutoLoad,40,bonding)
  43. endef
  44. define KernelPackage/bonding/description
  45. Kernel module for NIC bonding.
  46. endef
  47. $(eval $(call KernelPackage,bonding))
  48. define KernelPackage/capi
  49. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  50. TITLE:=CAPI (ISDN) Support
  51. DEPENDS:=@LINUX_2_6
  52. KCONFIG:= \
  53. CONFIG_ISDN_CAPI \
  54. CONFIG_ISDN_CAPI_CAPI20 \
  55. CONFIG_ISDN_CAPIFS
  56. FILES:= \
  57. $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.$(LINUX_KMOD_SUFFIX) \
  58. $(LINUX_DIR)/drivers/isdn/capi/capi.$(LINUX_KMOD_SUFFIX) \
  59. $(LINUX_DIR)/drivers/isdn/capi/capifs.$(LINUX_KMOD_SUFFIX)
  60. AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
  61. endef
  62. define KernelPackage/capi/description
  63. Kernel module for basic CAPI (ISDN) support
  64. endef
  65. $(eval $(call KernelPackage,capi))
  66. define KernelPackage/ipip
  67. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  68. TITLE:=IP-in-IP encapsulation
  69. DEPENDS:=+kmod-iptunnel4
  70. KCONFIG:=CONFIG_NET_IPIP
  71. FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
  72. AUTOLOAD:=$(call AutoLoad,30,ipip)
  73. endef
  74. define KernelPackage/ipip/description
  75. Kernel modules for IP-in-IP encapsulation
  76. endef
  77. $(eval $(call KernelPackage,ipip))
  78. define KernelPackage/ipsec
  79. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  80. TITLE:=IPsec related modules (IPv4 and IPv6)
  81. DEPENDS:=@LINUX_2_6 +kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
  82. KCONFIG:= \
  83. CONFIG_NET_KEY \
  84. CONFIG_XFRM_USER
  85. FILES:= \
  86. $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
  87. $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
  88. endef
  89. define KernelPackage/ipsec/description
  90. Kernel modules for IPsec support in both IPv4 and IPv6.
  91. Includes:
  92. - af_key
  93. - xfrm_user
  94. endef
  95. $(eval $(call KernelPackage,ipsec))
  96. define KernelPackage/ipsec4
  97. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  98. TITLE:=IPsec related modules (IPv4)
  99. DEPENDS:=kmod-ipsec +kmod-iptunnel4
  100. KCONFIG:= \
  101. CONFIG_INET_AH \
  102. CONFIG_INET_ESP \
  103. CONFIG_INET_IPCOMP \
  104. CONFIG_INET_XFRM_MODE_BEET \
  105. CONFIG_INET_XFRM_MODE_TRANSPORT \
  106. CONFIG_INET_XFRM_MODE_TUNNEL \
  107. CONFIG_INET_XFRM_TUNNEL
  108. FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
  109. $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
  110. )
  111. endef
  112. define KernelPackage/ipsec4/description
  113. Kernel modules for IPsec support in IPv4.
  114. Includes:
  115. - ah4
  116. - esp4
  117. - ipcomp
  118. - xfrm4_mode_beet
  119. - xfrm4_mode_transport
  120. - xfrm4_mode_tunnel
  121. - xfrm4_tunnel
  122. endef
  123. $(eval $(call KernelPackage,ipsec4))
  124. define KernelPackage/ipsec6
  125. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  126. TITLE:=IPsec related modules (IPv6)
  127. DEPENDS:=kmod-ipsec +kmod-iptunnel6
  128. KCONFIG:= \
  129. CONFIG_INET6_AH \
  130. CONFIG_INET6_ESP \
  131. CONFIG_INET6_IPCOMP \
  132. CONFIG_INET6_XFRM_MODE_BEET \
  133. CONFIG_INET6_XFRM_MODE_TRANSPORT \
  134. CONFIG_INET6_XFRM_MODE_TUNNEL \
  135. CONFIG_INET6_XFRM_TUNNEL
  136. FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
  137. $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
  138. )
  139. endef
  140. define KernelPackage/ipsec6/description
  141. Kernel modules for IPsec support in IPv6.
  142. Includes:
  143. - ah6
  144. - esp6
  145. - ipcomp6
  146. - xfrm6_mode_beet
  147. - xfrm6_mode_transport
  148. - xfrm6_mode_tunnel
  149. - xfrm6_tunnel
  150. endef
  151. $(eval $(call KernelPackage,ipsec6))
  152. # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
  153. define KernelPackage/iptunnel4
  154. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  155. TITLE:=IPv4 tunneling
  156. DEPENDS:= @LINUX_2_6
  157. KCONFIG:= \
  158. CONFIG_NET_IPIP \
  159. CONFIG_INET_TUNNEL
  160. FILES:= $(foreach mod,tunnel4, \
  161. $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
  162. )
  163. AUTOLOAD:=$(call AutoLoad,31,tunnel4)
  164. endef
  165. define KernelPackage/iptunnel4/description
  166. Kernel modules for IPv4 tunneling
  167. endef
  168. $(eval $(call KernelPackage,iptunnel4))
  169. define KernelPackage/iptunnel6
  170. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  171. TITLE:=IPv6 tunneling
  172. DEPENDS:= @LINUX_2_6 +kmod-ipv6
  173. KCONFIG:= \
  174. CONFIG_INET6_TUNNEL
  175. FILES:= $(foreach mod,tunnel6, \
  176. $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
  177. )
  178. AUTOLOAD:=$(call AutoLoad,31,tunnel6)
  179. endef
  180. define KernelPackage/iptunnel6/description
  181. Kernel modules for IPv6 tunneling
  182. endef
  183. $(eval $(call KernelPackage,iptunnel6))
  184. define KernelPackage/ipv6
  185. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  186. TITLE:=IPv6 support
  187. KCONFIG:= \
  188. CONFIG_IPV6 \
  189. CONFIG_IPV6_PRIVACY=y \
  190. CONFIG_IPV6_MULTIPLE_TABLES=y \
  191. CONFIG_IPV6_SUBTREES=y
  192. FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
  193. AUTOLOAD:=$(call AutoLoad,20,ipv6)
  194. endef
  195. define KernelPackage/ipv6/description
  196. Kernel modules for IPv6 support
  197. endef
  198. $(eval $(call KernelPackage,ipv6))
  199. define KernelPackage/sit
  200. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  201. DEPENDS:=+kmod-iptunnel4
  202. TITLE:=IPv6-in-IPv4 tunnelling
  203. endef
  204. # sit is compiled in the 2.4 ipv6 stack
  205. define KernelPackage/sit/2.4
  206. DEPENDS:= @LINUX_2_4 +kmod-ipv6
  207. KCONFIG:=CONFIG_IPV6
  208. endef
  209. define KernelPackage/sit/2.6
  210. DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel4
  211. KCONFIG+=CONFIG_IPV6_SIT
  212. FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
  213. AUTOLOAD:=$(call AutoLoad,32,sit)
  214. endef
  215. define KernelPackage/sit/description
  216. Kernel modules for IPv6-in-IPv4 tunnelling
  217. endef
  218. $(eval $(call KernelPackage,sit))
  219. define KernelPackage/ip6-tunnel
  220. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  221. TITLE:=IP-in-IPv6 tunnelling
  222. DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel6
  223. KCONFIG:= CONFIG_IPV6_TUNNEL
  224. FILES:= $(foreach mod,ip6_tunnel, \
  225. $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
  226. )
  227. AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
  228. endef
  229. define KernelPackage/ip6-tunnel/description
  230. Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
  231. endef
  232. $(eval $(call KernelPackage,ip6-tunnel))
  233. define KernelPackage/gre
  234. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  235. TITLE:=GRE support
  236. KCONFIG:=CONFIG_NET_IPGRE
  237. FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
  238. endef
  239. define KernelPackage/gre/description
  240. Generic Routing Encapsulation support
  241. endef
  242. $(eval $(call KernelPackage,gre))
  243. define KernelPackage/tun
  244. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  245. TITLE:=Universal TUN/TAP driver
  246. KCONFIG:=CONFIG_TUN
  247. FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
  248. AUTOLOAD:=$(call AutoLoad,30,tun)
  249. endef
  250. define KernelPackage/tun/description
  251. Kernel support for the TUN/TAP tunneling device
  252. endef
  253. $(eval $(call KernelPackage,tun))
  254. define KernelPackage/ppp
  255. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  256. TITLE:=PPP modules
  257. DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
  258. KCONFIG:= \
  259. CONFIG_PPP \
  260. CONFIG_PPP_ASYNC \
  261. CONFIG_SLHC
  262. FILES:= \
  263. $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
  264. $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
  265. $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
  266. AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
  267. endef
  268. define KernelPackage/ppp/description
  269. Kernel modules for PPP support
  270. endef
  271. $(eval $(call KernelPackage,ppp))
  272. define KernelPackage/ppp-synctty
  273. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  274. TITLE:=PPP sync tty support
  275. DEPENDS:=kmod-ppp
  276. KCONFIG:=CONFIG_PPP_SYNC_TTY
  277. FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
  278. AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
  279. endef
  280. define KernelPackage/ppp-synctty/description
  281. Kernel modules for PPP sync tty support
  282. endef
  283. $(eval $(call KernelPackage,ppp-synctty))
  284. define KernelPackage/pppoe
  285. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  286. TITLE:=PPPoE support
  287. DEPENDS:=kmod-ppp
  288. KCONFIG:=CONFIG_PPPOE
  289. FILES:= \
  290. $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
  291. $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
  292. endef
  293. define KernelPackage/pppoe/description
  294. Kernel modules for PPPoE (PPP over Ethernet) support
  295. endef
  296. $(eval $(call KernelPackage,pppoe))
  297. define KernelPackage/pppoa
  298. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  299. TITLE:=PPPoA support
  300. DEPENDS:=kmod-ppp +kmod-atm
  301. KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
  302. FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
  303. AUTOLOAD:=$(call AutoLoad,40,pppoatm)
  304. endef
  305. define KernelPackage/pppoa/description
  306. Kernel modules for PPPoA (PPP over ATM) support
  307. endef
  308. $(eval $(call KernelPackage,pppoa))
  309. define KernelPackage/ipoa
  310. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  311. TITLE:=IPoA support
  312. DEPENDS:=kmod-atm
  313. KCONFIG:=CONFIG_ATM_CLIP
  314. FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
  315. AUTOLOAD:=$(call AutoLoad,40,clip)
  316. endef
  317. define KernelPackage/ipoa/description
  318. Kernel modules for IPoA (IP over ATM) support
  319. endef
  320. $(eval $(call KernelPackage,ipoa))
  321. define KernelPackage/mppe
  322. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  323. TITLE:=Microsoft PPP compression/encryption
  324. DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1
  325. KCONFIG:= \
  326. CONFIG_PPP_MPPE_MPPC \
  327. CONFIG_PPP_MPPE
  328. endef
  329. define KernelPackage/mppe/2.4
  330. # KCONFIG:=CONFIG_PPP_MPPE_MPPC
  331. FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
  332. AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
  333. endef
  334. define KernelPackage/mppe/2.6
  335. # KCONFIG:=CONFIG_PPP_MPPE
  336. FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
  337. AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
  338. endef
  339. define KernelPackage/mppe/description
  340. Kernel modules for Microsoft PPP compression/encryption
  341. endef
  342. $(eval $(call KernelPackage,mppe))
  343. define KernelPackage/sched
  344. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  345. TITLE:=Traffic schedulers
  346. KCONFIG:= \
  347. CONFIG_NET_SCHED=y \
  348. CONFIG_NET_SCH_DSMARK \
  349. CONFIG_NET_SCH_ESFQ \
  350. CONFIG_NET_SCH_FIFO \
  351. CONFIG_NET_SCH_GRED \
  352. CONFIG_NET_SCH_HFSC \
  353. CONFIG_NET_SCH_HTB \
  354. CONFIG_NET_SCH_INGRESS \
  355. CONFIG_NET_SCH_PRIO \
  356. CONFIG_NET_SCH_RED \
  357. CONFIG_NET_SCH_SFQ \
  358. CONFIG_NET_SCH_TBF \
  359. CONFIG_NET_SCH_TEQL
  360. FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
  361. endef
  362. define KernelPackage/sched/description
  363. Kernel schedulers for IP traffic
  364. endef
  365. $(eval $(call KernelPackage,sched))
  366. define KernelPackage/ax25
  367. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  368. TITLE:=AX25 support
  369. KCONFIG:= \
  370. CONFIG_AX25 \
  371. CONFIG_MKISS
  372. FILES:= \
  373. $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
  374. $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
  375. AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
  376. endef
  377. define KernelPackage/ax25/description
  378. Kernel modules for AX25 support
  379. endef
  380. $(eval $(call KernelPackage,ax25))
  381. define KernelPackage/mp-alg
  382. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  383. TITLE:=ECMP caching algorithms
  384. DEPENDS:=@LINUX_2_6
  385. KCONFIG:= \
  386. CONFIG_IP_ROUTE_MULTIPATH_RR \
  387. CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
  388. CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
  389. CONFIG_IP_ROUTE_MULTIPATH_DRR
  390. FILES:= \
  391. $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
  392. $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
  393. $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
  394. $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
  395. AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
  396. endef
  397. define KernelPackage/mp-alg/description
  398. Kernel modules that provide several different algorithms for multipath
  399. route selection from the route cache. The iproute "mpath" argument allows
  400. specifying which algorithm to use for routes.
  401. quagga (at least <=0.99.6) requires a multipath patch to support this
  402. cached mp route feature.
  403. endef
  404. $(eval $(call KernelPackage,mp-alg))
  405. define KernelPackage/pktgen
  406. SUBMENU:=$(NETWORK_SUPPORT_MENU)
  407. TITLE:=Network packet generator
  408. DEPENDS:=@LINUX_2_6
  409. KCONFIG:=CONFIG_NET_PKTGEN
  410. FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
  411. AUTOLOAD:=$(call AutoLoad,99,pktgen)
  412. endef
  413. define KernelPackage/pktgen/description
  414. Kernel modules for the Network Packet Generator
  415. endef
  416. $(eval $(call KernelPackage,pktgen))