network.mk 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  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. NSMENU:=Network Support
  9. define KernelPackage/atm
  10. TITLE:=ATM support
  11. DEPENDS:=@ATM_SUPPORT
  12. DESCRIPTION:= \
  13. Kernel modules for ATM support
  14. FILES:= \
  15. $(LINUX_DIR)/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
  16. $(LINUX_DIR)/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
  17. KCONFIG:=$(CONFIG_ATM)
  18. SUBMENU:=$(NSMENU)
  19. AUTOLOAD:=$(call AutoLoad,30,atm br2684)
  20. endef
  21. $(eval $(call KernelPackage,atm))
  22. define KernelPackage/atmtcp
  23. TITLE:=ATM over TCP
  24. DESCRIPTION:= \
  25. Kernel module for ATM over TCP support
  26. DEPENDS:=@LINUX_2_6 kmod-atm
  27. FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
  28. KCONFIG:=$(CONFIG_ATM_TCP)
  29. SUBMENU:=$(NSMENU)
  30. AUTOLOAD:=$(call AutoLoad,40,atmtcp)
  31. endef
  32. $(eval $(call KernelPackage,atmtcp))
  33. define KernelPackage/bonding
  34. TITLE:=Ethernet bonding driver
  35. DESCRIPTION:= \
  36. Kernel module for NIC bonding.
  37. DEPENDS:=@LINUX_2_6_X86
  38. FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
  39. KCONFIG:=$(CONFIG_BONDING)
  40. SUBMENU:=$(NSMENU)
  41. AUTOLOAD:=$(call AutoLoad,40,bonding)
  42. endef
  43. $(eval $(call KernelPackage,bonding))
  44. define KernelPackage/ipip
  45. TITLE:=IP in IP encapsulation support
  46. DESCRIPTION:=\
  47. Kernel modules for IP in IP encapsulation
  48. KCONFIG:=$(CONFIG_NET_IPIP)
  49. SUBMENU:=$(NSMENU)
  50. endef
  51. $(eval $(call KernelPackage,ipip))
  52. define KernelPackage/ipip/2.4
  53. FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
  54. AUTOLOAD:=$(call AutoLoad,30,ipip)
  55. endef
  56. define KernelPackage/ipip/2.6
  57. FILES:= \
  58. $(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
  59. $(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
  60. AUTOLOAD:=$(call AutoLoad,30,ipip tunnel4)
  61. endef
  62. define KernelPackage/ipsec
  63. TITLE:=IPsec related modules (IPv4 and IPv6)
  64. DESCRIPTION:=\
  65. Kernel modules for IPsec support in both IPv4 and IPv6.\\\
  66. Includes:\\\
  67. - af_key\\\
  68. - xfrm_user
  69. SUBMENU:=$(NSMENU)
  70. DEPENDS:=@LINUX_2_6
  71. KCONFIG:=$(CONFIG_NET_KEY)
  72. FILES:= \
  73. $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
  74. $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
  75. endef
  76. $(eval $(call KernelPackage,ipsec))
  77. define KernelPackage/ipsec4
  78. TITLE:=IPsec related modules (IPv4)
  79. DESCRIPTION:=\
  80. Kernel modules for IPsec support in IPv4.\\\
  81. Includes:\\\
  82. - ah4\\\
  83. - esp4\\\
  84. - ipcomp\\\
  85. - xfrm4_tunnel
  86. SUBMENU:=$(NSMENU)
  87. KCONFIG:=$(CONFIG_INET_AH)
  88. DEPENDS:=kmod-ipsec
  89. FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_tunnel, \
  90. $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
  91. )
  92. endef
  93. $(eval $(call KernelPackage,ipsec4))
  94. define KernelPackage/ipsec6
  95. TITLE:=IPsec related modules (IPv6)
  96. DESCRIPTION:=\
  97. Kernel modules for IPsec support in IPv6.\\\
  98. Includes:\\\
  99. - ah6\\\
  100. - esp6\\\
  101. - ipcomp6\\\
  102. - xfrm6_tunnel\\\
  103. - tunnel6
  104. SUBMENU:=$(NSMENU)
  105. KCONFIG:=$(CONFIG_INET6_AH)
  106. DEPENDS:=kmod-ipsec
  107. FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_tunnel tunnel6, \
  108. $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
  109. )
  110. endef
  111. $(eval $(call KernelPackage,ipsec6))
  112. define KernelPackage/ipv6
  113. TITLE:=IPv6 support
  114. DESCRIPTION:=\
  115. Kernel modules for IPv6 support
  116. KCONFIG:=$(CONFIG_IPV6)
  117. SUBMENU:=$(NSMENU)
  118. AUTOLOAD:=$(call AutoLoad,20,ipv6)
  119. endef
  120. define KernelPackage/ipv6/2.4
  121. FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
  122. endef
  123. define KernelPackage/ipv6/2.6
  124. FILES:= \
  125. $(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX) \
  126. $(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
  127. endef
  128. $(eval $(call KernelPackage,ipv6))
  129. define KernelPackage/gre
  130. TITLE:=GRE support
  131. DESCRIPTION:=\
  132. Generic Routing Encapsulation support
  133. KCONFIG=$(CONFIG_NET_IPGRE)
  134. FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
  135. SUBMENU:=$(NSMENU)
  136. endef
  137. $(eval $(call KernelPackage,gre))
  138. define KernelPackage/tun
  139. TITLE:=Universal TUN/TAP driver
  140. DESCRIPTION:=\
  141. Kernel support for the TUN/TAP tunneling device
  142. KCONFIG:=$(CONFIG_TUN)
  143. FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
  144. SUBMENU:=$(NSMENU)
  145. AUTOLOAD:=$(call AutoLoad,30,tun)
  146. endef
  147. $(eval $(call KernelPackage,tun))
  148. define KernelPackage/ppp
  149. TITLE:=PPP modules
  150. DESCRIPTION:=\
  151. Kernel modules for PPP support
  152. KCONFIG:=$(CONFIG_PPP)
  153. SUBMENU:=$(NSMENU)
  154. endef
  155. define KernelPackage/ppp/2.6
  156. FILES:= \
  157. $(LINUX_DIR)/drivers/net/ppp_async.ko \
  158. $(LINUX_DIR)/drivers/net/ppp_generic.ko \
  159. $(LINUX_DIR)/drivers/net/slhc.ko \
  160. $(LINUX_DIR)/lib/crc-ccitt.ko
  161. AUTOLOAD:=$(call AutoLoad,30,crc-ccitt slhc ppp_generic ppp_async)
  162. endef
  163. define KernelPackage/ppp/2.4
  164. FILES:= \
  165. $(LINUX_DIR)/drivers/net/ppp_async.o \
  166. $(LINUX_DIR)/drivers/net/ppp_generic.o \
  167. $(LINUX_DIR)/drivers/net/slhc.o
  168. AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
  169. endef
  170. $(eval $(call KernelPackage,ppp))
  171. define KernelPackage/pppoe
  172. TITLE:=PPPoE support
  173. DESCRIPTION:=\
  174. Kernel modules for PPPoE (PPP over Ethernet) support
  175. DEPENDS:=kmod-ppp
  176. KCONFIG:=$(CONFIG_PPPOE)
  177. FILES:= \
  178. $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
  179. $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
  180. SUBMENU:=$(NSMENU)
  181. endef
  182. $(eval $(call KernelPackage,pppoe))
  183. define KernelPackage/pppoa
  184. TITLE:=PPPoA support
  185. DESCRIPTION:=\
  186. Kernel modules for PPPoA (PPP over ATM) support
  187. DEPENDS:=kmod-ppp
  188. KCONFIG:=$(CONFIG_PPPOATM)
  189. FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
  190. AUTOLOAD:=$(call AutoLoad,40,pppoatm)
  191. SUBMENU:=$(NSMENU)
  192. endef
  193. $(eval $(call KernelPackage,pppoa))
  194. define KernelPackage/mppe
  195. TITLE:=Microsoft PPP compression/encryption
  196. DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
  197. DEPENDS:=kmod-ppp
  198. SUBMENU:=$(NSMENU)
  199. endef
  200. define KernelPackage/mppe/2.4
  201. KCONFIG:=$(CONFIG_PPP_MPPE_MPPC)
  202. FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
  203. AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
  204. endef
  205. define KernelPackage/mppe/2.6
  206. KCONFIG:=$(CONFIG_PPP_MPPE)
  207. FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
  208. AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
  209. endef
  210. $(eval $(call KernelPackage,mppe))
  211. define KernelPackage/sched
  212. TITLE:=Traffic schedulers
  213. DESCRIPTION:=\
  214. Kernel schedulers for IP traffic
  215. FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
  216. SUBMENU:=$(NSMENU)
  217. endef
  218. $(eval $(call KernelPackage,sched))
  219. define KernelPackage/ax25
  220. TITLE:=AX25 support
  221. DESCRIPTION:=Kernel modules for AX25 support
  222. SUBMENU:=$(NSMENU)
  223. KCONFIG:=$(CONFIG_AX25)
  224. FILES:= \
  225. $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
  226. $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
  227. AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
  228. endef
  229. $(eval $(call KernelPackage,ax25))
  230. define KernelPackage/mp-alg
  231. TITLE:=ECMP caching algorithms
  232. DESCRIPTION:= \
  233. Kernel modules that provide several different algorithms for multipath \\\
  234. route selection from the route cache. The iproute "mpath" argument allows \\\
  235. specifying which algorithm to use for routes. \\\
  236. quagga (at least <=0.99.6) requires a multipath patch to support this \\\
  237. cached mp route feature.
  238. SUBMENU:=$(NSMENU)
  239. KCONFIG:= \
  240. $(CONFIG_IP_ROUTE_MULTIPATH_RR) \
  241. $(CONFIG_IP_ROUTE_MULTIPATH_RANDOM) \
  242. $(CONFIG_IP_ROUTE_MULTIPATH_WRANDOM) \
  243. $(CONFIG_IP_ROUTE_MULTIPATH_DRR)
  244. FILES:=$(LINUX_DIR)/net/ipv4/multipath_*.$(LINUX_KMOD_SUFFIX)
  245. AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
  246. endef
  247. $(eval $(call KernelPackage,mp-alg))
  248. NDMENU:=Network Devices
  249. define KernelPackage/natsemi
  250. TITLE:=National Semiconductor DP8381x series
  251. DESCRIPTION:=\
  252. Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
  253. adapters.
  254. FILES:=$(LINUX_DIR)/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
  255. KCONFIG:=$(CONFIG_NATSEMI)
  256. DEPENDS:=@LINUX_2_6_X86
  257. SUBMENU:=$(NDMENU)
  258. AUTOLOAD:=$(call AutoLoad,20,natsemi)
  259. endef
  260. $(eval $(call KernelPackage,natsemi))
  261. define KernelPackage/sis900
  262. TITLE:=SiS 900 Ethernet support
  263. DESCRIPTION:=\
  264. Kernel modules for Sis 900 Ethernet adapters.
  265. FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
  266. KCONFIG:=$(CONFIG_SIS900)
  267. DEPENDS:=@LINUX_2_6_X86
  268. SUBMENU:=$(NDMENU)
  269. AUTOLOAD:=$(call AutoLoad,50,sis900)
  270. endef
  271. $(eval $(call KernelPackage,sis900))
  272. define KernelPackage/via-rhine
  273. TITLE:=Via Rhine ethernet support
  274. DESCRIPTION:=\
  275. Kernel modules for Via Rhine Ethernet chipsets.
  276. FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
  277. KCONFIG:=$(CONFIG_VIA_RHINE)
  278. DEPENDS:=@LINUX_2_6_X86
  279. SUBMENU:=$(NDMENU)
  280. AUTOLOAD:=$(call AutoLoad,50,via-rhine)
  281. endef
  282. $(eval $(call KernelPackage,via-rhine))
  283. define KernelPackage/8139too
  284. TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
  285. DESCRIPTION:=\
  286. Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
  287. FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
  288. KCONFIG:=$(CONFIG_8139TOO)
  289. DEPENDS:=@LINUX_2_6_X86
  290. SUBMENU:=$(NDMENU)
  291. AUTOLOAD:=$(call AutoLoad,50,8139too)
  292. endef
  293. $(eval $(call KernelPackage,8139too))
  294. define KernelPackage/r8169
  295. TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
  296. DESCRIPTION:=\
  297. Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
  298. FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
  299. KCONFIG:=$(CONFIG_R8169)
  300. DEPENDS:=@LINUX_2_6_X86
  301. SUBMENU:=$(NDMENU)
  302. AUTOLOAD:=$(call AutoLoad,50,r8169)
  303. endef
  304. $(eval $(call KernelPackage,r8169))
  305. define KernelPackage/ne2k-pci
  306. TITLE:=ne2k-pci Ethernet Adapter kernel support
  307. DESCRIPTION:=\
  308. ne2k-pci Ethernet Adapter kernel support.
  309. FILES:=$(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
  310. $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
  311. KCONFIG:=$(CONFIG_NE2K_PCI)
  312. DEPENDS:=@LINUX_2_6_X86
  313. SUBMENU:=$(NDMENU)
  314. AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
  315. endef
  316. $(eval $(call KernelPackage,ne2k-pci))
  317. define KernelPackage/ixp4xx-npe
  318. TITLE:=Intel(R) IXP4xx ethernet support
  319. DESCRIPTION:=\
  320. Kernel modules for Intel(R) IXP4xx onboard ethernet.
  321. FILES:=$(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
  322. $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
  323. $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
  324. KCONFIG:=$(CONFIG_IXP4XX_MAC)
  325. DEPENDS:=@LINUX_2_6_IXP4XX
  326. SUBMENU:=$(NDMENU)
  327. AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
  328. endef
  329. $(eval $(call KernelPackage,ixp4xx-npe))
  330. define KernelPackage/e100
  331. TITLE:=Intel(R) PRO/100+ cards kernel support
  332. DESCRIPTION:=\
  333. Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
  334. FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
  335. KCONFIG:=$(CONFIG_E100)
  336. DEPENDS:=@LINUX_2_6_X86
  337. SUBMENU:=$(NDMENU)
  338. AUTOLOAD:=$(call AutoLoad,50,e100)
  339. endef
  340. $(eval $(call KernelPackage,e100))
  341. define KernelPackage/e1000
  342. TITLE:=Intel(R) PRO/1000 cards kernel support
  343. DESCRIPTION:=\
  344. Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
  345. FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
  346. KCONFIG:=$(CONFIG_E1000)
  347. DEPENDS:=@LINUX_2_6_X86
  348. SUBMENU:=$(NDMENU)
  349. AUTOLOAD:=$(call AutoLoad,50,e1000)
  350. endef
  351. $(eval $(call KernelPackage,e1000))
  352. define KernelPackage/3c59x
  353. TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
  354. DESCRIPTION:=\
  355. This option enables driver support for a large number of 10mbps and \\\
  356. 10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
  357. - "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
  358. - "Boomerang" (EtherLink XL 3c900 or 3c905) PCI \\\
  359. - "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus \\\
  360. - "Tornado" (3c905) PCI \\\
  361. - "Hurricane" (3c555/3cSOHO) PCI
  362. FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
  363. KCONFIG:=$(CONFIG_3C59X)
  364. DEPENDS:=@LINUX_2_6_X86
  365. SUBMENU:=$(NDMENU)
  366. AUTOLOAD:=$(call AutoLoad,50,3c59x)
  367. endef
  368. $(eval $(call KernelPackage,3c59x))