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