fix compile of iptunnel4 for the 2.4 kernel
[lede.git] / package / kernel / modules / netsupport.mk
1 #
2 # Copyright (C) 2006-2008 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 NETWORK_SUPPORT_MENU:=Network Support
10
11 define KernelPackage/atm
12   SUBMENU:=$(NETWORK_SUPPORT_MENU)
13   TITLE:=ATM support
14   DEPENDS:=@LINUX_2_6
15   KCONFIG:= \
16         CONFIG_ATM \
17         CONFIG_ATM_BR2684
18   FILES:= \
19         $(LINUX_DIR)/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
20         $(LINUX_DIR)/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
21   AUTOLOAD:=$(call AutoLoad,30,atm br2684)
22 endef
23
24 define KernelPackage/atm/description
25  Kernel modules for ATM support
26 endef
27
28 $(eval $(call KernelPackage,atm))
29
30
31 define KernelPackage/atmtcp
32   SUBMENU:=$(NETWORK_SUPPORT_MENU)
33   TITLE:=ATM over TCP
34   DEPENDS:=@LINUX_2_6 kmod-atm
35   KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
36   FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
37   AUTOLOAD:=$(call AutoLoad,40,atmtcp)
38 endef
39
40 define KernelPackage/atmtcp/description
41  Kernel module for ATM over TCP support
42 endef
43
44 $(eval $(call KernelPackage,atmtcp))
45
46
47 define KernelPackage/bonding
48   SUBMENU:=$(NETWORK_SUPPORT_MENU)
49   TITLE:=Ethernet bonding driver
50   KCONFIG:=CONFIG_BONDING
51   FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
52   AUTOLOAD:=$(call AutoLoad,40,bonding)
53 endef
54
55 define KernelPackage/bonding/description
56  Kernel module for NIC bonding.
57 endef
58
59 $(eval $(call KernelPackage,bonding))
60
61
62 define KernelPackage/capi
63   SUBMENU:=$(NETWORK_SUPPORT_MENU)
64   TITLE:=CAPI (ISDN) Support
65   DEPENDS:=@LINUX_2_6
66   KCONFIG:= \
67         CONFIG_ISDN_CAPI \
68         CONFIG_ISDN_CAPI_CAPI20 \
69         CONFIG_ISDN_CAPIFS
70   FILES:= \
71         $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.$(LINUX_KMOD_SUFFIX) \
72         $(LINUX_DIR)/drivers/isdn/capi/capi.$(LINUX_KMOD_SUFFIX) \
73         $(LINUX_DIR)/drivers/isdn/capi/capifs.$(LINUX_KMOD_SUFFIX)
74   AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi capifs)
75 endef
76
77 define KernelPackage/capi/description
78  Kernel module for basic CAPI (ISDN) support
79 endef
80
81 $(eval $(call KernelPackage,capi))
82
83 define KernelPackage/misdn
84   SUBMENU:=$(NETWORK_SUPPORT_MENU)
85   TITLE:=mISDN (ISDN) Support
86   KCONFIG:= \
87         CONFIG_ISDN=y \
88         CONFIG_MISDN \
89         CONFIG_MISDN_DSP \
90         CONFIG_MISDN_L1OIP \
91         CONFIG_ISDN_PPP=N \
92         CONFIG_ISDN_AUDIO=n \
93         CONFIG_ISDN_WITH_ABC=n \
94         CONFIG_ISDN_DRV_LOOP=n \
95         CONFIG_ISDN_DIVERSION=n \
96         CONFIG_ISDN_DRV_HISAX=n \
97         CONFIG_ISDN_DRV_ICN=n \
98         CONFIG_ISDN_DRV_PCBIT=n \
99         CONFIG_ISDN_DRV_SC=n \
100         CONFIG_ISDN_DRV_ACT2000=n \
101         CONFIG_ISDN_DRV_EICON=n \
102         CONFIG_ISDN_DRV_TPAM=n \
103         CONFIG_HYSDN=n
104   FILES:= \
105         $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.$(LINUX_KMOD_SUFFIX) \
106         $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.$(LINUX_KMOD_SUFFIX) \
107         $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.$(LINUX_KMOD_SUFFIX)
108   AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
109 endef
110
111 define KernelPackage/misdn/description
112   Modular ISDN driver support
113 endef
114
115 $(eval $(call KernelPackage,misdn))
116
117
118 define KernelPackage/ipip
119   SUBMENU:=$(NETWORK_SUPPORT_MENU)
120   TITLE:=IP-in-IP encapsulation
121   DEPENDS:=+kmod-iptunnel4
122   KCONFIG:=CONFIG_NET_IPIP
123   FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
124   AUTOLOAD:=$(call AutoLoad,30,ipip)
125 endef
126
127 define KernelPackage/ipip/description
128  Kernel modules for IP-in-IP encapsulation
129 endef
130
131 $(eval $(call KernelPackage,ipip))
132
133
134 define KernelPackage/ipsec
135   SUBMENU:=$(NETWORK_SUPPORT_MENU)
136   TITLE:=IPsec related modules (IPv4 and IPv6)
137   DEPENDS:=@LINUX_2_6 +kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
138   KCONFIG:= \
139         CONFIG_NET_KEY \
140         CONFIG_XFRM_USER
141   FILES:= \
142         $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
143         $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
144 endef
145
146 define KernelPackage/ipsec/description
147  Kernel modules for IPsec support in both IPv4 and IPv6.
148  Includes:
149  - af_key
150  - xfrm_user
151 endef
152
153 $(eval $(call KernelPackage,ipsec))
154
155
156 define KernelPackage/ipsec4
157   SUBMENU:=$(NETWORK_SUPPORT_MENU)
158   TITLE:=IPsec related modules (IPv4)
159   DEPENDS:=kmod-ipsec +kmod-iptunnel4
160   KCONFIG:= \
161         CONFIG_INET_AH \
162         CONFIG_INET_ESP \
163         CONFIG_INET_IPCOMP \
164         CONFIG_INET_XFRM_MODE_BEET \
165         CONFIG_INET_XFRM_MODE_TRANSPORT \
166         CONFIG_INET_XFRM_MODE_TUNNEL \
167         CONFIG_INET_XFRM_TUNNEL
168   FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
169         $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
170   )
171 endef
172
173 define KernelPackage/ipsec4/description
174  Kernel modules for IPsec support in IPv4.
175  Includes:
176  - ah4
177  - esp4
178  - ipcomp
179  - xfrm4_mode_beet
180  - xfrm4_mode_transport
181  - xfrm4_mode_tunnel
182  - xfrm4_tunnel
183 endef
184
185 $(eval $(call KernelPackage,ipsec4))
186
187
188 define KernelPackage/ipsec6
189   SUBMENU:=$(NETWORK_SUPPORT_MENU)
190   TITLE:=IPsec related modules (IPv6)
191   DEPENDS:=kmod-ipsec +kmod-iptunnel6
192   KCONFIG:= \
193         CONFIG_INET6_AH \
194         CONFIG_INET6_ESP \
195         CONFIG_INET6_IPCOMP \
196         CONFIG_INET6_XFRM_MODE_BEET \
197         CONFIG_INET6_XFRM_MODE_TRANSPORT \
198         CONFIG_INET6_XFRM_MODE_TUNNEL \
199         CONFIG_INET6_XFRM_TUNNEL
200   FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
201         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
202   )
203 endef
204
205 define KernelPackage/ipsec6/description
206  Kernel modules for IPsec support in IPv6.
207  Includes:
208  - ah6
209  - esp6
210  - ipcomp6
211  - xfrm6_mode_beet
212  - xfrm6_mode_transport
213  - xfrm6_mode_tunnel
214  - xfrm6_tunnel
215 endef
216
217 $(eval $(call KernelPackage,ipsec6))
218
219 define KernelPackage/iptunnel4
220   TITLE:=IP in IP encapsulation support
221   KCONFIG:=$(CONFIG_NET_IPIP)
222   SUBMENU:=$(NSMENU)
223 endef
224
225 define KernelPackage/iptunnel4/2.4
226   FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
227   AUTOLOAD:=$(call AutoLoad,30,ipip)
228 endef
229
230 define KernelPackage/iptunnel4/2.6
231   FILES:= \
232         $(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX) \
233         $(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
234   AUTOLOAD:=$(call AutoLoad,30,ipip tunnel4)
235 endef
236
237 define KernelPackage/iptunnel4/description
238  Kernel modules for IPv4 tunneling
239 endef
240
241 $(eval $(call KernelPackage,iptunnel4))
242
243 define KernelPackage/iptunnel6
244   SUBMENU:=$(NETWORK_SUPPORT_MENU)
245   TITLE:=IPv6 tunneling
246   DEPENDS:= @LINUX_2_6 +kmod-ipv6
247   KCONFIG:= \
248         CONFIG_INET6_TUNNEL
249   FILES:= $(foreach mod,tunnel6, \
250         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
251   )
252   AUTOLOAD:=$(call AutoLoad,31,tunnel6)
253 endef
254
255 define KernelPackage/iptunnel6/description
256  Kernel modules for IPv6 tunneling
257 endef
258
259 $(eval $(call KernelPackage,iptunnel6))
260
261
262 define KernelPackage/ipv6
263   SUBMENU:=$(NETWORK_SUPPORT_MENU)
264   TITLE:=IPv6 support
265   KCONFIG:= \
266         CONFIG_IPV6 \
267         CONFIG_IPV6_PRIVACY=y \
268         CONFIG_IPV6_MULTIPLE_TABLES=y \
269         CONFIG_IPV6_SUBTREES=y
270   FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
271   AUTOLOAD:=$(call AutoLoad,20,ipv6)
272 endef
273
274 define KernelPackage/ipv6/description
275  Kernel modules for IPv6 support
276 endef
277
278 $(eval $(call KernelPackage,ipv6))
279
280
281 define KernelPackage/sit
282   SUBMENU:=$(NETWORK_SUPPORT_MENU)
283   DEPENDS:=+kmod-iptunnel4
284   TITLE:=IPv6-in-IPv4 tunnelling
285 endef
286
287 # sit is compiled in the 2.4 ipv6 stack
288 define KernelPackage/sit/2.4
289   DEPENDS:= @LINUX_2_4 +kmod-ipv6
290   KCONFIG:=CONFIG_IPV6
291 endef
292
293 define KernelPackage/sit/2.6
294   DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel4
295   KCONFIG+=CONFIG_IPV6_SIT
296   FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
297   AUTOLOAD:=$(call AutoLoad,32,sit)
298 endef
299
300 define KernelPackage/sit/description
301  Kernel modules for IPv6-in-IPv4 tunnelling
302 endef
303
304 $(eval $(call KernelPackage,sit))
305
306
307 define KernelPackage/ip6-tunnel
308   SUBMENU:=$(NETWORK_SUPPORT_MENU)
309   TITLE:=IP-in-IPv6 tunnelling
310   DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel6
311   KCONFIG:= CONFIG_IPV6_TUNNEL
312   FILES:= $(foreach mod,ip6_tunnel, \
313         $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
314   )
315   AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
316 endef
317
318 define KernelPackage/ip6-tunnel/description
319  Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
320 endef
321
322 $(eval $(call KernelPackage,ip6-tunnel))
323
324
325 define KernelPackage/gre
326   SUBMENU:=$(NETWORK_SUPPORT_MENU)
327   TITLE:=GRE support
328   KCONFIG:=CONFIG_NET_IPGRE
329   FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
330 endef
331
332 define KernelPackage/gre/description
333  Generic Routing Encapsulation support
334 endef
335
336 $(eval $(call KernelPackage,gre))
337
338
339 define KernelPackage/tun
340   SUBMENU:=$(NETWORK_SUPPORT_MENU)
341   TITLE:=Universal TUN/TAP driver
342   KCONFIG:=CONFIG_TUN
343   FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
344   AUTOLOAD:=$(call AutoLoad,30,tun)
345 endef
346
347 define KernelPackage/tun/description
348  Kernel support for the TUN/TAP tunneling device
349 endef
350
351 $(eval $(call KernelPackage,tun))
352
353
354 define KernelPackage/ppp
355   SUBMENU:=$(NETWORK_SUPPORT_MENU)
356   TITLE:=PPP modules
357   DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
358   KCONFIG:= \
359         CONFIG_PPP \
360         CONFIG_PPP_ASYNC \
361         CONFIG_SLHC
362   FILES:= \
363         $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
364         $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
365         $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
366   AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
367 endef
368
369 define KernelPackage/ppp/description
370  Kernel modules for PPP support
371 endef
372
373 $(eval $(call KernelPackage,ppp))
374
375
376 define KernelPackage/ppp-synctty
377   SUBMENU:=$(NETWORK_SUPPORT_MENU)
378   TITLE:=PPP sync tty support
379   DEPENDS:=kmod-ppp
380   KCONFIG:=CONFIG_PPP_SYNC_TTY
381   FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
382   AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
383 endef
384
385 define KernelPackage/ppp-synctty/description
386  Kernel modules for PPP sync tty support
387 endef
388
389 $(eval $(call KernelPackage,ppp-synctty))
390
391
392 define KernelPackage/pppoe
393   SUBMENU:=$(NETWORK_SUPPORT_MENU)
394   TITLE:=PPPoE support
395   DEPENDS:=kmod-ppp
396   KCONFIG:=CONFIG_PPPOE
397   FILES:= \
398         $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
399         $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
400 endef
401
402 define KernelPackage/pppoe/description
403  Kernel modules for PPPoE (PPP over Ethernet) support
404 endef
405
406 $(eval $(call KernelPackage,pppoe))
407
408
409 define KernelPackage/pppoa
410   SUBMENU:=$(NETWORK_SUPPORT_MENU)
411   TITLE:=PPPoA support
412   DEPENDS:=kmod-ppp +kmod-atm
413   KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
414   FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
415   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
416 endef
417
418 define KernelPackage/pppoa/description
419  Kernel modules for PPPoA (PPP over ATM) support
420 endef
421
422 $(eval $(call KernelPackage,pppoa))
423
424
425 define KernelPackage/ipoa
426   SUBMENU:=$(NETWORK_SUPPORT_MENU)
427   TITLE:=IPoA support
428   DEPENDS:=kmod-atm
429   KCONFIG:=CONFIG_ATM_CLIP
430   FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
431   AUTOLOAD:=$(call AutoLoad,40,clip)
432 endef
433
434 define KernelPackage/ipoa/description
435   Kernel modules for IPoA (IP over ATM) support
436 endef
437
438 $(eval $(call KernelPackage,ipoa))
439
440
441 define KernelPackage/mppe
442   SUBMENU:=$(NETWORK_SUPPORT_MENU)
443   TITLE:=Microsoft PPP compression/encryption
444   DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1
445   KCONFIG:= \
446         CONFIG_PPP_MPPE_MPPC \
447         CONFIG_PPP_MPPE
448 endef
449
450 define KernelPackage/mppe/2.4
451 #  KCONFIG:=CONFIG_PPP_MPPE_MPPC
452   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
453   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
454 endef
455
456 define KernelPackage/mppe/2.6
457 #  KCONFIG:=CONFIG_PPP_MPPE
458   FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
459   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
460 endef
461
462 define KernelPackage/mppe/description
463  Kernel modules for Microsoft PPP compression/encryption
464 endef
465
466 $(eval $(call KernelPackage,mppe))
467
468
469 define KernelPackage/sched
470   SUBMENU:=$(NETWORK_SUPPORT_MENU)
471   TITLE:=Traffic schedulers
472   KCONFIG:= \
473         CONFIG_NET_SCHED=y \
474         CONFIG_NET_SCH_DSMARK \
475         CONFIG_NET_SCH_ESFQ \
476         CONFIG_NET_SCH_FIFO \
477         CONFIG_NET_SCH_GRED \
478         CONFIG_NET_SCH_HFSC \
479         CONFIG_NET_SCH_HTB \
480         CONFIG_NET_SCH_INGRESS \
481         CONFIG_NET_SCH_PRIO \
482         CONFIG_NET_SCH_RED \
483         CONFIG_NET_SCH_SFQ \
484         CONFIG_NET_SCH_TBF \
485         CONFIG_NET_SCH_TEQL
486   FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
487 endef
488
489 define KernelPackage/sched/description
490  Kernel schedulers for IP traffic
491 endef
492
493 $(eval $(call KernelPackage,sched))
494
495
496 define KernelPackage/ax25
497   SUBMENU:=$(NETWORK_SUPPORT_MENU)
498   TITLE:=AX25 support
499   KCONFIG:= \
500         CONFIG_AX25 \
501         CONFIG_MKISS
502   FILES:= \
503         $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
504         $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
505   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
506 endef
507
508 define KernelPackage/ax25/description
509  Kernel modules for AX25 support
510 endef
511
512 $(eval $(call KernelPackage,ax25))
513
514
515 define KernelPackage/mp-alg
516   SUBMENU:=$(NETWORK_SUPPORT_MENU)
517   TITLE:=ECMP caching algorithms
518   DEPENDS:=@LINUX_2_6
519   KCONFIG:= \
520         CONFIG_IP_ROUTE_MULTIPATH_RR \
521         CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
522         CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
523         CONFIG_IP_ROUTE_MULTIPATH_DRR
524   FILES:= \
525         $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
526         $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
527         $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
528         $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
529   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
530 endef
531
532 define KernelPackage/mp-alg/description
533  Kernel modules that provide several different algorithms for multipath
534  route selection from the route cache. The iproute "mpath" argument allows
535  specifying which algorithm to use for routes.
536  quagga (at least <=0.99.6) requires a multipath patch to support this
537  cached mp route feature.
538 endef
539
540 $(eval $(call KernelPackage,mp-alg))
541
542
543 define KernelPackage/pktgen
544   SUBMENU:=$(NETWORK_SUPPORT_MENU)
545   TITLE:=Network packet generator
546   DEPENDS:=@LINUX_2_6
547   KCONFIG:=CONFIG_NET_PKTGEN
548   FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
549   AUTOLOAD:=$(call AutoLoad,99,pktgen)
550 endef
551
552 define KernelPackage/pktgen/description
553   Kernel modules for the Network Packet Generator
554 endef
555
556 $(eval $(call KernelPackage,pktgen))
557