8bc216eda1f4a6e19a1c24e40382bdb556f53661
[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 $(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 DEFAULT:=y
267 SUBMENU:=$(NDMENU)
268 AUTOLOAD:=$(call AutoLoad,20,natsemi)
269 endef
270 $(eval $(call KernelPackage,natsemi))
271
272 define KernelPackage/sis900
273 TITLE:=SiS 900 Ethernet support
274 DESCRIPTION:=\
275 Kernel modules for Sis 900 Ethernet adapters.
276 FILES:=$(MODULES_DIR)/kernel/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
277 KCONFIG:=$(CONFIG_SIS900)
278 DEPENDS:=@LINUX_2_6_X86
279 SUBMENU:=$(NDMENU)
280 AUTOLOAD:=$(call AutoLoad,50,sis900)
281 endef
282 $(eval $(call KernelPackage,sis900))
283
284 define KernelPackage/via-rhine
285 TITLE:=Via Rhine ethernet support
286 DESCRIPTION:=\
287 Kernel modules for Via Rhine Ethernet chipsets.
288 FILES:=$(MODULES_DIR)/kernel/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
289 KCONFIG:=$(CONFIG_VIA_RHINE)
290 DEPENDS:=@LINUX_2_6_X86
291 SUBMENU:=$(NDMENU)
292 AUTOLOAD:=$(call AutoLoad,50,via-rhine)
293 endef
294 $(eval $(call KernelPackage,via-rhine))
295
296 define KernelPackage/8139too
297 TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
298 DESCRIPTION:=\
299 Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
300 FILES:=$(MODULES_DIR)/kernel/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
301 KCONFIG:=$(CONFIG_8139TOO)
302 DEPENDS:=@LINUX_2_6_X86
303 SUBMENU:=$(NDMENU)
304 AUTOLOAD:=$(call AutoLoad,50,8139too)
305 endef
306 $(eval $(call KernelPackage,8139too))
307
308 define KernelPackage/r8169
309 TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
310 DESCRIPTION:=\
311 Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
312 FILES:=$(MODULES_DIR)/kernel/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
313 KCONFIG:=$(CONFIG_R8169)
314 DEPENDS:=@LINUX_2_6_X86
315 SUBMENU:=$(NDMENU)
316 AUTOLOAD:=$(call AutoLoad,50,r8169)
317 endef
318 $(eval $(call KernelPackage,r8169))
319
320 define KernelPackage/ne2k-pci
321 TITLE:=ne2k-pci Ethernet Adapter kernel support
322 DESCRIPTION:=\
323 ne2k-pci Ethernet Adapter kernel support.
324 FILES:=$(MODULES_DIR)/kernel/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
325 $(MODULES_DIR)/kernel/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
326 KCONFIG:=$(CONFIG_NE2K-PCI)
327 DEPENDS:=@LINUX_2_6_X86
328 SUBMENU:=$(NDMENU)
329 AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
330 endef
331 $(eval $(call KernelPackage,ne2k-pci))
332
333 define KernelPackage/ixp4xx-npe
334 TITLE:=Intel(R) IXP4xx ethernet support
335 DESCRIPTION:=\
336 Kernel modules for Intel(R) IXP4xx onboard ethernet.
337 FILES:=$(MODULES_DIR)/kernel/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
338 $(MODULES_DIR)/kernel/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
339 $(MODULES_DIR)/kernel/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
340 KCONFIG:=$(CONFIG_IXP4XX_MAC)
341 DEPENDS:=@LINUX_2_6_IXP4XX
342 SUBMENU:=$(NDMENU)
343 AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
344 endef
345 $(eval $(call KernelPackage,ixp4xx-npe))
346
347 define KernelPackage/e100
348 TITLE:=Intel(R) PRO/100+ cards kernel support
349 DESCRIPTION:=\
350 Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
351 FILES:=$(MODULES_DIR)/kernel/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
352 KCONFIG:=$(CONFIG_E100)
353 DEPENDS:=@LINUX_2_6_X86
354 SUBMENU:=$(NDMENU)
355 AUTOLOAD:=$(call AutoLoad,50,e100)
356 endef
357 $(eval $(call KernelPackage,e100))
358
359 define KernelPackage/e1000
360 TITLE:=Intel(R) PRO/1000 cards kernel support
361 DESCRIPTION:=\
362 Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
363 FILES:=$(MODULES_DIR)/kernel/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
364 KCONFIG:=$(CONFIG_E1000)
365 DEPENDS:=@LINUX_2_6_X86
366 SUBMENU:=$(NDMENU)
367 endef
368 $(eval $(call KernelPackage,e1000))
369
370 define KernelPackage/3c59x
371 TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
372 DESCRIPTION:=\
373 This option enables driver support for a large number of 10mbps and \\\
374 10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
375 - "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
376 - "Boomerang" (EtherLink XL 3c900 or 3c905) PCI \\\
377 - "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus \\\
378 - "Tornado" (3c905) PCI \\\
379 - "Hurricane" (3c555/3cSOHO) PCI
380 FILES:=$(MODULES_DIR)/kernel/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
381 KCONFIG:=$(CONFIG_3C59X)
382 DEPENDS:=@LINUX_2_6_X86
383 SUBMENU:=$(NDMENU)
384 AUTOLOAD:=$(call AutoLoad,50,3c59x)
385 endef
386 $(eval $(call KernelPackage,3c59x))