Fix kmod-ipip build (#2092)
[openwrt/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
57 define KernelPackage/ipip/2.4
58 FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
59 AUTOLOAD:=$(call AutoLoad,30,ipip)
60 endef
61
62 define KernelPackage/ipip/2.6
63 FILES:= \
64 $(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
65 $(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
66 AUTOLOAD:=$(call AutoLoad,30,ipip tunnel4)
67 endef
68 $(eval $(call KernelPackage,ipip))
69
70 define KernelPackage/ipsec
71 TITLE:=IPsec related modules (IPv4 and IPv6)
72 DESCRIPTION:=\
73 Kernel modules for IPsec support in both IPv4 and IPv6.\\\
74 Includes:\\\
75 - af_key\\\
76 - xfrm_user
77 SUBMENU:=$(NSMENU)
78 DEPENDS:=@LINUX_2_6
79 KCONFIG:=CONFIG_NET_KEY
80 FILES:= \
81 $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
82 $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
83 endef
84 $(eval $(call KernelPackage,ipsec))
85
86 define KernelPackage/ipsec4
87 TITLE:=IPsec related modules (IPv4)
88 DESCRIPTION:=\
89 Kernel modules for IPsec support in IPv4.\\\
90 Includes:\\\
91 - ah4\\\
92 - esp4\\\
93 - ipcomp\\\
94 - xfrm4_tunnel
95 SUBMENU:=$(NSMENU)
96 KCONFIG:=CONFIG_INET_AH
97 DEPENDS:=kmod-ipsec
98 FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_tunnel, \
99 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
100 )
101 endef
102 $(eval $(call KernelPackage,ipsec4))
103
104 define KernelPackage/ipsec6
105 TITLE:=IPsec related modules (IPv6)
106 DESCRIPTION:=\
107 Kernel modules for IPsec support in IPv6.\\\
108 Includes:\\\
109 - ah6\\\
110 - esp6\\\
111 - ipcomp6\\\
112 - xfrm6_tunnel\\\
113 - tunnel6
114 SUBMENU:=$(NSMENU)
115 KCONFIG:=CONFIG_INET6_AH
116 DEPENDS:=kmod-ipsec
117 FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_tunnel tunnel6, \
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 KCONFIG:=CONFIG_PPP_MPPE_MPPC CONFIG_PPP_MPPE
225 SUBMENU:=$(NSMENU)
226 endef
227
228 define KernelPackage/mppe/2.4
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 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
235 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
236 endef
237 $(eval $(call KernelPackage,mppe))
238
239
240 define KernelPackage/sched
241 TITLE:=Traffic schedulers
242 DESCRIPTION:=\
243 Kernel schedulers for IP traffic
244 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
245 SUBMENU:=$(NSMENU)
246 endef
247 $(eval $(call KernelPackage,sched))
248
249
250
251 define KernelPackage/ax25
252 TITLE:=AX25 support
253 DESCRIPTION:=Kernel modules for AX25 support
254 SUBMENU:=$(NSMENU)
255 KCONFIG:=CONFIG_AX25
256 FILES:= \
257 $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
258 $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
259 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
260 endef
261 $(eval $(call KernelPackage,ax25))
262
263
264 define KernelPackage/mp-alg
265 TITLE:=ECMP caching algorithms
266 DESCRIPTION:= \
267 Kernel modules that provide several different algorithms for multipath \\\
268 route selection from the route cache. The iproute "mpath" argument allows \\\
269 specifying which algorithm to use for routes. \\\
270 quagga (at least <=0.99.6) requires a multipath patch to support this \\\
271 cached mp route feature.
272 SUBMENU:=$(NSMENU)
273 KCONFIG:=CONFIG_IP_ROUTE_MULTIPATH_RR CONFIG_IP_ROUTE_MULTIPATH_RANDOM CONFIG_IP_ROUTE_MULTIPATH_WRANDOM CONFIG_IP_ROUTE_MULTIPATH_DRR
274 FILES:=$(LINUX_DIR)/net/ipv4/multipath_*.$(LINUX_KMOD_SUFFIX)
275 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
276 endef
277 $(eval $(call KernelPackage,mp-alg))
278
279
280 NDMENU:=Network Devices
281
282 define KernelPackage/natsemi
283 TITLE:=National Semiconductor DP8381x series
284 DESCRIPTION:=\
285 Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
286 adapters.
287 FILES:=$(LINUX_DIR)/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
288 KCONFIG:=CONFIG_NATSEMI
289 DEPENDS:=@LINUX_2_6_X86
290 SUBMENU:=$(NDMENU)
291 AUTOLOAD:=$(call AutoLoad,20,natsemi)
292 endef
293 $(eval $(call KernelPackage,natsemi))
294
295 define KernelPackage/sis900
296 TITLE:=SiS 900 Ethernet support
297 DESCRIPTION:=\
298 Kernel modules for Sis 900 Ethernet adapters.
299 FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
300 KCONFIG:=CONFIG_SIS900
301 DEPENDS:=@LINUX_2_6_X86
302 SUBMENU:=$(NDMENU)
303 AUTOLOAD:=$(call AutoLoad,50,sis900)
304 endef
305 $(eval $(call KernelPackage,sis900))
306
307 define KernelPackage/via-rhine
308 TITLE:=Via Rhine ethernet support
309 DESCRIPTION:=\
310 Kernel modules for Via Rhine Ethernet chipsets.
311 FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
312 KCONFIG:=CONFIG_VIA_RHINE
313 DEPENDS:=@LINUX_2_6_X86
314 SUBMENU:=$(NDMENU)
315 AUTOLOAD:=$(call AutoLoad,50,via-rhine)
316 endef
317 $(eval $(call KernelPackage,via-rhine))
318
319 define KernelPackage/via-velocity
320 TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
321 DESCRIPTION:=\
322 Kernel modules for VIA Velocity Gigabit Ethernet chipsets.
323 FILES:=$(LINUX_DIR)/drivers/net/via-velocity.$(LINUX_KMOD_SUFFIX)
324 KCONFIG:=CONFIG_VIA_VELOCITY
325 DEPENDS:=@LINUX_2_6_IXP4XX
326 SUBMENU:=$(NDMENU)
327 AUTOLOAD:=$(call AutoLoad,50,via-velocity)
328 endef
329 $(eval $(call KernelPackage,via-velocity))
330
331 define KernelPackage/8139too
332 TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
333 DESCRIPTION:=\
334 Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
335 FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
336 KCONFIG:=CONFIG_8139TOO
337 DEPENDS:=@LINUX_2_6_X86
338 SUBMENU:=$(NDMENU)
339 AUTOLOAD:=$(call AutoLoad,50,8139too)
340 endef
341 $(eval $(call KernelPackage,8139too))
342
343 define KernelPackage/r8169
344 TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
345 DESCRIPTION:=\
346 Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
347 FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
348 KCONFIG:=CONFIG_R8169 CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=n
349 DEPENDS:=@LINUX_2_6_X86
350 SUBMENU:=$(NDMENU)
351 AUTOLOAD:=$(call AutoLoad,50,r8169)
352 endef
353 $(eval $(call KernelPackage,r8169))
354
355 define KernelPackage/ne2k-pci
356 TITLE:=ne2k-pci Ethernet Adapter kernel support
357 DESCRIPTION:=\
358 ne2k-pci Ethernet Adapter kernel support.
359 FILES:=$(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
360 $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
361 KCONFIG:=CONFIG_NE2K_PCI
362 DEPENDS:=@LINUX_2_6_X86
363 SUBMENU:=$(NDMENU)
364 AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
365 endef
366 $(eval $(call KernelPackage,ne2k-pci))
367
368 define KernelPackage/ixp4xx-npe
369 TITLE:=Intel(R) IXP4xx ethernet support
370 DESCRIPTION:=\
371 Kernel modules for Intel(R) IXP4xx onboard ethernet.
372 FILES:=$(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
373 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
374 $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
375 KCONFIG:=CONFIG_IXP4XX_MAC
376 DEPENDS:=@LINUX_2_6_IXP4XX
377 SUBMENU:=$(NDMENU)
378 AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
379 endef
380 $(eval $(call KernelPackage,ixp4xx-npe))
381
382 define KernelPackage/e100
383 TITLE:=Intel(R) PRO/100+ cards kernel support
384 DESCRIPTION:=\
385 Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
386 FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
387 KCONFIG:=CONFIG_E100
388 DEPENDS:=@LINUX_2_6_X86
389 SUBMENU:=$(NDMENU)
390 AUTOLOAD:=$(call AutoLoad,50,e100)
391 endef
392 $(eval $(call KernelPackage,e100))
393
394 define KernelPackage/e1000
395 TITLE:=Intel(R) PRO/1000 cards kernel support
396 DESCRIPTION:=\
397 Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
398 FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
399 KCONFIG:=CONFIG_E1000
400 DEPENDS:=@LINUX_2_6_X86
401 SUBMENU:=$(NDMENU)
402 AUTOLOAD:=$(call AutoLoad,50,e1000)
403 endef
404 $(eval $(call KernelPackage,e1000))
405
406 define KernelPackage/3c59x
407 TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
408 DESCRIPTION:=\
409 This option enables driver support for a large number of 10mbps and \\\
410 10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
411 - "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
412 - "Boomerang" (EtherLink XL 3c900 or 3c905) PCI \\\
413 - "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus \\\
414 - "Tornado" (3c905) PCI \\\
415 - "Hurricane" (3c555/3cSOHO) PCI
416 FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
417 KCONFIG:=CONFIG_3C59X
418 DEPENDS:=@LINUX_2_6_X86
419 SUBMENU:=$(NDMENU)
420 AUTOLOAD:=$(call AutoLoad,50,3c59x)
421 endef
422 $(eval $(call KernelPackage,3c59x))