2 # Copyright (C) 2006-2008 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 NETWORK_SUPPORT_MENU
:=Network Support
10 define KernelPackage
/atm
11 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
17 $(LINUX_DIR
)/net
/atm
/atm.ko \
18 $(LINUX_DIR
)/net
/atm
/br2684.ko
19 AUTOLOAD
:=$(call AutoLoad
,30,atm br2684
)
22 define KernelPackage
/atm
/description
23 Kernel modules for ATM support
26 $(eval
$(call KernelPackage
,atm
))
29 define KernelPackage
/atmtcp
30 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
33 KCONFIG
:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS
=y
34 FILES
:=$(LINUX_DIR
)/drivers
/atm
/atmtcp.ko
35 AUTOLOAD
:=$(call AutoLoad
,40,atmtcp
)
38 define KernelPackage
/atmtcp
/description
39 Kernel module for ATM over TCP support
42 $(eval
$(call KernelPackage
,atmtcp
))
45 define KernelPackage
/appletalk
46 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
47 TITLE
:=Appletalk protocol support
50 CONFIG_DEV_APPLETALK \
52 CONFIG_IPDDP_ENCAP
=y \
55 $(LINUX_DIR
)/net
/appletalk
/appletalk.ko \
56 $(LINUX_DIR
)/drivers
/net
/appletalk
/ipddp.ko
57 AUTOLOAD
:=$(call AutoLoad
,40,appletalk ipddp
)
60 define KernelPackage
/appletalk
/description
61 Kernel module for AppleTalk protocol.
64 $(eval
$(call KernelPackage
,appletalk
))
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
)
75 define KernelPackage
/bonding
/description
76 Kernel module for NIC bonding.
79 $(eval
$(call KernelPackage
,bonding
))
82 define KernelPackage
/capi
83 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
84 TITLE
:=CAPI
(ISDN
) Support
87 CONFIG_ISDN_CAPI_CAPI20 \
89 CONFIG_ISDN_CAPI_CAPIFS
91 $(LINUX_DIR
)/drivers
/isdn
/capi
/kernelcapi.ko \
92 $(LINUX_DIR
)/drivers
/isdn
/capi
/capifs.ko \
93 $(LINUX_DIR
)/drivers
/isdn
/capi
/capi.ko
94 AUTOLOAD
:=$(call AutoLoad
,30,kernelcapi capifs capi
)
97 define KernelPackage
/capi
/description
98 Kernel module for basic CAPI
(ISDN
) support
101 $(eval
$(call KernelPackage
,capi
))
103 define KernelPackage
/misdn
104 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
105 TITLE
:=mISDN
(ISDN
) Support
112 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_core.ko \
113 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_dsp.ko \
114 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/l1oip.ko
115 AUTOLOAD
:=$(call AutoLoad
,30,mISDN_core mISDN_dsp l1oip
)
118 define KernelPackage
/misdn
/description
119 Modular ISDN driver support
122 $(eval
$(call KernelPackage
,misdn
))
125 define KernelPackage
/isdn4linux
126 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
127 TITLE
:=Old ISDN4Linux
(deprecated
)
132 CONFIG_ISDN_PPP_VJ
=y \
134 CONFIG_IPPP_FILTER
=y \
135 CONFIG_ISDN_PPP_BSDCOMP \
136 CONFIG_ISDN_CAPI_MIDDLEWARE
=y \
137 CONFIG_ISDN_CAPI_CAPIFS_BOOL
=y \
138 CONFIG_ISDN_AUDIO
=y \
139 CONFIG_ISDN_TTY_FAX
=y \
141 CONFIG_ISDN_DIVERSION
143 $(LINUX_DIR
)/drivers
/isdn
/divert
/dss1_divert.ko \
144 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn.ko \
145 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn_bsdcomp.ko
146 AUTOLOAD
:=$(call AutoLoad
,40,isdn isdn_bsdcomp dss1_divert
)
149 define KernelPackage
/isdn4linux
/description
150 This driver allows you to use an ISDN adapter for networking
153 $(eval
$(call KernelPackage
,isdn4linux
))
156 define KernelPackage
/ipip
157 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
158 TITLE
:=IP-in-IP encapsulation
159 DEPENDS
:=+kmod-iptunnel4
160 KCONFIG
:=CONFIG_NET_IPIP
161 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.ko
162 AUTOLOAD
:=$(call AutoLoad
,32,ipip
)
165 define KernelPackage
/ipip
/description
166 Kernel modules for IP-in-IP encapsulation
169 $(eval
$(call KernelPackage
,ipip
))
177 define KernelPackage
/ipsec
178 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
179 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
180 DEPENDS
:=+kmod-crypto-core
+kmod-crypto-des
+kmod-crypto-hmac
+kmod-crypto-md5
+kmod-crypto-sha1
185 FILES
:=$(foreach mod
,$(IPSEC-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
186 AUTOLOAD
:=$(call AutoLoad
,30,$(notdir $(IPSEC-m
)))
189 define KernelPackage
/ipsec
/description
190 Kernel modules for IPsec support in both IPv4 and IPv6.
197 $(eval
$(call KernelPackage
,ipsec
))
203 ipv4
/xfrm4_mode_beet \
204 ipv4
/xfrm4_mode_transport \
205 ipv4
/xfrm4_mode_tunnel \
209 define KernelPackage
/ipsec4
210 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
211 TITLE
:=IPsec related modules
(IPv4
)
212 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
217 CONFIG_INET_XFRM_MODE_BEET \
218 CONFIG_INET_XFRM_MODE_TRANSPORT \
219 CONFIG_INET_XFRM_MODE_TUNNEL \
220 CONFIG_INET_XFRM_TUNNEL
221 FILES
:=$(foreach mod
,$(IPSEC4-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
222 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC4-m
)))
225 define KernelPackage
/ipsec4
/description
226 Kernel modules for IPsec support in IPv4.
232 - xfrm4_mode_transport
237 $(eval
$(call KernelPackage
,ipsec4
))
243 ipv6
/xfrm6_mode_beet \
244 ipv6
/xfrm6_mode_transport \
245 ipv6
/xfrm6_mode_tunnel \
249 define KernelPackage
/ipsec6
250 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
251 TITLE
:=IPsec related modules
(IPv6
)
252 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
256 CONFIG_INET6_IPCOMP \
257 CONFIG_INET6_XFRM_MODE_BEET \
258 CONFIG_INET6_XFRM_MODE_TRANSPORT \
259 CONFIG_INET6_XFRM_MODE_TUNNEL \
260 CONFIG_INET6_XFRM_TUNNEL
261 FILES
:=$(foreach mod
,$(IPSEC6-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
262 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC6-m
)))
265 define KernelPackage
/ipsec6
/description
266 Kernel modules for IPsec support in IPv6.
272 - xfrm6_mode_transport
277 $(eval
$(call KernelPackage
,ipsec6
))
280 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
281 define KernelPackage
/iptunnel4
282 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
283 TITLE
:=IPv4 tunneling
287 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tunnel4.ko
288 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
291 define KernelPackage
/iptunnel4
/description
292 Kernel modules for IPv4 tunneling
295 $(eval
$(call KernelPackage
,iptunnel4
))
298 define KernelPackage
/iptunnel6
299 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
300 TITLE
:=IPv6 tunneling
304 FILES
:=$(LINUX_DIR
)/net
/ipv6
/tunnel6.ko
305 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
308 define KernelPackage
/iptunnel6
/description
309 Kernel modules for IPv6 tunneling
312 $(eval
$(call KernelPackage
,iptunnel6
))
315 define KernelPackage
/ipv6
316 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
320 CONFIG_IPV6_PRIVACY
=y \
321 CONFIG_IPV6_MULTIPLE_TABLES
=y \
322 CONFIG_IPV6_MROUTE
=y \
323 CONFIG_IPV6_PIMSM_V2
=n \
324 CONFIG_IPV6_SUBTREES
=y
325 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.ko
326 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
329 define KernelPackage
/ipv6
/description
330 Kernel modules for IPv6 support
333 $(eval
$(call KernelPackage
,ipv6
))
336 define KernelPackage
/sit
337 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
338 DEPENDS
:=+kmod-ipv6
+kmod-iptunnel4
339 TITLE
:=IPv6-in-IPv4 tunnelling
340 KCONFIG
:=CONFIG_IPV6 CONFIG_IPV6_SIT
341 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.ko
342 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
345 define KernelPackage
/sit
/description
346 Kernel modules for IPv6-in-IPv4 tunnelling
349 $(eval
$(call KernelPackage
,sit
))
352 define KernelPackage
/ip6-tunnel
353 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
354 TITLE
:=IP-in-IPv6 tunnelling
355 DEPENDS
:= +kmod-ipv6
+kmod-iptunnel6
356 KCONFIG
:= CONFIG_IPV6_TUNNEL
357 FILES
:= $(foreach mod
,ip6_tunnel
, \
358 $(LINUX_DIR
)/net
/ipv6
/$(mod
).ko \
360 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
363 define KernelPackage
/ip6-tunnel
/description
364 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
367 $(eval
$(call KernelPackage
,ip6-tunnel
))
370 define KernelPackage
/gre
371 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
373 KCONFIG
:=CONFIG_NET_IPGRE
374 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.ko
377 define KernelPackage
/gre
/description
378 Generic Routing Encapsulation support
381 $(eval
$(call KernelPackage
,gre
))
384 define KernelPackage
/tun
385 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
386 TITLE
:=Universal TUN
/TAP driver
388 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.ko
389 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
392 define KernelPackage
/tun
/description
393 Kernel support for the TUN
/TAP tunneling device
396 $(eval
$(call KernelPackage
,tun
))
399 define KernelPackage
/ppp
400 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
402 DEPENDS
:=+kmod-crc-ccitt
408 $(LINUX_DIR
)/drivers
/net
/ppp_async.ko \
409 $(LINUX_DIR
)/drivers
/net
/ppp_generic.ko \
410 $(LINUX_DIR
)/drivers
/net
/slhc.ko
411 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
414 define KernelPackage
/ppp
/description
415 Kernel modules for PPP support
418 $(eval
$(call KernelPackage
,ppp
))
421 define KernelPackage
/ppp-synctty
422 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
423 TITLE
:=PPP sync tty support
425 KCONFIG
:=CONFIG_PPP_SYNC_TTY
426 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.ko
427 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
430 define KernelPackage
/ppp-synctty
/description
431 Kernel modules for PPP sync tty support
434 $(eval
$(call KernelPackage
,ppp-synctty
))
437 define KernelPackage
/pppoe
438 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
441 KCONFIG
:=CONFIG_PPPOE
443 $(LINUX_DIR
)/drivers
/net
/pppoe.ko \
444 $(LINUX_DIR
)/drivers
/net
/pppox.ko
445 AUTOLOAD
:=$(call AutoLoad
,40,pppox pppoe
)
448 define KernelPackage
/pppoe
/description
449 Kernel modules for PPPoE
(PPP over Ethernet
) support
452 $(eval
$(call KernelPackage
,pppoe
))
455 define KernelPackage
/pppoa
456 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
458 DEPENDS
:=kmod-ppp
+kmod-atm
459 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
460 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.ko
461 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
464 define KernelPackage
/pppoa
/description
465 Kernel modules for PPPoA
(PPP over ATM
) support
468 $(eval
$(call KernelPackage
,pppoa
))
470 define KernelPackage
/pppol2tp
471 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
472 TITLE
:=PPPoL2TP support
473 DEPENDS
:=kmod-ppp
+kmod-pppoe
474 KCONFIG
:=CONFIG_PPPOL2TP
475 FILES
:=$(LINUX_DIR
)/drivers
/net
/pppol2tp.ko
476 AUTOLOAD
:=$(call AutoLoad
,40,pppol2tp
)
479 define KernelPackage
/pppol2tp
/description
480 Kernel modules for PPPoL2TP
(PPP over L2TP
) support
483 $(eval
$(call KernelPackage
,pppol2tp
))
486 define KernelPackage
/ipoa
487 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
490 KCONFIG
:=CONFIG_ATM_CLIP
491 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.ko
492 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
495 define KernelPackage
/ipoa
/description
496 Kernel modules for IPoA
(IP over ATM
) support
499 $(eval
$(call KernelPackage
,ipoa
))
502 define KernelPackage
/mppe
503 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
504 TITLE
:=Microsoft PPP compression
/encryption
505 DEPENDS
:=kmod-ppp
+kmod-crypto-core
+kmod-crypto-arc4
+kmod-crypto-sha1
507 CONFIG_PPP_MPPE_MPPC \
509 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.ko
510 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
513 define KernelPackage
/mppe
/description
514 Kernel modules for Microsoft PPP compression
/encryption
517 $(eval
$(call KernelPackage
,mppe
))
520 define KernelPackage
/sched
521 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
522 TITLE
:=Traffic schedulers
525 CONFIG_NET_SCH_DSMARK \
526 CONFIG_NET_SCH_ESFQ \
527 CONFIG_NET_SCH_ESFQ_NFCT
=y \
528 CONFIG_NET_SCH_FIFO \
529 CONFIG_NET_SCH_GRED \
530 CONFIG_NET_SCH_HFSC \
532 CONFIG_NET_SCH_INGRESS \
533 CONFIG_NET_SCH_PRIO \
537 CONFIG_NET_SCH_TEQL \
539 CONFIG_NET_CLS_ACT
=y \
540 CONFIG_NET_CLS_BASIC \
541 CONFIG_NET_CLS_FLOW \
543 CONFIG_NET_CLS_ROUTE4 \
544 CONFIG_NET_CLS_TCINDEX \
546 CONFIG_NET_ACT_MIRRED \
548 CONFIG_NET_ACT_POLICE \
549 CONFIG_NET_EMATCH
=y \
550 CONFIG_NET_EMATCH_CMP \
551 CONFIG_NET_EMATCH_NBYTE \
552 CONFIG_NET_EMATCH_U32 \
553 CONFIG_NET_EMATCH_META \
554 CONFIG_NET_EMATCH_TEXT
555 FILES
:=$(LINUX_DIR
)/net
/sched
/*.ko
558 define KernelPackage
/sched
/description
559 Kernel schedulers for IP traffic
562 $(eval
$(call KernelPackage
,sched
))
565 define KernelPackage
/ax25
566 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
572 $(LINUX_DIR
)/net
/ax25
/ax25.ko \
573 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.ko
574 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
575 $(call AddDepends
/crc16
)
578 define KernelPackage
/ax25
/description
579 Kernel modules for AX25 support
582 $(eval
$(call KernelPackage
,ax25
))
585 define KernelPackage
/mp-alg
586 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
587 TITLE
:=ECMP caching algorithms
589 CONFIG_IP_ROUTE_MULTIPATH_RR \
590 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
591 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
592 CONFIG_IP_ROUTE_MULTIPATH_DRR
594 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.ko \
595 $(LINUX_DIR
)/net
/ipv4
/multipath_random.ko \
596 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.ko \
597 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.ko
598 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
601 define KernelPackage
/mp-alg
/description
602 Kernel modules that provide several different algorithms for multipath
603 route selection from the route cache. The iproute
"mpath" argument allows
604 specifying which algorithm to use for routes.
605 quagga
(at least
<=0.99.6) requires a multipath patch to support this
606 cached mp route feature.
609 $(eval
$(call KernelPackage
,mp-alg
))
612 define KernelPackage
/pktgen
613 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
614 TITLE
:=Network packet generator
615 KCONFIG
:=CONFIG_NET_PKTGEN
616 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.ko
617 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
620 define KernelPackage
/pktgen
/description
621 Kernel modules for the Network Packet Generator
624 $(eval
$(call KernelPackage
,pktgen
))