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