Add kmod-ppp-synctty (#2231)
[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/ppp-synctty
193   TITLE:=PPP sync tty support
194   DESCRIPTION:=\
195         Kernel modules for PPP sync tty support
196   DEPENDS:=kmod-ppp
197   KCONFIG:=CONFIG_PPP_SYNC_TTY
198   SUBMENU:=$(NSMENU)
199   FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
200   AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
201 endef
202 $(eval $(call KernelPackage,ppp-synctty))
203
204
205 define KernelPackage/pppoe
206   TITLE:=PPPoE support
207   DESCRIPTION:=\
208         Kernel modules for PPPoE (PPP over Ethernet) support
209   DEPENDS:=kmod-ppp
210   KCONFIG:=CONFIG_PPPOE
211   FILES:= \
212         $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
213         $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
214   SUBMENU:=$(NSMENU)
215 endef
216 $(eval $(call KernelPackage,pppoe))
217
218
219 define KernelPackage/pppoa
220   TITLE:=PPPoA support
221   DESCRIPTION:=\
222         Kernel modules for PPPoA (PPP over ATM) support
223   DEPENDS:=kmod-ppp kmod-atm
224   KCONFIG:=CONFIG_PPPOATM
225   FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
226   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
227   SUBMENU:=$(NSMENU)
228 endef
229 $(eval $(call KernelPackage,pppoa))
230
231
232 define KernelPackage/mppe
233   TITLE:=Microsoft PPP compression/encryption
234   DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
235   DEPENDS:=kmod-ppp
236   KCONFIG:=CONFIG_PPP_MPPE_MPPC CONFIG_PPP_MPPE
237   SUBMENU:=$(NSMENU)
238 endef
239
240 define KernelPackage/mppe/2.4
241   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
242   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
243 endef
244
245 define KernelPackage/mppe/2.6
246   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
247   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
248 endef
249 $(eval $(call KernelPackage,mppe))
250
251
252 define KernelPackage/sched
253   TITLE:=Traffic schedulers
254   DESCRIPTION:=\
255         Kernel schedulers for IP traffic
256   FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
257   SUBMENU:=$(NSMENU)
258 endef
259 $(eval $(call KernelPackage,sched))
260
261
262
263 define KernelPackage/ax25
264   TITLE:=AX25 support
265   DESCRIPTION:=Kernel modules for AX25 support
266   SUBMENU:=$(NSMENU)
267   KCONFIG:=CONFIG_AX25 CONFIG_MKISS
268   FILES:= \
269         $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
270         $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
271   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
272 endef
273 $(eval $(call KernelPackage,ax25))
274
275
276 define KernelPackage/mp-alg
277   TITLE:=ECMP caching algorithms
278   DEPENDS:=@LINUX_2_6
279   DESCRIPTION:= \
280         Kernel modules that provide several different algorithms for multipath \\\
281         route selection from the route cache. The iproute "mpath" argument allows \\\
282         specifying which algorithm to use for routes. \\\
283         quagga (at least <=0.99.6) requires a multipath patch to support this \\\
284         cached mp route feature.
285   SUBMENU:=$(NSMENU)
286   KCONFIG:=CONFIG_IP_ROUTE_MULTIPATH_RR CONFIG_IP_ROUTE_MULTIPATH_RANDOM CONFIG_IP_ROUTE_MULTIPATH_WRANDOM CONFIG_IP_ROUTE_MULTIPATH_DRR
287   FILES:=$(LINUX_DIR)/net/ipv4/multipath_*.$(LINUX_KMOD_SUFFIX)
288   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
289 endef
290 $(eval $(call KernelPackage,mp-alg))
291
292
293 NDMENU:=Network Devices
294
295 define KernelPackage/natsemi
296   TITLE:=National Semiconductor DP8381x series 
297   DESCRIPTION:=\
298         Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
299         adapters.
300   FILES:=$(LINUX_DIR)/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
301   KCONFIG:=CONFIG_NATSEMI
302   DEPENDS:=@LINUX_2_6_X86
303   SUBMENU:=$(NDMENU)
304   AUTOLOAD:=$(call AutoLoad,20,natsemi)
305 endef
306 $(eval $(call KernelPackage,natsemi))
307
308 define KernelPackage/r6040
309   TITLE:=RDC Fast-Ethernet support
310   DESCRIPTION:=\
311         Kernel modules for RDC Fast-Ethernet adapters.
312   FILES:=$(LINUX_DIR)/drivers/net/r6040.$(LINUX_KMOD_SUFFIX)
313   KCONFIG:=CONFIG_R6040
314   DEPENDS:=@LINUX_2_6_RDC
315   SUBMENU:=$(NDMENU)
316 endef
317 $(eval $(call KernelPackage,r6040))
318
319 define KernelPackage/sis900
320   TITLE:=SiS 900 Ethernet support
321   DESCRIPTION:=\
322         Kernel modules for Sis 900 Ethernet adapters.
323   FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
324   KCONFIG:=CONFIG_SIS900
325   DEPENDS:=@LINUX_2_6_X86
326   SUBMENU:=$(NDMENU)
327   AUTOLOAD:=$(call AutoLoad,50,sis900)
328 endef
329 $(eval $(call KernelPackage,sis900))
330
331 define KernelPackage/via-rhine
332   TITLE:=Via Rhine ethernet support
333   DESCRIPTION:=\
334         Kernel modules for Via Rhine Ethernet chipsets.
335   FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
336   KCONFIG:=CONFIG_VIA_RHINE
337   DEPENDS:=@LINUX_2_6_X86
338   SUBMENU:=$(NDMENU)
339   AUTOLOAD:=$(call AutoLoad,50,via-rhine)
340 endef
341 $(eval $(call KernelPackage,via-rhine))
342
343 define KernelPackage/via-velocity
344   TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
345   DESCRIPTION:=\
346         Kernel modules for VIA Velocity Gigabit Ethernet chipsets.
347   FILES:=$(LINUX_DIR)/drivers/net/via-velocity.$(LINUX_KMOD_SUFFIX)
348   KCONFIG:=CONFIG_VIA_VELOCITY
349   DEPENDS:=@LINUX_2_6_IXP4XX
350   SUBMENU:=$(NDMENU)
351   AUTOLOAD:=$(call AutoLoad,50,via-velocity)
352 endef
353 $(eval $(call KernelPackage,via-velocity))
354
355 define KernelPackage/8139too
356   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
357   DESCRIPTION:=\
358         Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
359   FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
360   KCONFIG:=CONFIG_8139TOO
361   DEPENDS:=@LINUX_2_6_X86
362   SUBMENU:=$(NDMENU)
363   AUTOLOAD:=$(call AutoLoad,50,8139too)
364 endef
365 $(eval $(call KernelPackage,8139too))
366
367 define KernelPackage/r8169
368   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
369   DESCRIPTION:=\
370         Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
371   FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
372   KCONFIG:=CONFIG_R8169 CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=n
373   DEPENDS:=@LINUX_2_6_X86 
374   SUBMENU:=$(NDMENU)
375   AUTOLOAD:=$(call AutoLoad,50,r8169)
376 endef
377 $(eval $(call KernelPackage,r8169))
378
379 define KernelPackage/ne2k-pci
380   TITLE:=ne2k-pci Ethernet Adapter kernel support
381   DESCRIPTION:=\
382         ne2k-pci Ethernet Adapter kernel support.
383   FILES:=$(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
384         $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
385   KCONFIG:=CONFIG_NE2K_PCI
386   DEPENDS:=@LINUX_2_6_X86
387   SUBMENU:=$(NDMENU)
388   AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
389 endef
390 $(eval $(call KernelPackage,ne2k-pci))
391
392 define KernelPackage/ixp4xx-npe
393   TITLE:=Intel(R) IXP4xx ethernet support
394   DESCRIPTION:=\
395         Kernel modules for Intel(R) IXP4xx onboard ethernet.
396   FILES:=$(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
397         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
398         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
399   KCONFIG:=CONFIG_IXP4XX_MAC
400   DEPENDS:=@LINUX_2_6_IXP4XX
401   SUBMENU:=$(NDMENU)
402   AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
403 endef
404 $(eval $(call KernelPackage,ixp4xx-npe))
405
406 define KernelPackage/e100
407   TITLE:=Intel(R) PRO/100+ cards kernel support
408   DESCRIPTION:=\
409         Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
410   FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
411   KCONFIG:=CONFIG_E100
412   DEPENDS:=@LINUX_2_6_X86
413   SUBMENU:=$(NDMENU)
414   AUTOLOAD:=$(call AutoLoad,50,e100)
415 endef
416 $(eval $(call KernelPackage,e100))
417
418 define KernelPackage/e1000
419   TITLE:=Intel(R) PRO/1000 cards kernel support
420   DESCRIPTION:=\
421         Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
422   FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
423   KCONFIG:=CONFIG_E1000
424   DEPENDS:=@LINUX_2_6_X86
425   SUBMENU:=$(NDMENU)
426   AUTOLOAD:=$(call AutoLoad,50,e1000)
427 endef
428 $(eval $(call KernelPackage,e1000))
429
430 define KernelPackage/3c59x
431   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
432   DESCRIPTION:=\
433         This option enables driver support for a large number of 10mbps and \\\
434         10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
435         - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
436         - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI \\\
437         - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus \\\
438         - "Tornado"   (3c905)                                  PCI  \\\
439         - "Hurricane" (3c555/3cSOHO)                           PCI 
440   FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
441   KCONFIG:=CONFIG_3C59X
442   DEPENDS:=@LINUX_2_6_X86
443   SUBMENU:=$(NDMENU)
444   AUTOLOAD:=$(call AutoLoad,50,3c59x)
445 endef
446 $(eval $(call KernelPackage,3c59x))