kernel: make kmod-sched depend on kmod-ipt-core
[openwrt/openwrt.git] / package / kernel / linux / modules / netsupport.mk
1 #
2 # Copyright (C) 2006-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 NETWORK_SUPPORT_MENU:=Network Support
9
10 define KernelPackage/atm
11 SUBMENU:=$(NETWORK_SUPPORT_MENU)
12 TITLE:=ATM support
13 KCONFIG:= \
14 CONFIG_ATM \
15 CONFIG_ATM_BR2684
16 FILES:= \
17 $(LINUX_DIR)/net/atm/atm.ko \
18 $(LINUX_DIR)/net/atm/br2684.ko
19 AUTOLOAD:=$(call AutoLoad,30,atm br2684)
20 endef
21
22 define KernelPackage/atm/description
23 Kernel modules for ATM support
24 endef
25
26 $(eval $(call KernelPackage,atm))
27
28
29 define KernelPackage/atmtcp
30 SUBMENU:=$(NETWORK_SUPPORT_MENU)
31 TITLE:=ATM over TCP
32 DEPENDS:=kmod-atm
33 KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
34 FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.ko
35 AUTOLOAD:=$(call AutoLoad,40,atmtcp)
36 endef
37
38 define KernelPackage/atmtcp/description
39 Kernel module for ATM over TCP support
40 endef
41
42 $(eval $(call KernelPackage,atmtcp))
43
44
45 define KernelPackage/appletalk
46 SUBMENU:=$(NETWORK_SUPPORT_MENU)
47 TITLE:=Appletalk protocol support
48 KCONFIG:= \
49 CONFIG_ATALK \
50 CONFIG_DEV_APPLETALK \
51 CONFIG_IPDDP \
52 CONFIG_IPDDP_ENCAP=y \
53 CONFIG_IPDDP_DECAP=y
54 FILES:= \
55 $(LINUX_DIR)/net/appletalk/appletalk.ko \
56 $(LINUX_DIR)/drivers/net/appletalk/ipddp.ko
57 AUTOLOAD:=$(call AutoLoad,40,appletalk ipddp)
58 endef
59
60 define KernelPackage/appletalk/description
61 Kernel module for AppleTalk protocol.
62 endef
63
64 $(eval $(call KernelPackage,appletalk))
65
66
67 define KernelPackage/bonding
68 SUBMENU:=$(NETWORK_SUPPORT_MENU)
69 TITLE:=Ethernet bonding driver
70 KCONFIG:=CONFIG_BONDING
71 FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
72 AUTOLOAD:=$(call AutoLoad,40,bonding)
73 endef
74
75 define KernelPackage/bonding/description
76 Kernel module for NIC bonding.
77 endef
78
79 $(eval $(call KernelPackage,bonding))
80
81
82 define KernelPackage/bridge
83 SUBMENU:=$(NETWORK_SUPPORT_MENU)
84 TITLE:=Ethernet bridging support
85 DEPENDS:=+kmod-stp
86 KCONFIG:= \
87 CONFIG_BRIDGE \
88 CONFIG_BRIDGE_IGMP_SNOOPING=y
89 FILES:=$(LINUX_DIR)/net/bridge/bridge.ko
90 AUTOLOAD:=$(call AutoLoad,11,bridge)
91 endef
92
93 define KernelPackage/bridge/description
94 Kernel module for Ethernet bridging.
95 endef
96
97 $(eval $(call KernelPackage,bridge))
98
99 define KernelPackage/llc
100 SUBMENU:=$(NETWORK_SUPPORT_MENU)
101 TITLE:=ANSI/IEEE 802.2 LLC support
102 KCONFIG:=CONFIG_LLC
103 FILES:=$(LINUX_DIR)/net/llc/llc.ko
104 AUTOLOAD:=$(call AutoLoad,09,llc)
105 endef
106
107 define KernelPackage/llc/description
108 Kernel module for ANSI/IEEE 802.2 LLC support.
109 endef
110
111 $(eval $(call KernelPackage,llc))
112
113 define KernelPackage/stp
114 SUBMENU:=$(NETWORK_SUPPORT_MENU)
115 TITLE:=Ethernet Spanning Tree Protocol support
116 DEPENDS:=+kmod-llc
117 KCONFIG:=CONFIG_STP
118 FILES:=$(LINUX_DIR)/net/802/stp.ko
119 AUTOLOAD:=$(call AutoLoad,10,stp)
120 endef
121
122 define KernelPackage/stp/description
123 Kernel module for Ethernet Spanning Tree Protocol support.
124 endef
125
126 $(eval $(call KernelPackage,stp))
127
128 define KernelPackage/8021q
129 SUBMENU:=$(NETWORK_SUPPORT_MENU)
130 TITLE:=802.1Q VLAN support
131 KCONFIG:=CONFIG_VLAN_8021Q \
132 CONFIG_VLAN_8021Q_GVRP=n
133 FILES:=$(LINUX_DIR)/net/8021q/8021q.ko
134 AUTOLOAD:=$(call AutoLoad,12,8021q)
135 endef
136
137 define KernelPackage/8021q/description
138 Kernel module for 802.1Q VLAN support
139 endef
140
141 $(eval $(call KernelPackage,8021q))
142
143
144 define KernelPackage/capi
145 SUBMENU:=$(NETWORK_SUPPORT_MENU)
146 TITLE:=CAPI (ISDN) Support
147 KCONFIG:= \
148 CONFIG_ISDN_CAPI \
149 CONFIG_ISDN_CAPI_CAPI20 \
150 CONFIG_ISDN_CAPIFS \
151 CONFIG_ISDN_CAPI_CAPIFS
152 FILES:= \
153 $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
154 $(LINUX_DIR)/drivers/isdn/capi/capi.ko
155 AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
156 endef
157
158 define KernelPackage/capi/description
159 Kernel module for basic CAPI (ISDN) support
160 endef
161
162 $(eval $(call KernelPackage,capi))
163
164 define KernelPackage/misdn
165 SUBMENU:=$(NETWORK_SUPPORT_MENU)
166 TITLE:=mISDN (ISDN) Support
167 KCONFIG:= \
168 CONFIG_ISDN=y \
169 CONFIG_MISDN \
170 CONFIG_MISDN_DSP \
171 CONFIG_MISDN_L1OIP
172 FILES:= \
173 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
174 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
175 $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
176 AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
177 endef
178
179 define KernelPackage/misdn/description
180 Modular ISDN driver support
181 endef
182
183 $(eval $(call KernelPackage,misdn))
184
185
186 define KernelPackage/isdn4linux
187 SUBMENU:=$(NETWORK_SUPPORT_MENU)
188 TITLE:=Old ISDN4Linux (deprecated)
189 DEPENDS:=+kmod-ppp
190 KCONFIG:= \
191 CONFIG_ISDN=y \
192 CONFIG_ISDN_I4L \
193 CONFIG_ISDN_PPP=y \
194 CONFIG_ISDN_PPP_VJ=y \
195 CONFIG_ISDN_MPP=y \
196 CONFIG_IPPP_FILTER=y \
197 CONFIG_ISDN_PPP_BSDCOMP \
198 CONFIG_ISDN_CAPI_MIDDLEWARE=y \
199 CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
200 CONFIG_ISDN_AUDIO=y \
201 CONFIG_ISDN_TTY_FAX=y \
202 CONFIG_ISDN_X25=y \
203 CONFIG_ISDN_DIVERSION
204 FILES:= \
205 $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \
206 $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \
207 $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko
208 AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
209 endef
210
211 define KernelPackage/isdn4linux/description
212 This driver allows you to use an ISDN adapter for networking
213 endef
214
215 $(eval $(call KernelPackage,isdn4linux))
216
217
218 define KernelPackage/ipip
219 SUBMENU:=$(NETWORK_SUPPORT_MENU)
220 TITLE:=IP-in-IP encapsulation
221 DEPENDS:=+kmod-iptunnel +kmod-iptunnel4
222 KCONFIG:=CONFIG_NET_IPIP
223 FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
224 AUTOLOAD:=$(call AutoLoad,32,ipip)
225 endef
226
227 define KernelPackage/ipip/description
228 Kernel modules for IP-in-IP encapsulation
229 endef
230
231 $(eval $(call KernelPackage,ipip))
232
233
234 IPSEC-m:= \
235 $(if $(CONFIG_LINUX_3_3),,xfrm/xfrm_algo) \
236 xfrm/xfrm_ipcomp \
237 xfrm/xfrm_user \
238 key/af_key \
239
240 define KernelPackage/ipsec
241 SUBMENU:=$(NETWORK_SUPPORT_MENU)
242 TITLE:=IPsec related modules (IPv4 and IPv6)
243 DEPENDS:=+kmod-crypto-authenc +kmod-crypto-iv +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1 +kmod-crypto-deflate +kmod-crypto-cbc
244 KCONFIG:= \
245 CONFIG_NET_KEY \
246 CONFIG_XFRM_USER \
247 CONFIG_INET_IPCOMP \
248 CONFIG_XFRM_IPCOMP
249 FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
250 AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
251 endef
252
253 define KernelPackage/ipsec/description
254 Kernel modules for IPsec support in both IPv4 and IPv6.
255 Includes:
256 - af_key
257 - xfrm_ipcomp
258 - xfrm_user
259 endef
260
261 $(eval $(call KernelPackage,ipsec))
262
263
264 IPSEC4-m:= \
265 ipv4/ah4 \
266 ipv4/esp4 \
267 ipv4/xfrm4_mode_beet \
268 ipv4/xfrm4_mode_transport \
269 ipv4/xfrm4_mode_tunnel \
270 ipv4/xfrm4_tunnel \
271 ipv4/ipcomp \
272
273 define KernelPackage/ipsec4
274 SUBMENU:=$(NETWORK_SUPPORT_MENU)
275 TITLE:=IPsec related modules (IPv4)
276 DEPENDS:=kmod-ipsec +kmod-iptunnel4
277 KCONFIG:= \
278 CONFIG_INET_AH \
279 CONFIG_INET_ESP \
280 CONFIG_INET_IPCOMP \
281 CONFIG_INET_XFRM_MODE_BEET \
282 CONFIG_INET_XFRM_MODE_TRANSPORT \
283 CONFIG_INET_XFRM_MODE_TUNNEL \
284 CONFIG_INET_XFRM_TUNNEL
285 FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
286 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
287 endef
288
289 define KernelPackage/ipsec4/description
290 Kernel modules for IPsec support in IPv4.
291 Includes:
292 - ah4
293 - esp4
294 - ipcomp4
295 - xfrm4_mode_beet
296 - xfrm4_mode_transport
297 - xfrm4_mode_tunnel
298 - xfrm4_tunnel
299 endef
300
301 $(eval $(call KernelPackage,ipsec4))
302
303
304 IPSEC6-m:= \
305 ipv6/ah6 \
306 ipv6/esp6 \
307 ipv6/xfrm6_mode_beet \
308 ipv6/xfrm6_mode_transport \
309 ipv6/xfrm6_mode_tunnel \
310 ipv6/xfrm6_tunnel \
311 ipv6/ipcomp6 \
312
313 define KernelPackage/ipsec6
314 SUBMENU:=$(NETWORK_SUPPORT_MENU)
315 TITLE:=IPsec related modules (IPv6)
316 DEPENDS:=kmod-ipsec +kmod-iptunnel6
317 KCONFIG:= \
318 CONFIG_INET6_AH \
319 CONFIG_INET6_ESP \
320 CONFIG_INET6_IPCOMP \
321 CONFIG_INET6_XFRM_MODE_BEET \
322 CONFIG_INET6_XFRM_MODE_TRANSPORT \
323 CONFIG_INET6_XFRM_MODE_TUNNEL \
324 CONFIG_INET6_XFRM_TUNNEL
325 FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
326 AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
327 endef
328
329 define KernelPackage/ipsec6/description
330 Kernel modules for IPsec support in IPv6.
331 Includes:
332 - ah6
333 - esp6
334 - ipcomp6
335 - xfrm6_mode_beet
336 - xfrm6_mode_transport
337 - xfrm6_mode_tunnel
338 - xfrm6_tunnel
339 endef
340
341 $(eval $(call KernelPackage,ipsec6))
342
343
344 define KernelPackage/iptunnel
345 SUBMENU:=$(NETWORK_SUPPORT_MENU)
346 TITLE:=IP tunnel support
347 HIDDEN:=1
348 KCONFIG:= \
349 CONFIG_NET_IP_TUNNEL
350 FILES:=$(LINUX_DIR)/net/ipv4/ip_tunnel.ko
351 AUTOLOAD:=$(call AutoLoad,31,ip_tunnel)
352 endef
353
354 define KernelPackage/iptunnel/description
355 Kernel module for generic IP tunnel support
356 endef
357
358 $(eval $(call KernelPackage,iptunnel))
359
360
361 define KernelPackage/iptunnel4
362 SUBMENU:=$(NETWORK_SUPPORT_MENU)
363 TITLE:=IPv4 tunneling
364 HIDDEN:=1
365 KCONFIG:= \
366 CONFIG_INET_TUNNEL
367 FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
368 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
369 endef
370
371 define KernelPackage/iptunnel4/description
372 Kernel modules for IPv4 tunneling
373 endef
374
375 $(eval $(call KernelPackage,iptunnel4))
376
377
378 define KernelPackage/iptunnel6
379 SUBMENU:=$(NETWORK_SUPPORT_MENU)
380 TITLE:=IPv6 tunneling
381 DEPENDS:= +kmod-ipv6
382 KCONFIG:= \
383 CONFIG_INET6_TUNNEL
384 FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
385 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
386 endef
387
388 define KernelPackage/iptunnel6/description
389 Kernel modules for IPv6 tunneling
390 endef
391
392 $(eval $(call KernelPackage,iptunnel6))
393
394
395 define KernelPackage/ipv6
396 SUBMENU:=$(NETWORK_SUPPORT_MENU)
397 TITLE:=IPv6 support
398 KCONFIG:= \
399 CONFIG_IPV6 \
400 CONFIG_IPV6_PRIVACY=y \
401 CONFIG_IPV6_MULTIPLE_TABLES=y \
402 CONFIG_IPV6_MROUTE=y \
403 CONFIG_IPV6_PIMSM_V2=n \
404 CONFIG_IPV6_SUBTREES=y
405 FILES:=$(LINUX_DIR)/net/ipv6/ipv6.ko
406 AUTOLOAD:=$(call AutoLoad,20,ipv6)
407 endef
408
409 define KernelPackage/ipv6/description
410 Kernel modules for IPv6 support
411 endef
412
413 $(eval $(call KernelPackage,ipv6))
414
415
416 define KernelPackage/sit
417 SUBMENU:=$(NETWORK_SUPPORT_MENU)
418 DEPENDS:=+kmod-ipv6 +kmod-iptunnel +kmod-iptunnel4
419 TITLE:=IPv6-in-IPv4 tunnel
420 KCONFIG:=CONFIG_IPV6_SIT \
421 CONFIG_IPV6_SIT_6RD=y
422 FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
423 AUTOLOAD:=$(call AutoLoad,32,sit)
424 endef
425
426 define KernelPackage/sit/description
427 Kernel modules for IPv6-in-IPv4 tunnelling
428 endef
429
430 $(eval $(call KernelPackage,sit))
431
432
433 define KernelPackage/ip6-tunnel
434 SUBMENU:=$(NETWORK_SUPPORT_MENU)
435 TITLE:=IP-in-IPv6 tunnelling
436 DEPENDS:= +kmod-ipv6 +kmod-iptunnel6
437 KCONFIG:= CONFIG_IPV6_TUNNEL
438 FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
439 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
440 endef
441
442 define KernelPackage/ip6-tunnel/description
443 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
444 endef
445
446 $(eval $(call KernelPackage,ip6-tunnel))
447
448
449 define KernelPackage/gre
450 SUBMENU:=$(NETWORK_SUPPORT_MENU)
451 TITLE:=GRE support
452 DEPENDS:=+PACKAGE_kmod-ipv6:kmod-ipv6 +kmod-iptunnel
453 KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
454 FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
455 AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
456 endef
457
458 define KernelPackage/gre/description
459 Generic Routing Encapsulation support
460 endef
461
462 $(eval $(call KernelPackage,gre))
463
464
465 define KernelPackage/gre6
466 SUBMENU:=$(NETWORK_SUPPORT_MENU)
467 TITLE:=GRE support over IPV6
468 DEPENDS:=+kmod-ipv6 +kmod-iptunnel +kmod-ip6-tunnel @!LINUX_3_3 @!LINUX_3_6
469 KCONFIG:=CONFIG_IPV6_GRE
470 FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko
471 AUTOLOAD:=$(call AutoLoad,39,ip6_gre)
472 endef
473
474 define KernelPackage/gre6/description
475 Generic Routing Encapsulation support over IPv6
476 endef
477
478 $(eval $(call KernelPackage,gre6))
479
480
481 define KernelPackage/tun
482 SUBMENU:=$(NETWORK_SUPPORT_MENU)
483 TITLE:=Universal TUN/TAP driver
484 KCONFIG:=CONFIG_TUN
485 FILES:=$(LINUX_DIR)/drivers/net/tun.ko
486 AUTOLOAD:=$(call AutoLoad,30,tun)
487 endef
488
489 define KernelPackage/tun/description
490 Kernel support for the TUN/TAP tunneling device
491 endef
492
493 $(eval $(call KernelPackage,tun))
494
495
496 define KernelPackage/veth
497 SUBMENU:=$(NETWORK_SUPPORT_MENU)
498 TITLE:=Virtual ethernet pair device
499 KCONFIG:=CONFIG_VETH
500 FILES:=$(LINUX_DIR)/drivers/net/veth.ko
501 AUTOLOAD:=$(call AutoLoad,30,veth)
502 endef
503
504 define KernelPackage/veth/description
505 This device is a local ethernet tunnel. Devices are created in pairs.
506 When one end receives the packet it appears on its pair and vice
507 versa.
508 endef
509
510 $(eval $(call KernelPackage,veth))
511
512
513 define KernelPackage/ppp
514 SUBMENU:=$(NETWORK_SUPPORT_MENU)
515 TITLE:=PPP modules
516 DEPENDS:=+kmod-lib-crc-ccitt
517 KCONFIG:= \
518 CONFIG_PPP \
519 CONFIG_PPP_ASYNC \
520 CONFIG_SLHC
521 FILES:= \
522 $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
523 $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko \
524 $(LINUX_DIR)/drivers/net/slip/slhc.ko
525 AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
526 endef
527
528 define KernelPackage/ppp/description
529 Kernel modules for PPP support
530 endef
531
532 $(eval $(call KernelPackage,ppp))
533
534
535 define KernelPackage/ppp-synctty
536 SUBMENU:=$(NETWORK_SUPPORT_MENU)
537 TITLE:=PPP sync tty support
538 DEPENDS:=kmod-ppp
539 KCONFIG:=CONFIG_PPP_SYNC_TTY
540 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
541 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
542 endef
543
544 define KernelPackage/ppp-synctty/description
545 Kernel modules for PPP sync tty support
546 endef
547
548 $(eval $(call KernelPackage,ppp-synctty))
549
550
551 define KernelPackage/pppox
552 SUBMENU:=$(NETWORK_SUPPORT_MENU)
553 TITLE:=PPPoX helper
554 DEPENDS:=kmod-ppp
555 KCONFIG:=CONFIG_PPPOE
556 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko
557 AUTOLOAD:=$(call AutoLoad,40,pppox)
558 endef
559
560 define KernelPackage/pppox/description
561 Kernel helper module for PPPoE and PPTP support
562 endef
563
564 $(eval $(call KernelPackage,pppox))
565
566
567 define KernelPackage/pppoe
568 SUBMENU:=$(NETWORK_SUPPORT_MENU)
569 TITLE:=PPPoE support
570 DEPENDS:=kmod-ppp +kmod-pppox
571 KCONFIG:=CONFIG_PPPOE
572 FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko
573 AUTOLOAD:=$(call AutoLoad,41,pppoe)
574 endef
575
576 define KernelPackage/pppoe/description
577 Kernel module for PPPoE (PPP over Ethernet) support
578 endef
579
580 $(eval $(call KernelPackage,pppoe))
581
582
583 define KernelPackage/pppoa
584 SUBMENU:=$(NETWORK_SUPPORT_MENU)
585 TITLE:=PPPoA support
586 DEPENDS:=kmod-ppp +kmod-atm
587 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
588 FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
589 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
590 endef
591
592 define KernelPackage/pppoa/description
593 Kernel modules for PPPoA (PPP over ATM) support
594 endef
595
596 $(eval $(call KernelPackage,pppoa))
597
598
599 define KernelPackage/pptp
600 SUBMENU:=$(NETWORK_SUPPORT_MENU)
601 TITLE:=PPtP support
602 DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
603 KCONFIG:=CONFIG_PPTP
604 FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
605 AUTOLOAD:=$(call AutoLoad,41,pptp)
606 endef
607
608 $(eval $(call KernelPackage,pptp))
609
610
611 define KernelPackage/pppol2tp
612 SUBMENU:=$(NETWORK_SUPPORT_MENU)
613 TITLE:=PPPoL2TP support
614 DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp
615 KCONFIG:=CONFIG_PPPOL2TP
616 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
617 AUTOLOAD:=$(call AutoLoad,41,l2tp_ppp)
618 endef
619
620 define KernelPackage/pppol2tp/description
621 Kernel modules for PPPoL2TP (PPP over L2TP) support
622 endef
623
624 $(eval $(call KernelPackage,pppol2tp))
625
626
627 define KernelPackage/ipoa
628 SUBMENU:=$(NETWORK_SUPPORT_MENU)
629 TITLE:=IPoA support
630 DEPENDS:=kmod-atm
631 KCONFIG:=CONFIG_ATM_CLIP
632 FILES:=$(LINUX_DIR)/net/atm/clip.ko
633 AUTOLOAD:=$(call AutoLoad,40,clip)
634 endef
635
636 define KernelPackage/ipoa/description
637 Kernel modules for IPoA (IP over ATM) support
638 endef
639
640 $(eval $(call KernelPackage,ipoa))
641
642
643 define KernelPackage/mppe
644 SUBMENU:=$(NETWORK_SUPPORT_MENU)
645 TITLE:=Microsoft PPP compression/encryption
646 DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
647 KCONFIG:= \
648 CONFIG_PPP_MPPE_MPPC \
649 CONFIG_PPP_MPPE
650 FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
651 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
652 endef
653
654 define KernelPackage/mppe/description
655 Kernel modules for Microsoft PPP compression/encryption
656 endef
657
658 $(eval $(call KernelPackage,mppe))
659
660
661 SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
662 SCHED_MODULES_CORE = sch_ingress sch_fq_codel sch_hfsc cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_mirred act_skbedit
663 SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark sch_esfq
664 SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
665 SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
666 SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
667
668 define KernelPackage/sched-core
669 SUBMENU:=$(NETWORK_SUPPORT_MENU)
670 TITLE:=Traffic schedulers
671 KCONFIG:= \
672 CONFIG_NET_SCHED=y \
673 CONFIG_NET_SCH_HFSC \
674 CONFIG_NET_SCH_INGRESS \
675 CONFIG_NET_SCH_FQ_CODEL \
676 CONFIG_NET_CLS=y \
677 CONFIG_NET_CLS_ACT=y \
678 CONFIG_NET_CLS_FLOW \
679 CONFIG_NET_CLS_FW \
680 CONFIG_NET_CLS_ROUTE4 \
681 CONFIG_NET_CLS_TCINDEX \
682 CONFIG_NET_CLS_U32 \
683 CONFIG_NET_ACT_MIRRED \
684 CONFIG_NET_ACT_SKBEDIT \
685 CONFIG_NET_EMATCH=y \
686 CONFIG_NET_EMATCH_U32
687 FILES:=$(SCHED_FILES)
688 AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
689 endef
690
691 define KernelPackage/sched-core/description
692 Core kernel scheduler support for IP traffic
693 endef
694
695 $(eval $(call KernelPackage,sched-core))
696
697
698 define KernelPackage/sched-connmark
699 SUBMENU:=$(NETWORK_SUPPORT_MENU)
700 TITLE:=Traffic shaper conntrack mark support
701 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
702 KCONFIG:=CONFIG_NET_ACT_CONNMARK
703 FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
704 AUTOLOAD:=$(call AutoLoad,71, act_connmark)
705 endef
706 $(eval $(call KernelPackage,sched-connmark))
707
708 define KernelPackage/sched-esfq
709 SUBMENU:=$(NETWORK_SUPPORT_MENU)
710 TITLE:=Traffic shaper ESFQ support
711 DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack
712 KCONFIG:= \
713 CONFIG_NET_SCH_ESFQ \
714 CONFIG_NET_SCH_ESFQ_NFCT=y
715 FILES:=$(LINUX_DIR)/net/sched/sch_esfq.ko
716 AUTOLOAD:=$(call AutoLoad,72, sch_esfq)
717 endef
718 $(eval $(call KernelPackage,sched-esfq))
719
720 define KernelPackage/sched
721 SUBMENU:=$(NETWORK_SUPPORT_MENU)
722 TITLE:=Extra traffic schedulers
723 DEPENDS:=+kmod-sched-core +kmod-ipt-core
724 KCONFIG:= \
725 CONFIG_NET_SCH_CODEL \
726 CONFIG_NET_SCH_DSMARK \
727 CONFIG_NET_SCH_HTB \
728 CONFIG_NET_SCH_FIFO \
729 CONFIG_NET_SCH_GRED \
730 CONFIG_NET_SCH_PRIO \
731 CONFIG_NET_SCH_RED \
732 CONFIG_NET_SCH_TBF \
733 CONFIG_NET_SCH_SFQ \
734 CONFIG_NET_SCH_TEQL \
735 CONFIG_NET_CLS_BASIC \
736 CONFIG_NET_ACT_POLICE \
737 CONFIG_NET_ACT_IPT \
738 CONFIG_NET_EMATCH_CMP \
739 CONFIG_NET_EMATCH_NBYTE \
740 CONFIG_NET_EMATCH_META \
741 CONFIG_NET_EMATCH_TEXT
742 FILES:=$(SCHED_FILES_EXTRA)
743 AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
744 endef
745
746 define KernelPackage/sched/description
747 Extra kernel schedulers modules for IP traffic
748 endef
749
750 $(eval $(call KernelPackage,sched))
751
752
753 define KernelPackage/ax25
754 SUBMENU:=$(NETWORK_SUPPORT_MENU)
755 TITLE:=AX25 support
756 KCONFIG:= \
757 CONFIG_AX25 \
758 CONFIG_MKISS
759 FILES:= \
760 $(LINUX_DIR)/net/ax25/ax25.ko \
761 $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
762 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
763 $(call AddDepends/crc16)
764 endef
765
766 define KernelPackage/ax25/description
767 Kernel modules for AX25 support
768 endef
769
770 $(eval $(call KernelPackage,ax25))
771
772
773 define KernelPackage/mp-alg
774 SUBMENU:=$(NETWORK_SUPPORT_MENU)
775 TITLE:=ECMP caching algorithms
776 KCONFIG:= \
777 CONFIG_IP_ROUTE_MULTIPATH_RR \
778 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
779 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
780 CONFIG_IP_ROUTE_MULTIPATH_DRR
781 FILES:= \
782 $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
783 $(LINUX_DIR)/net/ipv4/multipath_random.ko \
784 $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
785 $(LINUX_DIR)/net/ipv4/multipath_drr.ko
786 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
787 endef
788
789 define KernelPackage/mp-alg/description
790 Kernel modules that provide several different algorithms for multipath
791 route selection from the route cache. The iproute "mpath" argument allows
792 specifying which algorithm to use for routes.
793 quagga (at least <=0.99.6) requires a multipath patch to support this
794 cached mp route feature.
795 endef
796
797 $(eval $(call KernelPackage,mp-alg))
798
799
800 define KernelPackage/pktgen
801 SUBMENU:=$(NETWORK_SUPPORT_MENU)
802 DEPENDS:=@!TARGET_uml
803 TITLE:=Network packet generator
804 KCONFIG:=CONFIG_NET_PKTGEN
805 FILES:=$(LINUX_DIR)/net/core/pktgen.ko
806 AUTOLOAD:=$(call AutoLoad,99,pktgen)
807 endef
808
809 define KernelPackage/pktgen/description
810 Kernel modules for the Network Packet Generator
811 endef
812
813 $(eval $(call KernelPackage,pktgen))
814
815 define KernelPackage/l2tp
816 SUBMENU:=$(NETWORK_SUPPORT_MENU)
817 TITLE:=Layer Two Tunneling Protocol (L2TP)
818 DEPENDS:=+IPV6:kmod-ipv6
819 KCONFIG:=CONFIG_L2TP \
820 CONFIG_L2TP_V3=y \
821 CONFIG_L2TP_DEBUGFS=n
822 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
823 $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
824 AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
825 endef
826
827 define KernelPackage/l2tp/description
828 Kernel modules for L2TP V3 Support
829 endef
830
831 $(eval $(call KernelPackage,l2tp))
832
833
834 define KernelPackage/l2tp-eth
835 SUBMENU:=$(NETWORK_SUPPORT_MENU)
836 TITLE:=L2TP ethernet pseudowire support for L2TPv3
837 DEPENDS:=+kmod-l2tp
838 KCONFIG:=CONFIG_L2TP_ETH
839 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
840 AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
841 endef
842
843 define KernelPackage/l2tp-eth/description
844 Kernel modules for L2TP ethernet pseudowire support for L2TPv3
845 endef
846
847 $(eval $(call KernelPackage,l2tp-eth))
848
849 define KernelPackage/l2tp-ip
850 SUBMENU:=$(NETWORK_SUPPORT_MENU)
851 TITLE:=L2TP IP encapsulation for L2TPv3
852 DEPENDS:=+kmod-l2tp
853 KCONFIG:=CONFIG_L2TP_IP
854 FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.ko
855 AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
856 endef
857
858 define KernelPackage/l2tp-ip/description
859 Kernel modules for L2TP IP encapsulation for L2TPv3
860 endef
861
862 $(eval $(call KernelPackage,l2tp-ip))
863
864
865 define KernelPackage/sctp
866 SUBMENU:=$(NETWORK_SUPPORT_MENU)
867 TITLE:=SCTP protocol kernel support
868 KCONFIG:=\
869 CONFIG_IP_SCTP \
870 CONFIG_SCTP_DBG_MSG=n \
871 CONFIG_SCTP_DBG_OBJCNT=n \
872 CONFIG_SCTP_HMAC_NONE=n \
873 CONFIG_SCTP_HMAC_SHA1=n \
874 CONFIG_SCTP_HMAC_MD5=y \
875 CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
876 CONFIG_SCTP_COOKIE_HMAC_MD5=y \
877 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
878 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
879 CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
880 FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
881 AUTOLOAD:= $(call AutoLoad,32,sctp)
882 DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
883 endef
884
885 define KernelPackage/sctp/description
886 Kernel modules for SCTP protocol support
887 endef
888
889 $(eval $(call KernelPackage,sctp))
890
891
892 define KernelPackage/netem
893 SUBMENU:=$(NETWORK_SUPPORT_MENU)
894 TITLE:=Network emulation functionality
895 DEPENDS:=+kmod-sched
896 KCONFIG:=CONFIG_NET_SCH_NETEM
897 FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
898 AUTOLOAD:=$(call AutoLoad,99,netem)
899 endef
900
901 define KernelPackage/netem/description
902 Kernel modules for emulating the properties of wide area networks
903 endef
904
905 $(eval $(call KernelPackage,netem))
906
907 define KernelPackage/slip
908 SUBMENU:=$(NETWORK_SUPPORT_MENU)
909 TITLE:=SLIP modules
910 KCONFIG:= \
911 CONFIG_SLIP \
912 CONFIG_SLIP_COMPRESSED=y \
913 CONFIG_SLIP_SMART=y \
914 CONFIG_SLIP_MODE_SLIP6=y
915
916 FILES:= \
917 $(LINUX_DIR)/drivers/net/slip/slip.ko
918 AUTOLOAD:=$(call AutoLoad,30,slip)
919 endef
920
921 define KernelPackage/slip/description
922 Kernel modules for SLIP support
923 endef
924
925 $(eval $(call KernelPackage,slip))
926