9a3f03f69ab1827e431e6c1d5dd8b6d05c98bf5a
[lede.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     $(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
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:=$(LINUX_DIR)/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:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
60   AUTOLOAD:=$(call AutoLoad,30,ipip)
61 endef
62
63 define KernelPackage/ipip/2.6
64   FILES:= \
65         $(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
66         $(LINUX_DIR)/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         $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
83         $(LINUX_DIR)/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         $(LINUX_DIR)/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         - tunnel6
115   SUBMENU:=$(NSMENU)
116   KCONFIG:=CONFIG_INET6_AH
117   DEPENDS:=kmod-ipsec
118   FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_tunnel tunnel6, \
119         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
120   )
121 endef
122 $(eval $(call KernelPackage,ipsec6))
123
124
125 define KernelPackage/ipv6
126   TITLE:=IPv6 support
127   DESCRIPTION:=\
128         Kernel modules for IPv6 support
129   KCONFIG:=CONFIG_IPV6
130   SUBMENU:=$(NSMENU)
131   AUTOLOAD:=$(call AutoLoad,20,ipv6)
132 endef
133 define KernelPackage/ipv6/2.4
134   FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
135 endef
136 define KernelPackage/ipv6/2.6
137   FILES:= \
138         $(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX) \
139         $(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
140 endef
141 $(eval $(call KernelPackage,ipv6))
142
143
144 define KernelPackage/gre
145   TITLE:=GRE support
146   DESCRIPTION:=\
147         Generic Routing Encapsulation support
148   KCONFIG:=CONFIG_NET_IPGRE
149   FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
150   SUBMENU:=$(NSMENU)
151 endef
152 $(eval $(call KernelPackage,gre))
153
154
155 define KernelPackage/tun
156   TITLE:=Universal TUN/TAP driver
157   DESCRIPTION:=\
158         Kernel support for the TUN/TAP tunneling device
159   KCONFIG:=CONFIG_TUN
160   FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
161   SUBMENU:=$(NSMENU)
162   AUTOLOAD:=$(call AutoLoad,30,tun)
163 endef
164 $(eval $(call KernelPackage,tun))
165
166
167 define KernelPackage/ppp
168   TITLE:=PPP modules
169   DESCRIPTION:=\
170         Kernel modules for PPP support
171   KCONFIG:=CONFIG_PPP
172   SUBMENU:=$(NSMENU)
173 endef
174
175 define KernelPackage/ppp/2.6
176   FILES:= \
177         $(LINUX_DIR)/drivers/net/ppp_async.ko \
178         $(LINUX_DIR)/drivers/net/ppp_generic.ko \
179         $(LINUX_DIR)/drivers/net/slhc.ko \
180         $(LINUX_DIR)/lib/crc-ccitt.ko
181   AUTOLOAD:=$(call AutoLoad,30,crc-ccitt slhc ppp_generic ppp_async)
182 endef
183
184 define KernelPackage/ppp/2.4
185   FILES:= \
186         $(LINUX_DIR)/drivers/net/ppp_async.o \
187         $(LINUX_DIR)/drivers/net/ppp_generic.o \
188         $(LINUX_DIR)/drivers/net/slhc.o
189   AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
190 endef
191 $(eval $(call KernelPackage,ppp))
192
193
194 define KernelPackage/pppoe
195   TITLE:=PPPoE support
196   DESCRIPTION:=\
197         Kernel modules for PPPoE (PPP over Ethernet) support
198   DEPENDS:=kmod-ppp
199   KCONFIG:=CONFIG_PPPOE
200   FILES:= \
201         $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
202         $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
203   SUBMENU:=$(NSMENU)
204 endef
205 $(eval $(call KernelPackage,pppoe))
206
207
208 define KernelPackage/pppoa
209   TITLE:=PPPoA support
210   DESCRIPTION:=\
211         Kernel modules for PPPoA (PPP over ATM) support
212   DEPENDS:=kmod-ppp
213   KCONFIG:=CONFIG_PPPOATM
214   FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
215   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
216   SUBMENU:=$(NSMENU)
217 endef
218 $(eval $(call KernelPackage,pppoa))
219
220
221 define KernelPackage/mppe
222   TITLE:=Microsoft PPP compression/encryption
223   DESCRIPTION:=Kernel modules for Microsoft PPP compression/encryption
224   DEPENDS:=kmod-ppp
225   KCONFIG:=CONFIG_PPP_MPPE_MPPC CONFIG_PPP_MPPE
226   SUBMENU:=$(NSMENU)
227 endef
228
229 define KernelPackage/mppe/2.4
230   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
231   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
232 endef
233
234 define KernelPackage/mppe/2.6
235   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
236   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
237 endef
238 $(eval $(call KernelPackage,mppe))
239
240
241 define KernelPackage/sched
242   TITLE:=Traffic schedulers
243   DESCRIPTION:=\
244         Kernel schedulers for IP traffic
245   FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
246   SUBMENU:=$(NSMENU)
247 endef
248 $(eval $(call KernelPackage,sched))
249
250
251
252 define KernelPackage/ax25
253   TITLE:=AX25 support
254   DESCRIPTION:=Kernel modules for AX25 support
255   SUBMENU:=$(NSMENU)
256   KCONFIG:=CONFIG_AX25
257   FILES:= \
258         $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
259         $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
260   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
261 endef
262 $(eval $(call KernelPackage,ax25))
263
264
265 define KernelPackage/mp-alg
266   TITLE:=ECMP caching algorithms
267   DESCRIPTION:= \
268         Kernel modules that provide several different algorithms for multipath \\\
269         route selection from the route cache. The iproute "mpath" argument allows \\\
270         specifying which algorithm to use for routes. \\\
271         quagga (at least <=0.99.6) requires a multipath patch to support this \\\
272         cached mp route feature.
273   SUBMENU:=$(NSMENU)
274   KCONFIG:=CONFIG_IP_ROUTE_MULTIPATH_RR CONFIG_IP_ROUTE_MULTIPATH_RANDOM CONFIG_IP_ROUTE_MULTIPATH_WRANDOM CONFIG_IP_ROUTE_MULTIPATH_DRR
275   FILES:=$(LINUX_DIR)/net/ipv4/multipath_*.$(LINUX_KMOD_SUFFIX)
276   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
277 endef
278 $(eval $(call KernelPackage,mp-alg))
279
280
281 NDMENU:=Network Devices
282
283 define KernelPackage/natsemi
284   TITLE:=National Semiconductor DP8381x series 
285   DESCRIPTION:=\
286         Kernel modules for National Semiconductor DP8381x series PCI Ethernet \\\
287         adapters.
288   FILES:=$(LINUX_DIR)/drivers/net/natsemi.$(LINUX_KMOD_SUFFIX)
289   KCONFIG:=CONFIG_NATSEMI
290   DEPENDS:=@LINUX_2_6_X86
291   SUBMENU:=$(NDMENU)
292   AUTOLOAD:=$(call AutoLoad,20,natsemi)
293 endef
294 $(eval $(call KernelPackage,natsemi))
295
296 define KernelPackage/sis900
297   TITLE:=SiS 900 Ethernet support
298   DESCRIPTION:=\
299         Kernel modules for Sis 900 Ethernet adapters.
300   FILES:=$(LINUX_DIR)/drivers/net/sis900.$(LINUX_KMOD_SUFFIX)
301   KCONFIG:=CONFIG_SIS900
302   DEPENDS:=@LINUX_2_6_X86
303   SUBMENU:=$(NDMENU)
304   AUTOLOAD:=$(call AutoLoad,50,sis900)
305 endef
306 $(eval $(call KernelPackage,sis900))
307
308 define KernelPackage/via-rhine
309   TITLE:=Via Rhine ethernet support
310   DESCRIPTION:=\
311         Kernel modules for Via Rhine Ethernet chipsets.
312   FILES:=$(LINUX_DIR)/drivers/net/via-rhine.$(LINUX_KMOD_SUFFIX)
313   KCONFIG:=CONFIG_VIA_RHINE
314   DEPENDS:=@LINUX_2_6_X86
315   SUBMENU:=$(NDMENU)
316   AUTOLOAD:=$(call AutoLoad,50,via-rhine)
317 endef
318 $(eval $(call KernelPackage,via-rhine))
319
320 define KernelPackage/via-velocity
321   TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
322   DESCRIPTION:=\
323         Kernel modules for VIA Velocity Gigabit Ethernet chipsets.
324   FILES:=$(LINUX_DIR)/drivers/net/via-velocity.$(LINUX_KMOD_SUFFIX)
325   KCONFIG:=CONFIG_VIA_VELOCITY
326   DEPENDS:=@LINUX_2_6_IXP4XX
327   SUBMENU:=$(NDMENU)
328   AUTOLOAD:=$(call AutoLoad,50,via-velocity)
329 endef
330 $(eval $(call KernelPackage,via-velocity))
331
332 define KernelPackage/8139too
333   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
334   DESCRIPTION:=\
335         Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters.
336   FILES:=$(LINUX_DIR)/drivers/net/8139too.$(LINUX_KMOD_SUFFIX)
337   KCONFIG:=CONFIG_8139TOO
338   DEPENDS:=@LINUX_2_6_X86
339   SUBMENU:=$(NDMENU)
340   AUTOLOAD:=$(call AutoLoad,50,8139too)
341 endef
342 $(eval $(call KernelPackage,8139too))
343
344 define KernelPackage/r8169
345   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
346   DESCRIPTION:=\
347         Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters.
348   FILES:=$(LINUX_DIR)/drivers/net/r8169.$(LINUX_KMOD_SUFFIX)
349   KCONFIG:=CONFIG_R8169 CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=n
350   DEPENDS:=@LINUX_2_6_X86 
351   SUBMENU:=$(NDMENU)
352   AUTOLOAD:=$(call AutoLoad,50,r8169)
353 endef
354 $(eval $(call KernelPackage,r8169))
355
356 define KernelPackage/ne2k-pci
357   TITLE:=ne2k-pci Ethernet Adapter kernel support
358   DESCRIPTION:=\
359         ne2k-pci Ethernet Adapter kernel support.
360   FILES:=$(LINUX_DIR)/drivers/net/ne2k-pci.$(LINUX_KMOD_SUFFIX) \
361         $(LINUX_DIR)/drivers/net/8390.$(LINUX_KMOD_SUFFIX)
362   KCONFIG:=CONFIG_NE2K_PCI
363   DEPENDS:=@LINUX_2_6_X86
364   SUBMENU:=$(NDMENU)
365   AUTOLOAD:=$(call AutoLoad,50,8390 ne2k-pci)
366 endef
367 $(eval $(call KernelPackage,ne2k-pci))
368
369 define KernelPackage/ixp4xx-npe
370   TITLE:=Intel(R) IXP4xx ethernet support
371   DESCRIPTION:=\
372         Kernel modules for Intel(R) IXP4xx onboard ethernet.
373   FILES:=$(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_npe.$(LINUX_KMOD_SUFFIX) \
374         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_qmgr.$(LINUX_KMOD_SUFFIX) \
375         $(LINUX_DIR)/drivers/net/ixp4xx/ixp4xx_mac.$(LINUX_KMOD_SUFFIX)
376   KCONFIG:=CONFIG_IXP4XX_MAC
377   DEPENDS:=@LINUX_2_6_IXP4XX
378   SUBMENU:=$(NDMENU)
379   AUTOLOAD:=$(call AutoLoad,20,ixp4xx_npe ixp4xx_qmgr ixp4xx_mac)
380 endef
381 $(eval $(call KernelPackage,ixp4xx-npe))
382
383 define KernelPackage/e100
384   TITLE:=Intel(R) PRO/100+ cards kernel support
385   DESCRIPTION:=\
386         Kernel modules for Intel(R) PRO/100+ Ethernet adapters.
387   FILES:=$(LINUX_DIR)/drivers/net/e100.$(LINUX_KMOD_SUFFIX)
388   KCONFIG:=CONFIG_E100
389   DEPENDS:=@LINUX_2_6_X86
390   SUBMENU:=$(NDMENU)
391   AUTOLOAD:=$(call AutoLoad,50,e100)
392 endef
393 $(eval $(call KernelPackage,e100))
394
395 define KernelPackage/e1000
396   TITLE:=Intel(R) PRO/1000 cards kernel support
397   DESCRIPTION:=\
398         Kernel modules for Intel(R) PRO/1000 Ethernet adapters.
399   FILES:=$(LINUX_DIR)/drivers/net/e1000/e1000.$(LINUX_KMOD_SUFFIX)
400   KCONFIG:=CONFIG_E1000
401   DEPENDS:=@LINUX_2_6_X86
402   SUBMENU:=$(NDMENU)
403   AUTOLOAD:=$(call AutoLoad,50,e1000)
404 endef
405 $(eval $(call KernelPackage,e1000))
406
407 define KernelPackage/3c59x
408   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
409   DESCRIPTION:=\
410         This option enables driver support for a large number of 10mbps and \\\
411         10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: \\\
412         - "Vortex"    (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI \\\
413         - "Boomerang" (EtherLink XL 3c900 or 3c905)            PCI \\\
414         - "Cyclone"   (3c540/3c900/3c905/3c980/3c575/3c656)    PCI and Cardbus \\\
415         - "Tornado"   (3c905)                                  PCI  \\\
416         - "Hurricane" (3c555/3cSOHO)                           PCI 
417   FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
418   KCONFIG:=CONFIG_3C59X
419   DEPENDS:=@LINUX_2_6_X86
420   SUBMENU:=$(NDMENU)
421   AUTOLOAD:=$(call AutoLoad,50,3c59x)
422 endef
423 $(eval $(call KernelPackage,3c59x))