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