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