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