network.mk 12 KB

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