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