network.mk 12 KB

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