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