kernel: split off act_connmark into a separate package to avoid cluttering kmod-sched...
[openwrt/svn-archive/archive.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