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