Revert "x86_64: enable PCIE support"
[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))