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
)
18 $(LINUX_DIR
)/net
/atm
/atm.
$(LINUX_KMOD_SUFFIX
) \
19 $(LINUX_DIR
)/net
/atm
/br2684.
$(LINUX_KMOD_SUFFIX
)
20 AUTOLOAD
:=$(call AutoLoad
,30,atm br2684
)
23 define KernelPackage
/atm
/description
24 Kernel modules for ATM support
27 $(eval
$(call KernelPackage
,atm
))
30 define KernelPackage
/atmtcp
31 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
33 DEPENDS
:=@LINUX_2_6 kmod-atm
34 KCONFIG
:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS
=y
35 FILES
:=$(LINUX_DIR
)/drivers
/atm
/atmtcp.
$(LINUX_KMOD_SUFFIX
)
36 AUTOLOAD
:=$(call AutoLoad
,40,atmtcp
)
39 define KernelPackage
/atmtcp
/description
40 Kernel module for ATM over TCP support
43 $(eval
$(call KernelPackage
,atmtcp
))
46 define KernelPackage
/bonding
47 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
48 TITLE
:=Ethernet bonding driver
49 KCONFIG
:=CONFIG_BONDING
50 FILES
:=$(LINUX_DIR
)/drivers
/net
/bonding
/bonding.
$(LINUX_KMOD_SUFFIX
)
51 AUTOLOAD
:=$(call AutoLoad
,40,bonding
)
54 define KernelPackage
/bonding
/description
55 Kernel module for NIC bonding.
58 $(eval
$(call KernelPackage
,bonding
))
61 define KernelPackage
/capi
62 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
63 TITLE
:=CAPI
(ISDN
) Support
67 CONFIG_ISDN_CAPI_CAPI20 \
70 $(LINUX_DIR
)/drivers
/isdn
/capi
/kernelcapi.
$(LINUX_KMOD_SUFFIX
) \
71 $(LINUX_DIR
)/drivers
/isdn
/capi
/capifs.
$(LINUX_KMOD_SUFFIX
)
72 $(LINUX_DIR
)/drivers
/isdn
/capi
/capi.
$(LINUX_KMOD_SUFFIX
) \
73 AUTOLOAD
:=$(call AutoLoad
,30,kernelcapi capifs capi
)
76 define KernelPackage
/capi
/description
77 Kernel module for basic CAPI
(ISDN
) support
80 $(eval
$(call KernelPackage
,capi
))
82 define KernelPackage
/misdn
83 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
84 TITLE
:=mISDN
(ISDN
) Support
90 CONFIG_ISDN_WITH_ABC
=n \
91 CONFIG_ISDN_DRV_LOOP
=n \
92 CONFIG_ISDN_DIVERSION
=n \
93 CONFIG_ISDN_DRV_HISAX
=n \
94 CONFIG_ISDN_DRV_ICN
=n \
95 CONFIG_ISDN_DRV_PCBIT
=n \
96 CONFIG_ISDN_DRV_SC
=n \
97 CONFIG_ISDN_DRV_ACT2000
=n \
98 CONFIG_ISDN_DRV_EICON
=n \
99 CONFIG_ISDN_DRV_TPAM
=n \
102 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_core.
$(LINUX_KMOD_SUFFIX
) \
103 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/mISDN_dsp.
$(LINUX_KMOD_SUFFIX
) \
104 $(LINUX_DIR
)/drivers
/isdn
/mISDN
/l1oip.
$(LINUX_KMOD_SUFFIX
)
105 AUTOLOAD
:=$(call AutoLoad
,30,mISDN_core mISDN_dsp l1oip
)
108 define KernelPackage
/misdn
/2.4
113 define KernelPackage
/misdn
/2.6
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
)
131 CONFIG_ISDN_PPP_VJ
=y \
133 CONFIG_IPPP_FILTER
=y \
134 CONFIG_ISDN_PPP_BSDCOMP \
135 CONFIG_ISDN_AUDIO
=y \
136 CONFIG_ISDN_TTY_FAX
=y \
138 CONFIG_ISDN_DIVERSION \
139 CONFIG_ISDN_CAPI_CAPIDRV
=n \
140 CONFIG_ISDN_DRV_ACT2000
=n \
141 CONFIG_ISDN_DRV_GIGASET
=n \
142 CONFIG_ISDN_DRV_HISAX
=n \
143 CONFIG_ISDN_DRV_ICN
=n \
144 CONFIG_ISDN_DRV_LOOP
=n \
145 CONFIG_ISDN_DRV_PCBIT
=n \
146 CONFIG_ISDN_DRV_SC
=n \
149 $(LINUX_DIR
)/drivers
/isdn
/divert
/dss1_divert.
$(LINUX_KMOD_SUFFIX
)
150 AUTOLOAD
:=$(call AutoLoad
,40,isdn isdn_bsdcomp dss1_divert
)
153 define KernelPackage
/isdn4linux
/2.4
157 $(LINUX_DIR
)/drivers
/isdn
/isdn_bsdcomp.
$(LINUX_KMOD_SUFFIX
)
160 define KernelPackage
/isdn4linux
/2.6
164 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn.
$(LINUX_KMOD_SUFFIX
) \
165 $(LINUX_DIR
)/drivers
/isdn
/i4l
/isdn_bsdcomp.
$(LINUX_KMOD_SUFFIX
)
168 define KernelPackage
/isdn4linux
/description
169 This driver allows you to use an ISDN adapter for networking
172 $(eval
$(call KernelPackage
,isdn4linux
))
175 define KernelPackage
/ipip
176 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
177 TITLE
:=IP-in-IP encapsulation
178 DEPENDS
:=+LINUX_2_6
:kmod-iptunnel4
179 KCONFIG
:=CONFIG_NET_IPIP
180 FILES
:=$(LINUX_DIR
)/net
/ipv4
/ipip.
$(LINUX_KMOD_SUFFIX
)
181 AUTOLOAD
:=$(call AutoLoad
,32,ipip
)
184 define KernelPackage
/ipip
/description
185 Kernel modules for IP-in-IP encapsulation
188 $(eval
$(call KernelPackage
,ipip
))
191 define KernelPackage
/ipsec
192 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
193 TITLE
:=IPsec related modules
(IPv4 and IPv6
)
194 DEPENDS
:=@LINUX_2_6
+kmod-crypto-core
+kmod-crypto-des
+kmod-crypto-hmac
+kmod-crypto-md5
+kmod-crypto-sha1
199 $(LINUX_DIR
)/net
/key
/af_key.
$(LINUX_KMOD_SUFFIX
) \
200 $(LINUX_DIR
)/net
/xfrm
/xfrm_user.
$(LINUX_KMOD_SUFFIX
)
203 define KernelPackage
/ipsec
/description
204 Kernel modules for IPsec support in both IPv4 and IPv6.
210 $(eval
$(call KernelPackage
,ipsec
))
213 define KernelPackage
/ipsec4
214 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
215 TITLE
:=IPsec related modules
(IPv4
)
216 DEPENDS
:=kmod-ipsec
+kmod-iptunnel4
221 CONFIG_INET_XFRM_MODE_BEET \
222 CONFIG_INET_XFRM_MODE_TRANSPORT \
223 CONFIG_INET_XFRM_MODE_TUNNEL \
224 CONFIG_INET_XFRM_TUNNEL
225 FILES
:= $(foreach mod
,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel
, \
226 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
230 define KernelPackage
/ipsec4
/description
231 Kernel modules for IPsec support in IPv4.
237 - xfrm4_mode_transport
242 $(eval
$(call KernelPackage
,ipsec4
))
245 define KernelPackage
/ipsec6
246 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
247 TITLE
:=IPsec related modules
(IPv6
)
248 DEPENDS
:=kmod-ipsec
+kmod-iptunnel6
252 CONFIG_INET6_IPCOMP \
253 CONFIG_INET6_XFRM_MODE_BEET \
254 CONFIG_INET6_XFRM_MODE_TRANSPORT \
255 CONFIG_INET6_XFRM_MODE_TUNNEL \
256 CONFIG_INET6_XFRM_TUNNEL
257 FILES
:= $(foreach mod
,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel
, \
258 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
262 define KernelPackage
/ipsec6
/description
263 Kernel modules for IPsec support in IPv6.
269 - xfrm6_mode_transport
274 $(eval
$(call KernelPackage
,ipsec6
))
277 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
278 define KernelPackage
/iptunnel4
279 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
280 TITLE
:=IPv4 tunneling
285 FILES
:= $(foreach mod
,tunnel4
, \
286 $(LINUX_DIR
)/net
/ipv4
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
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
301 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
304 FILES
:= $(foreach mod
,tunnel6
, \
305 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
307 AUTOLOAD
:=$(call AutoLoad
,31,tunnel6
)
310 define KernelPackage
/iptunnel6
/description
311 Kernel modules for IPv6 tunneling
314 $(eval
$(call KernelPackage
,iptunnel6
))
317 define KernelPackage
/ipv6
318 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
322 CONFIG_IPV6_PRIVACY
=y \
323 CONFIG_IPV6_MULTIPLE_TABLES
=y \
324 CONFIG_IPV6_MROUTE
=y \
325 CONFIG_IPV6_PIMSM_V2
=n \
326 CONFIG_IPV6_SUBTREES
=y
327 FILES
:=$(LINUX_DIR
)/net
/ipv6
/ipv6.
$(LINUX_KMOD_SUFFIX
)
328 AUTOLOAD
:=$(call AutoLoad
,20,ipv6
)
331 define KernelPackage
/ipv6
/description
332 Kernel modules for IPv6 support
335 $(eval
$(call KernelPackage
,ipv6
))
338 # sit is not selectable on 2.4, but built when ipv6 is enabled
339 define KernelPackage
/sit
340 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
341 DEPENDS
:=+kmod-ipv6
+LINUX_2_6
:kmod-iptunnel4
342 TITLE
:=IPv6-in-IPv4 tunnelling
343 KCONFIG
:=CONFIG_IPV6 CONFIG_IPV6_SIT
344 FILES
:=$(LINUX_DIR
)/net
/ipv6
/sit.
$(LINUX_KMOD_SUFFIX
)
345 AUTOLOAD
:=$(call AutoLoad
,32,sit
)
348 define KernelPackage
/sit
/description
349 Kernel modules for IPv6-in-IPv4 tunnelling
352 $(eval
$(call KernelPackage
,sit
))
355 define KernelPackage
/ip6-tunnel
356 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
357 TITLE
:=IP-in-IPv6 tunnelling
358 DEPENDS
:= @LINUX_2_6
+kmod-ipv6
+kmod-iptunnel6
359 KCONFIG
:= CONFIG_IPV6_TUNNEL
360 FILES
:= $(foreach mod
,ip6_tunnel
, \
361 $(LINUX_DIR
)/net
/ipv6
/$(mod
).
$(LINUX_KMOD_SUFFIX
) \
363 AUTOLOAD
:=$(call AutoLoad
,32,ip6_tunnel
)
366 define KernelPackage
/ip6-tunnel
/description
367 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
370 $(eval
$(call KernelPackage
,ip6-tunnel
))
373 define KernelPackage
/gre
374 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
376 KCONFIG
:=CONFIG_NET_IPGRE
377 FILES
=$(LINUX_DIR
)/net
/ipv4
/ip_gre.
$(LINUX_KMOD_SUFFIX
)
380 define KernelPackage
/gre
/description
381 Generic Routing Encapsulation support
384 $(eval
$(call KernelPackage
,gre
))
387 define KernelPackage
/tun
388 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
389 TITLE
:=Universal TUN
/TAP driver
391 FILES
:=$(LINUX_DIR
)/drivers
/net
/tun.
$(LINUX_KMOD_SUFFIX
)
392 AUTOLOAD
:=$(call AutoLoad
,30,tun
)
395 define KernelPackage
/tun
/description
396 Kernel support for the TUN
/TAP tunneling device
399 $(eval
$(call KernelPackage
,tun
))
402 define KernelPackage
/ppp
403 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
405 DEPENDS
:=+LINUX_2_6
:kmod-crc-ccitt
411 $(LINUX_DIR
)/drivers
/net
/ppp_async.
$(LINUX_KMOD_SUFFIX
) \
412 $(LINUX_DIR
)/drivers
/net
/ppp_generic.
$(LINUX_KMOD_SUFFIX
) \
413 $(LINUX_DIR
)/drivers
/net
/slhc.
$(LINUX_KMOD_SUFFIX
)
414 AUTOLOAD
:=$(call AutoLoad
,30,slhc ppp_generic ppp_async
)
417 define KernelPackage
/ppp
/description
418 Kernel modules for PPP support
421 $(eval
$(call KernelPackage
,ppp
))
424 define KernelPackage
/ppp-synctty
425 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
426 TITLE
:=PPP sync tty support
428 KCONFIG
:=CONFIG_PPP_SYNC_TTY
429 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_synctty.
$(LINUX_KMOD_SUFFIX
)
430 AUTOLOAD
:=$(call AutoLoad
,40,ppp_synctty
)
433 define KernelPackage
/ppp-synctty
/description
434 Kernel modules for PPP sync tty support
437 $(eval
$(call KernelPackage
,ppp-synctty
))
440 define KernelPackage
/pppoe
441 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
444 KCONFIG
:=CONFIG_PPPOE
446 $(LINUX_DIR
)/drivers
/net
/pppoe.
$(LINUX_KMOD_SUFFIX
) \
447 $(LINUX_DIR
)/drivers
/net
/pppox.
$(LINUX_KMOD_SUFFIX
)
450 define KernelPackage
/pppoe
/description
451 Kernel modules for PPPoE
(PPP over Ethernet
) support
454 $(eval
$(call KernelPackage
,pppoe
))
457 define KernelPackage
/pppoa
458 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
460 DEPENDS
:=kmod-ppp
+kmod-atm
461 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
462 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
463 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
466 define KernelPackage
/pppoa
/description
467 Kernel modules for PPPoA
(PPP over ATM
) support
470 $(eval
$(call KernelPackage
,pppoa
))
472 define KernelPackage
/pppol2tp
473 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
474 TITLE
:=PPPoL2TP support
475 DEPENDS
:=kmod-ppp
+kmod-pppoe @
!LINUX_2_6_21||
!LINUX_2_6_25||
!LINUX_2_6_27
476 KCONFIG
:=CONFIG_PPPOL2TP
477 FILES
:=$(LINUX_DIR
)/drivers
/net
/pppol2tp.
$(LINUX_KMOD_SUFFIX
)
478 AUTOLOAD
:=$(call AutoLoad
,40,pppol2tp
)
481 define KernelPackage
/pppol2tp
/description
482 Kernel modules for PPPoL2TP
(PPP over L2TP
) support
485 $(eval
$(call KernelPackage
,pppol2tp
))
488 define KernelPackage
/ipoa
489 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
492 KCONFIG
:=CONFIG_ATM_CLIP
493 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
494 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
497 define KernelPackage
/ipoa
/description
498 Kernel modules for IPoA
(IP over ATM
) support
501 $(eval
$(call KernelPackage
,ipoa
))
504 define KernelPackage
/mppe
505 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
506 TITLE
:=Microsoft PPP compression
/encryption
507 DEPENDS
:=kmod-ppp
+kmod-crypto-arc4
+kmod-crypto-sha1
509 CONFIG_PPP_MPPE_MPPC \
513 define KernelPackage
/mppe
/2.4
514 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
515 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe_mppc.
$(LINUX_KMOD_SUFFIX
)
516 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe_mppc
)
519 define KernelPackage
/mppe
/2.6
520 # KCONFIG:=CONFIG_PPP_MPPE
521 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
522 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
525 define KernelPackage
/mppe
/description
526 Kernel modules for Microsoft PPP compression
/encryption
529 $(eval
$(call KernelPackage
,mppe
))
532 define KernelPackage
/sched
533 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
534 TITLE
:=Traffic schedulers
537 CONFIG_NET_SCH_DSMARK \
538 CONFIG_NET_SCH_ESFQ \
539 CONFIG_NET_SCH_ESFQ_NFCT
=y \
540 CONFIG_NET_SCH_FIFO \
541 CONFIG_NET_SCH_GRED \
542 CONFIG_NET_SCH_HFSC \
544 CONFIG_NET_SCH_INGRESS \
545 CONFIG_NET_SCH_PRIO \
548 CONFIG_NET_SCH_TEQL \
550 CONFIG_NET_CLS_ACT
=y \
551 CONFIG_NET_CLS_BASIC \
552 CONFIG_NET_CLS_FLOW \
554 CONFIG_NET_CLS_ROUTE4 \
555 CONFIG_NET_CLS_TCINDEX \
557 CONFIG_NET_ACT_MIRRED \
559 CONFIG_NET_ACT_POLICE \
560 CONFIG_NET_EMATCH
=y \
561 CONFIG_NET_EMATCH_CMP \
562 CONFIG_NET_EMATCH_NBYTE \
563 CONFIG_NET_EMATCH_U32 \
564 CONFIG_NET_EMATCH_META \
565 CONFIG_NET_EMATCH_TEXT
566 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
569 define KernelPackage
/sched
/description
570 Kernel schedulers for IP traffic
573 $(eval
$(call KernelPackage
,sched
))
576 define KernelPackage
/ax25
577 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
584 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
585 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
586 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
589 define KernelPackage
/ax25
/description
590 Kernel modules for AX25 support
593 $(eval
$(call KernelPackage
,ax25
))
596 define KernelPackage
/mp-alg
597 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
598 TITLE
:=ECMP caching algorithms
601 CONFIG_IP_ROUTE_MULTIPATH_RR \
602 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
603 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
604 CONFIG_IP_ROUTE_MULTIPATH_DRR
606 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
607 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
608 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
609 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
610 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
613 define KernelPackage
/mp-alg
/description
614 Kernel modules that provide several different algorithms for multipath
615 route selection from the route cache. The iproute
"mpath" argument allows
616 specifying which algorithm to use for routes.
617 quagga
(at least
<=0.99.6) requires a multipath patch to support this
618 cached mp route feature.
621 $(eval
$(call KernelPackage
,mp-alg
))
624 define KernelPackage
/pktgen
625 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
626 TITLE
:=Network packet generator
628 KCONFIG
:=CONFIG_NET_PKTGEN
629 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
630 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
633 define KernelPackage
/pktgen
/description
634 Kernel modules for the Network Packet Generator
637 $(eval
$(call KernelPackage
,pktgen
))