add redboot parsing and rtl8169 fixes, enable r8169 and add the free ixp4xx ethernet...
[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
38 define KernelPackage/ipip
39   TITLE:=IP in IP encapsulation support
40   DESCRIPTION:=\
41         Kernel modules for IP in IP encapsulation
42   KCONFIG:=$(CONFIG_NET_IPIP)
43   SUBMENU:=$(NSMENU)
44 endef
45 $(eval $(call KernelPackage,ipip))
46
47 define KernelPackage/ipip/2.4
48   FILES:=$(MODULES_DIR)/kernel/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
49   AUTOLOAD:=$(call AutoLoad,30,ipip)
50 endef
51
52 define KernelPackage/ipip/2.6
53   FILES:= \
54         $(MODULES_DIR)/kernel/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
55         $(MODULES_DIR)/kernel/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
56   AUTOLOAD:=$(call AutoLoad,30,ipip tunnel4)
57 endef
58
59
60 define KernelPackage/ipsec
61   TITLE:=IPsec related modules (IPv4 and IPv6)
62   DESCRIPTION:=\
63         Kernel modules for IPsec support in both IPv4 and IPv6.\\\
64         Includes:\\\
65         - af_key\\\
66         - xfrm_user
67   SUBMENU:=$(NSMENU)
68   DEPENDS:=@LINUX_2_6
69   KCONFIG:=$(CONFIG_NET_KEY)
70   FILES:= \
71         $(MODULES_DIR)/kernel/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
72         $(MODULES_DIR)/kernel/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
73 endef
74 $(eval $(call KernelPackage,ipsec))
75
76 define KernelPackage/ipsec4
77   TITLE:=IPsec related modules (IPv4)
78   DESCRIPTION:=\
79         Kernel modules for IPsec support in IPv4.\\\
80         Includes:\\\
81         - ah4\\\
82         - esp4\\\
83         - ipcomp\\\
84         - xfrm4_tunnel
85   SUBMENU:=$(NSMENU)
86   KCONFIG:=$(CONFIG_INET_AH)
87   DEPENDS:=kmod-ipsec
88   FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_tunnel, \
89         $(MODULES_DIR)/kernel/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
90   )
91 endef
92 $(eval $(call KernelPackage,ipsec4))
93
94 define KernelPackage/ipsec6
95   TITLE:=IPsec related modules (IPv6)
96   DESCRIPTION:=\
97         Kernel modules for IPsec support in IPv6.\\\
98         Includes:\\\
99         - ah6\\\
100         - esp6\\\
101         - ipcomp6\\\
102         - xfrm6_tunnel
103   SUBMENU:=$(NSMENU)
104   KCONFIG:=$(CONFIG_INET6_AH)
105   DEPENDS:=kmod-ipsec
106   FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_tunnel, \
107         $(MODULES_DIR)/kernel/net/ipv6/{ah6,esp6,ipcomp6,xfrm6_tunnel}.$(LINUX_KMOD_SUFFIX) \
108   )
109 endef
110 $(eval $(call KernelPackage,ipsec6))
111
112
113 define KernelPackage/ipv6
114   TITLE:=IPv6 support
115   DESCRIPTION:=\
116         Kernel modules for IPv6 support
117   KCONFIG:=$(CONFIG_IPV6)
118   FILES:=$(MODULES_DIR)/kernel/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
119   SUBMENU:=$(NSMENU)
120 endef
121 $(eval $(call KernelPackage,ipv6))
122
123
124 define KernelPackage/gre
125   TITLE:=GRE support
126   DESCRIPTION:=\
127         Generic Routing Encapsulation support
128   KCONFIG=$(CONFIG_NET_IPGRE)
129   FILES=$(MODULES_DIR)/kernel/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
130   SUBMENU:=$(NSMENU)
131 endef
132 $(eval $(call KernelPackage,gre))
133
134
135 define KernelPackage/tun
136   TITLE:=Universal TUN/TAP driver
137   DESCRIPTION:=\
138         Kernel support for the TUN/TAP tunneling device
139   KCONFIG:=$(CONFIG_TUN)
140   FILES:=$(MODULES_DIR)/kernel/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
141   SUBMENU:=$(NSMENU)
142   AUTOLOAD:=$(call AutoLoad,30,tun)
143 endef
144 $(eval $(call KernelPackage,tun))
145
146
147 define KernelPackage/ppp
148   TITLE:=PPP modules
149   DESCRIPTION:=\
150         Kernel modules for PPP support
151   KCONFIG:=$(CONFIG_PPP)
152   SUBMENU:=$(NSMENU)
153 endef
154
155 define KernelPackage/ppp/2.6
156   FILES:= \
157         $(MODULES_DIR)/kernel/drivers/net/ppp_async.ko \
158         $(MODULES_DIR)/kernel/drivers/net/ppp_generic.ko \
159         $(MODULES_DIR)/kernel/drivers/net/slhc.ko \
160         $(MODULES_DIR)/kernel/lib/crc-ccitt.ko
161   AUTOLOAD:=$(call AutoLoad,30,crc-ccitt slhc ppp_generic ppp_async)
162 endef
163
164 define KernelPackage/ppp/2.4
165   FILES:= \
166         $(MODULES_DIR)/kernel/drivers/net/ppp_async.o \
167         $(MODULES_DIR)/kernel/drivers/net/ppp_generic.o \
168         $(MODULES_DIR)/kernel/drivers/net/slhc.o
169   AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
170 endef
171 $(eval $(call KernelPackage,ppp))
172
173
174 define KernelPackage/pppoe
175   TITLE:=PPPoE support
176   DESCRIPTION:=\
177         Kernel modules for PPPoE (PPP over Ethernet) support
178   DEPENDS:=kmod-ppp
179   KCONFIG:=$(CONFIG_PPPOE)
180   FILES:= \
181         $(MODULES_DIR)/kernel/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
182         $(MODULES_DIR)/kernel/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
183   SUBMENU:=$(NSMENU)
184 endef
185 $(eval $(call KernelPackage,pppoe))
186
187
188 define KernelPackage/pppoa
189   TITLE:=PPPoA support
190   DESCRIPTION:=\
191         Kernel modules for PPPoA (PPP over ATM) support
192   DEPENDS:=kmod-ppp
193   KCONFIG:=$(CONFIG_PPPOATM)
194   FILES:=$(MODULES_DIR)/kernel/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
195   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
196   SUBMENU:=$(NSMENU)
197 endef
198 $(eval $(call KernelPackage,pppoa))
199
200
201 define KernelPackage/mppe
202   TITLE:=Microsoft PPP compression/encryption
203   DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
204   DEPENDS:=kmod-ppp
205   KCONFIG:=$(CONFIG_PPP_MPPE)
206   SUBMENU:=$(NSMENU)
207 endef
208
209 define KernelPackage/mppe/2.4
210   FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
211 endef
212
213 define KernelPackage/mppe/2.6
214   FILES:=$(MODULES_DIR)/kernel/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
215 endef
216 $(eval $(call KernelPackage,mppe))
217
218
219 define KernelPackage/sched
220   TITLE:=Traffic schedulers
221   DESCRIPTION:=\
222         Kernel schedulers for IP traffic
223   FILES:=$(MODULES_DIR)/kernel/net/sched/*.$(LINUX_KMOD_SUFFIX)
224   SUBMENU:=$(NSMENU)
225 endef
226 $(eval $(call KernelPackage,sched))
227
228
229
230 define KernelPackage/ax25
231   TITLE:=AX25 support
232   DESCRIPTION:=Kernel modules for AX25 support
233   SUBMENU:=$(NSMENU)
234   KCONFIG:=$(CONFIG_AX25)
235   FILES:= \
236         $(MODULES_DIR)/kernel/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
237         $(MODULES_DIR)/kernel/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
238   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
239 endef
240 $(eval $(call KernelPackage,ax25))
241
242
243
244
245 NDMENU:=Network Devices
246
247 define KernelPackage/natsemi
248   TITLE:=National Semiconductor DP8381x series 
249   DESCRIPTION:=\
250         Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
251         adapters.
252   FILES:=$(MODULES_DIR)/kernel/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
253   KCONFIG:=$(CONFIG_NATSEMI)
254   DEPENDS:=@LINUX_2_6_X86
255   DEFAULT:=y
256   SUBMENU:=$(NDMENU)
257   AUTOLOAD:=$(call AutoLoad,20,natsemi)
258 endef
259 $(eval $(call KernelPackage,natsemi))
260
261 define KernelPackage/sis900
262   TITLE:=SiS 900 Ethernet support
263   DESCRIPTION:=\
264         Kernel modules for Sis 900 Ethernet adapters.
265   FILES:=$(MODULES_DIR)/kernel/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
266   KCONFIG:=$(CONFIG_SIS900)
267   DEPENDS:=@LINUX_2_6_X86
268   SUBMENU:=$(NDMENU)
269   AUTOLOAD:=$(call AutoLoad,50,sis900)
270 endef
271 $(eval $(call KernelPackage,sis900))
272
273 define KernelPackage/via-rhine
274   TITLE:=Via Rhine ethernet support
275   DESCRIPTION:=\
276         Kernel modules for Via Rhine Ethernet chipsets.
277   FILES:=$(MODULES_DIR)/kernel/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
278   KCONFIG:=$(CONFIG_VIA_RHINE)
279   DEPENDS:=@LINUX_2_6_X86
280   SUBMENU:=$(NDMENU)
281   AUTOLOAD:=$(call AutoLoad,50,via-rhine)
282 endef
283 $(eval $(call KernelPackage,via-rhine))
284
285 define KernelPackage/8139too
286   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
287   DESCRIPTION:=\
288         Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
289   FILES:=$(MODULES_DIR)/kernel/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
290   KCONFIG:=$(CONFIG_8139TOO)
291   DEPENDS:=@LINUX_2_6_X86
292   SUBMENU:=$(NDMENU)
293   AUTOLOAD:=$(call AutoLoad,50,8139too)
294 endef
295 $(eval $(call KernelPackage,8139too))
296
297 define KernelPackage/r8169
298   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
299   DESCRIPTION:=\
300         Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
301   FILES:=$(MODULES_DIR)/kernel/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
302   KCONFIG:=$(CONFIG_R8169)
303   DEPENDS:=@LINUX_2_6_X86 
304   SUBMENU:=$(NDMENU)
305   AUTOLOAD:=$(call AutoLoad,50,r8169)
306 endef
307 $(eval $(call KernelPackage,r8169))
308
309 define KernelPackage/ixp4xx-npe
310   TITLE:=Intel(R) IXP4xx ethernet support
311   DESCRIPTION:=\
312         Kernel modules for Intel(R) IXP4xx onboard ethernet.
313   FILES:=$(MODULES_DIR)/kernel/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
314         $(MODULES_DIR)/kernel/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
315         $(MODULES_DIR)/kernel/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
316   KCONFIG:=$(CONFIG_IXP4XX_MAC)
317   DEPENDS:=@LINUX_2_6_IXP4XX
318   SUBMENU:=$(NDMENU)
319   AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
320 endef
321 $(eval $(call KernelPackage,ixp4xx-npe))
322
323 define KernelPackage/e100
324   TITLE:=Intel(R) PRO/100+ cards kernel support
325   DESCRIPTION:=\
326         Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
327   FILES:=$(MODULES_DIR)/kernel/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
328   KCONFIG:=$(CONFIG_E100)
329   DEPENDS:=@LINUX_2_6_X86
330   SUBMENU:=$(NDMENU)
331   AUTOLOAD:=$(call AutoLoad,50,e100)
332 endef
333 $(eval $(call KernelPackage,e100))
334
335 define KernelPackage/e1000
336   TITLE:=Intel(R) PRO/1000 cards kernel support
337   DESCRIPTION:=\
338         Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
339   FILES:=$(MODULES_DIR)/kernel/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
340   KCONFIG:=$(CONFIG_E1000)
341   DEPENDS:=@LINUX_2_6_X86
342   SUBMENU:=$(NDMENU)
343 endef
344 $(eval $(call KernelPackage,e1000))
345
346 define KernelPackage/3c59x
347   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
348   DESCRIPTION:=\
349         This option enables driver support for a large number of 10mbps and \\\
350         10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
351         - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
352         - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI \\\
353         - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus \\\
354         - "Tornado"   (3c905)                                  PCI  \\\
355         - "Hurricane" (3c555/3cSOHO)                           PCI 
356   FILES:=$(MODULES_DIR)/kernel/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
357   KCONFIG:=$(CONFIG_3C59X)
358   DEPENDS:=@LINUX_2_6_X86
359   SUBMENU:=$(NDMENU)
360   AUTOLOAD:=$(call AutoLoad,50,3c59x)
361 endef
362 $(eval $(call KernelPackage,3c59x))