ax25 need to compile mkiss
[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   DESCRIPTION:= \
14     Kernel modules for ATM support
15   DEPENDS:=@LINUX_2_6
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 CONFIG_ATM_DRIVERS=y
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   FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
42   KCONFIG:=CONFIG_BONDING
43   SUBMENU:=$(NSMENU)
44   AUTOLOAD:=$(call AutoLoad,40,bonding)
45 endef
46 $(eval $(call KernelPackage,bonding))
47
48 define KernelPackage/ipip
49   TITLE:=IP in IP encapsulation support
50   DESCRIPTION:=\
51         Kernel modules for IP in IP encapsulation
52   KCONFIG:=CONFIG_NET_IPIP
53   SUBMENU:=$(NSMENU)
54 endef
55
56 define KernelPackage/ipip/2.4
57   FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
58   AUTOLOAD:=$(call AutoLoad,30,ipip)
59 endef
60
61 define KernelPackage/ipip/2.6
62   FILES:= \
63         $(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
64         $(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
65   AUTOLOAD:=$(call AutoLoad,30,ipip tunnel4)
66 endef
67 $(eval $(call KernelPackage,ipip))
68
69 define KernelPackage/ipsec
70   TITLE:=IPsec related modules (IPv4 and IPv6)
71   DESCRIPTION:=\
72         Kernel modules for IPsec support in both IPv4 and IPv6.\\\
73         Includes:\\\
74         - af_key\\\
75         - xfrm_user
76   SUBMENU:=$(NSMENU)
77   DEPENDS:=@LINUX_2_6
78   KCONFIG:=CONFIG_NET_KEY
79   FILES:= \
80         $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
81         $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
82 endef
83 $(eval $(call KernelPackage,ipsec))
84
85 define KernelPackage/ipsec4
86   TITLE:=IPsec related modules (IPv4)
87   DESCRIPTION:=\
88         Kernel modules for IPsec support in IPv4.\\\
89         Includes:\\\
90         - ah4\\\
91         - esp4\\\
92         - ipcomp\\\
93         - xfrm4_tunnel
94   SUBMENU:=$(NSMENU)
95   KCONFIG:=CONFIG_INET_AH
96   DEPENDS:=kmod-ipsec
97   FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_tunnel, \
98         $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
99   )
100 endef
101 $(eval $(call KernelPackage,ipsec4))
102
103 define KernelPackage/ipsec6
104   TITLE:=IPsec related modules (IPv6)
105   DESCRIPTION:=\
106         Kernel modules for IPsec support in IPv6.\\\
107         Includes:\\\
108         - ah6\\\
109         - esp6\\\
110         - ipcomp6\\\
111         - xfrm6_tunnel\\\
112         - tunnel6
113   SUBMENU:=$(NSMENU)
114   KCONFIG:=CONFIG_INET6_AH
115   DEPENDS:=kmod-ipsec
116   FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_tunnel tunnel6, \
117         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
118   )
119 endef
120 $(eval $(call KernelPackage,ipsec6))
121
122
123 define KernelPackage/ipv6
124   TITLE:=IPv6 support
125   DESCRIPTION:=\
126         Kernel modules for IPv6 support
127   KCONFIG:=CONFIG_IPV6
128   SUBMENU:=$(NSMENU)
129   AUTOLOAD:=$(call AutoLoad,20,ipv6)
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 kmod-atm
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_MPPC 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   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
230 endef
231
232 define KernelPackage/mppe/2.6
233   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
234   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
235 endef
236 $(eval $(call KernelPackage,mppe))
237
238
239 define KernelPackage/sched
240   TITLE:=Traffic schedulers
241   DESCRIPTION:=\
242         Kernel schedulers for IP traffic
243   FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
244   SUBMENU:=$(NSMENU)
245 endef
246 $(eval $(call KernelPackage,sched))
247
248
249
250 define KernelPackage/ax25
251   TITLE:=AX25 support
252   DESCRIPTION:=Kernel modules for AX25 support
253   SUBMENU:=$(NSMENU)
254   KCONFIG:=CONFIG_AX25 CONFIG_MKISS
255   FILES:= \
256         $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
257         $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
258   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
259 endef
260 $(eval $(call KernelPackage,ax25))
261
262
263 define KernelPackage/mp-alg
264   TITLE:=ECMP caching algorithms
265   DEPENDS:=@LINUX_2_6
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/r6040
296   TITLE:=RDC Fast-Ethernet support
297   DESCRIPTION:=\
298         Kernel modules for RDC Fast-Ethernet adapters.
299   FILES:=$(LINUX_DIR)/drivers/net/r6040.$(LINUX_KMOD_SUFFIX)
300   KCONFIG:=CONFIG_R6040
301   DEPENDS:=@LINUX_2_6_RDC
302   SUBMENU:=$(NDMENU)
303 endef
304 $(eval $(call KernelPackage,r6040))
305
306 define KernelPackage/sis900
307   TITLE:=SiS 900 Ethernet support
308   DESCRIPTION:=\
309         Kernel modules for Sis 900 Ethernet adapters.
310   FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
311   KCONFIG:=CONFIG_SIS900
312   DEPENDS:=@LINUX_2_6_X86
313   SUBMENU:=$(NDMENU)
314   AUTOLOAD:=$(call AutoLoad,50,sis900)
315 endef
316 $(eval $(call KernelPackage,sis900))
317
318 define KernelPackage/via-rhine
319   TITLE:=Via Rhine ethernet support
320   DESCRIPTION:=\
321         Kernel modules for Via Rhine Ethernet chipsets.
322   FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
323   KCONFIG:=CONFIG_VIA_RHINE
324   DEPENDS:=@LINUX_2_6_X86
325   SUBMENU:=$(NDMENU)
326   AUTOLOAD:=$(call AutoLoad,50,via-rhine)
327 endef
328 $(eval $(call KernelPackage,via-rhine))
329
330 define KernelPackage/via-velocity
331   TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
332   DESCRIPTION:=\
333         Kernel modules for VIA Velocity Gigabit Ethernet chipsets.
334   FILES:=$(LINUX_DIR)/drivers/net/via-velocity.$(LINUX_KMOD_SUFFIX)
335   KCONFIG:=CONFIG_VIA_VELOCITY
336   DEPENDS:=@LINUX_2_6_IXP4XX
337   SUBMENU:=$(NDMENU)
338   AUTOLOAD:=$(call AutoLoad,50,via-velocity)
339 endef
340 $(eval $(call KernelPackage,via-velocity))
341
342 define KernelPackage/8139too
343   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
344   DESCRIPTION:=\
345         Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
346   FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
347   KCONFIG:=CONFIG_8139TOO
348   DEPENDS:=@LINUX_2_6_X86
349   SUBMENU:=$(NDMENU)
350   AUTOLOAD:=$(call AutoLoad,50,8139too)
351 endef
352 $(eval $(call KernelPackage,8139too))
353
354 define KernelPackage/r8169
355   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
356   DESCRIPTION:=\
357         Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
358   FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
359   KCONFIG:=CONFIG_R8169 CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=n
360   DEPENDS:=@LINUX_2_6_X86 
361   SUBMENU:=$(NDMENU)
362   AUTOLOAD:=$(call AutoLoad,50,r8169)
363 endef
364 $(eval $(call KernelPackage,r8169))
365
366 define KernelPackage/ne2k-pci
367   TITLE:=ne2k-pci Ethernet Adapter kernel support
368   DESCRIPTION:=\
369         ne2k-pci Ethernet Adapter kernel support.
370   FILES:=$(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
371         $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
372   KCONFIG:=CONFIG_NE2K_PCI
373   DEPENDS:=@LINUX_2_6_X86
374   SUBMENU:=$(NDMENU)
375   AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
376 endef
377 $(eval $(call KernelPackage,ne2k-pci))
378
379 define KernelPackage/ixp4xx-npe
380   TITLE:=Intel(R) IXP4xx ethernet support
381   DESCRIPTION:=\
382         Kernel modules for Intel(R) IXP4xx onboard ethernet.
383   FILES:=$(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
384         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
385         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
386   KCONFIG:=CONFIG_IXP4XX_MAC
387   DEPENDS:=@LINUX_2_6_IXP4XX
388   SUBMENU:=$(NDMENU)
389   AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
390 endef
391 $(eval $(call KernelPackage,ixp4xx-npe))
392
393 define KernelPackage/e100
394   TITLE:=Intel(R) PRO/100+ cards kernel support
395   DESCRIPTION:=\
396         Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
397   FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
398   KCONFIG:=CONFIG_E100
399   DEPENDS:=@LINUX_2_6_X86
400   SUBMENU:=$(NDMENU)
401   AUTOLOAD:=$(call AutoLoad,50,e100)
402 endef
403 $(eval $(call KernelPackage,e100))
404
405 define KernelPackage/e1000
406   TITLE:=Intel(R) PRO/1000 cards kernel support
407   DESCRIPTION:=\
408         Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
409   FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
410   KCONFIG:=CONFIG_E1000
411   DEPENDS:=@LINUX_2_6_X86
412   SUBMENU:=$(NDMENU)
413   AUTOLOAD:=$(call AutoLoad,50,e1000)
414 endef
415 $(eval $(call KernelPackage,e1000))
416
417 define KernelPackage/3c59x
418   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
419   DESCRIPTION:=\
420         This option enables driver support for a large number of 10mbps and \\\
421         10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
422         - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
423         - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI \\\
424         - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus \\\
425         - "Tornado"   (3c905)                                  PCI  \\\
426         - "Hurricane" (3c555/3cSOHO)                           PCI 
427   FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
428   KCONFIG:=CONFIG_3C59X
429   DEPENDS:=@LINUX_2_6_X86
430   SUBMENU:=$(NDMENU)
431   AUTOLOAD:=$(call AutoLoad,50,3c59x)
432 endef
433 $(eval $(call KernelPackage,3c59x))