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