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
186 FILES
:=$(foreach mod
,$(IPSEC-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
187 AUTOLOAD
:=$(call AutoLoad
,30,$(notdir $(IPSEC-m
)))
190 define KernelPackage
/ipsec
/description
191 Kernel modules for IPsec support in both IPv4 and IPv6.
198 $(eval
$(call KernelPackage
,ipsec
))
204 ipv4
/xfrm4_mode_beet \
205 ipv4
/xfrm4_mode_transport \
206 ipv4
/xfrm4_mode_tunnel \
210 define KernelPackage
/ipsec4
211 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
212 TITLE
:=IPsec related modules
(IPv4
)
213 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
218 CONFIG_INET_XFRM_MODE_BEET \
219 CONFIG_INET_XFRM_MODE_TRANSPORT \
220 CONFIG_INET_XFRM_MODE_TUNNEL \
221 CONFIG_INET_XFRM_TUNNEL
222 FILES
:=$(foreach mod
,$(IPSEC4-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
223 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC4-m
)))
226 define KernelPackage
/ipsec4
/description
227 Kernel modules for IPsec support in IPv4.
233 - xfrm4_mode_transport
238 $(eval
$(call KernelPackage
,ipsec4
))
244 ipv6
/xfrm6_mode_beet \
245 ipv6
/xfrm6_mode_transport \
246 ipv6
/xfrm6_mode_tunnel \
250 define KernelPackage
/ipsec6
251 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
252 TITLE
:=IPsec related modules
(IPv6
)
253 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
257 CONFIG_INET6_IPCOMP \
258 CONFIG_INET6_XFRM_MODE_BEET \
259 CONFIG_INET6_XFRM_MODE_TRANSPORT \
260 CONFIG_INET6_XFRM_MODE_TUNNEL \
261 CONFIG_INET6_XFRM_TUNNEL
262 FILES
:=$(foreach mod
,$(IPSEC6-m
),$(LINUX_DIR
)/net
/$(mod
).ko
)
263 AUTOLOAD
:=$(call AutoLoad
,32,$(notdir $(IPSEC6-m
)))
266 define KernelPackage
/ipsec6
/description
267 Kernel modules for IPsec support in IPv6.
273 - xfrm6_mode_transport
278 $(eval
$(call KernelPackage
,ipsec6
))
281 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
282 define KernelPackage
/iptunnel4
283 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
284 TITLE
:=IPv4 tunneling
288 FILES
:=$(LINUX_DIR
)/net
/ipv4
/tunnel4.ko
289 AUTOLOAD
:=$(call AutoLoad
,31,tunnel4
)
292 define KernelPackage
/iptunnel4
/description
293 Kernel modules for IPv4 tunneling
296 $(eval
$(call KernelPackage
,iptunnel4
))
299 define KernelPackage
/iptunnel6
300 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
301 TITLE
:=IPv6 tunneling
305 FILES
:=$(LINUX_DIR
)/net
/ipv6
/tunnel6.ko
306 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
309 define KernelPackage
/iptunnel6
/description
310 Kernel modules for IPv6 tunneling
313 $(eval
$(call KernelPackage
,iptunnel6
))
316 define KernelPackage
/ipv6
317 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
321 CONFIG_IPV6_PRIVACY
=y \
322 CONFIG_IPV6_MULTIPLE_TABLES
=y \
323 CONFIG_IPV6_MROUTE
=y \
324 CONFIG_IPV6_PIMSM_V2
=n \
325 CONFIG_IPV6_SUBTREES
=y
326 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.ko
327 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
330 define KernelPackage
/ipv6
/description
331 Kernel modules for IPv6 support
334 $(eval
$(call KernelPackage
,ipv6
))
337 define KernelPackage
/sit
338 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
339 DEPENDS
:=+kmod-ipv6
+kmod-iptunnel4
340 TITLE
:=IPv6-in-IPv4 tunnelling
341 KCONFIG
:=CONFIG_IPV6 CONFIG_IPV6_SIT
342 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.ko
343 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
346 define KernelPackage
/sit
/description
347 Kernel modules for IPv6-in-IPv4 tunnelling
350 $(eval
$(call KernelPackage
,sit
))
353 define KernelPackage
/ip6-tunnel
354 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
355 TITLE
:=IP-in-IPv6 tunnelling
356 DEPENDS
:= +kmod-ipv6
+kmod-iptunnel6
357 KCONFIG
:= CONFIG_IPV6_TUNNEL
358 FILES
:= $(foreach mod
,ip6_tunnel
, \
359 $(LINUX_DIR
)/net
/ipv6
/$(mod
).ko \
361 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
364 define KernelPackage
/ip6-tunnel
/description
365 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
368 $(eval
$(call KernelPackage
,ip6-tunnel
))
371 define KernelPackage
/gre
372 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
374 KCONFIG
:=CONFIG_NET_IPGRE
375 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.ko
378 define KernelPackage
/gre
/description
379 Generic Routing Encapsulation support
382 $(eval
$(call KernelPackage
,gre
))
385 define KernelPackage
/tun
386 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
387 TITLE
:=Universal TUN
/TAP driver
389 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.ko
390 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
393 define KernelPackage
/tun
/description
394 Kernel support for the TUN
/TAP tunneling device
397 $(eval
$(call KernelPackage
,tun
))
400 define KernelPackage
/ppp
401 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
403 DEPENDS
:=+kmod-crc-ccitt
409 $(LINUX_DIR
)/drivers
/net
/ppp_async.ko \
410 $(LINUX_DIR
)/drivers
/net
/ppp_generic.ko \
411 $(LINUX_DIR
)/drivers
/net
/slhc.ko
412 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
415 define KernelPackage
/ppp
/description
416 Kernel modules for PPP support
419 $(eval
$(call KernelPackage
,ppp
))
422 define KernelPackage
/ppp-synctty
423 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
424 TITLE
:=PPP sync tty support
426 KCONFIG
:=CONFIG_PPP_SYNC_TTY
427 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.ko
428 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
431 define KernelPackage
/ppp-synctty
/description
432 Kernel modules for PPP sync tty support
435 $(eval
$(call KernelPackage
,ppp-synctty
))
438 define KernelPackage
/pppoe
439 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
442 KCONFIG
:=CONFIG_PPPOE
444 $(LINUX_DIR
)/drivers
/net
/pppoe.ko \
445 $(LINUX_DIR
)/drivers
/net
/pppox.ko
446 AUTOLOAD
:=$(call AutoLoad
,40,pppox pppoe
)
449 define KernelPackage
/pppoe
/description
450 Kernel modules for PPPoE
(PPP over Ethernet
) support
453 $(eval
$(call KernelPackage
,pppoe
))
456 define KernelPackage
/pppoa
457 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
459 DEPENDS
:=kmod-ppp
+kmod-atm
460 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
461 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.ko
462 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
465 define KernelPackage
/pppoa
/description
466 Kernel modules for PPPoA
(PPP over ATM
) support
469 $(eval
$(call KernelPackage
,pppoa
))
471 define KernelPackage
/pppol2tp
472 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
473 TITLE
:=PPPoL2TP support
474 DEPENDS
:=kmod-ppp
+kmod-pppoe
475 KCONFIG
:=CONFIG_PPPOL2TP
476 FILES
:=$(LINUX_DIR
)/drivers
/net
/pppol2tp.ko
477 AUTOLOAD
:=$(call AutoLoad
,40,pppol2tp
)
480 define KernelPackage
/pppol2tp
/description
481 Kernel modules for PPPoL2TP
(PPP over L2TP
) support
484 $(eval
$(call KernelPackage
,pppol2tp
))
487 define KernelPackage
/ipoa
488 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
491 KCONFIG
:=CONFIG_ATM_CLIP
492 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.ko
493 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
496 define KernelPackage
/ipoa
/description
497 Kernel modules for IPoA
(IP over ATM
) support
500 $(eval
$(call KernelPackage
,ipoa
))
503 define KernelPackage
/mppe
504 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
505 TITLE
:=Microsoft PPP compression
/encryption
506 DEPENDS
:=kmod-ppp
+kmod-crypto-core
+kmod-crypto-arc4
+kmod-crypto-sha1
508 CONFIG_PPP_MPPE_MPPC \
510 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.ko
511 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
514 define KernelPackage
/mppe
/description
515 Kernel modules for Microsoft PPP compression
/encryption
518 $(eval
$(call KernelPackage
,mppe
))
521 define KernelPackage
/sched
522 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
523 TITLE
:=Traffic schedulers
526 CONFIG_NET_SCH_DSMARK \
527 CONFIG_NET_SCH_ESFQ \
528 CONFIG_NET_SCH_ESFQ_NFCT
=y \
529 CONFIG_NET_SCH_FIFO \
530 CONFIG_NET_SCH_GRED \
531 CONFIG_NET_SCH_HFSC \
533 CONFIG_NET_SCH_INGRESS \
534 CONFIG_NET_SCH_PRIO \
538 CONFIG_NET_SCH_TEQL \
540 CONFIG_NET_CLS_ACT
=y \
541 CONFIG_NET_CLS_BASIC \
542 CONFIG_NET_CLS_FLOW \
544 CONFIG_NET_CLS_ROUTE4 \
545 CONFIG_NET_CLS_TCINDEX \
547 CONFIG_NET_ACT_MIRRED \
549 CONFIG_NET_ACT_POLICE \
550 CONFIG_NET_EMATCH
=y \
551 CONFIG_NET_EMATCH_CMP \
552 CONFIG_NET_EMATCH_NBYTE \
553 CONFIG_NET_EMATCH_U32 \
554 CONFIG_NET_EMATCH_META \
555 CONFIG_NET_EMATCH_TEXT
556 FILES
:=$(LINUX_DIR
)/net
/sched
/*.ko
559 define KernelPackage
/sched
/description
560 Kernel schedulers for IP traffic
563 $(eval
$(call KernelPackage
,sched
))
566 define KernelPackage
/ax25
567 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
573 $(LINUX_DIR
)/net
/ax25
/ax25.ko \
574 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.ko
575 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
576 $(call AddDepends
/crc16
)
579 define KernelPackage
/ax25
/description
580 Kernel modules for AX25 support
583 $(eval
$(call KernelPackage
,ax25
))
586 define KernelPackage
/mp-alg
587 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
588 TITLE
:=ECMP caching algorithms
590 CONFIG_IP_ROUTE_MULTIPATH_RR \
591 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
592 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
593 CONFIG_IP_ROUTE_MULTIPATH_DRR
595 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.ko \
596 $(LINUX_DIR
)/net
/ipv4
/multipath_random.ko \
597 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.ko \
598 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.ko
599 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
602 define KernelPackage
/mp-alg
/description
603 Kernel modules that provide several different algorithms for multipath
604 route selection from the route cache. The iproute
"mpath" argument allows
605 specifying which algorithm to use for routes.
606 quagga
(at least
<=0.99.6) requires a multipath patch to support this
607 cached mp route feature.
610 $(eval
$(call KernelPackage
,mp-alg
))
613 define KernelPackage
/pktgen
614 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
615 TITLE
:=Network packet generator
616 KCONFIG
:=CONFIG_NET_PKTGEN
617 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.ko
618 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
621 define KernelPackage
/pktgen
/description
622 Kernel modules for the Network Packet Generator
625 $(eval
$(call KernelPackage
,pktgen
))
627 define KernelPackage
/l2tp
628 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
629 DEPENDS
:=@LINUX_2_6_35
630 TITLE
:=L2TPv3 Support
631 KCONFIG
:=CONFIG_L2TP CONFIG_L2TP_DEBUGFS
=n
632 FILES
:=$(LINUX_DIR
)/net
/l2tp
/l2tp_core.
$(LINUX_KMOD_SUFFIX
)
633 AUTOLOAD
:=$(call AutoLoad
,32,l2tp_core
)
636 define KernelPackage
/l2tp
/description
637 Kernel modules for L2TP V3 Support
640 $(eval
$(call KernelPackage
,l2tp
))
642 define KernelPackage
/l2tp-eth
643 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
644 TITLE
:=L2TP ethernet pseudowire support for L2TPv3
646 KCONFIG
:= CONFIG_L2TP_V3
=y \
649 $(LINUX_DIR
)/net
/l2tp
/l2tp_netlink.
$(LINUX_KMOD_SUFFIX
) \
650 $(LINUX_DIR
)/net
/l2tp
/l2tp_eth.
$(LINUX_KMOD_SUFFIX
)
651 AUTOLOAD
:=$(call AutoLoad
,32,l2tp_core l2tp_netlink l2tp_eth
)
654 define KernelPackage
/l2tp-eth
/description
655 Kernel modules for L2TP V3 pseudowire support
658 $(eval
$(call KernelPackage
,l2tp-eth
))
660 define KernelPackage
/l2tp-ip
661 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
662 TITLE
:=Support for L2TP-over-IP socket family
664 KCONFIG
:= CONFIG_L2TP_V3
=y \
666 FILES
:=$(LINUX_DIR
)/net
/l2tp
/l2tp_ip.
$(LINUX_KMOD_SUFFIX
)
667 AUTOLOAD
:=$(call AutoLoad
,32,l2tp_core l2tp_ip
)
670 define KernelPackage
/l2tp-ip
/description
671 Kernel modules for L2TP-over-IP socket family
674 $(eval
$(call KernelPackage
,l2tp-ip
))
677 define KernelPackage
/sctp
678 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
679 TITLE
:=SCTP protocol kernel support
682 CONFIG_SCTP_DBG_MSG
=n \
683 CONFIG_SCTP_DBG_OBJCNT
=n \
684 CONFIG_SCTP_HMAC_NONE
=n \
685 CONFIG_SCTP_HMAC_SHA1
=n \
686 CONFIG_SCTP_HMAC_MD5
=y
687 FILES
:= $(LINUX_DIR
)/net
/sctp
/sctp.
$(LINUX_KMOD_SUFFIX
)
688 AUTOLOAD
:= $(call AutoLoad
,32,sctp
)
689 DEPENDS
:=+kmod-libcrc32c
+kmod-crypto-md5
+kmod-crypto-hmac
692 define KernelPackage
/sctp
/description
693 Kernel modules for SCTP protocol support
696 $(eval
$(call KernelPackage
,sctp
))