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
)
448 AUTOLOAD
:=$(call AutoLoad
,40,pppox pppoe
)
451 define KernelPackage
/pppoe
/description
452 Kernel modules for PPPoE
(PPP over Ethernet
) support
455 $(eval
$(call KernelPackage
,pppoe
))
458 define KernelPackage
/pppoa
459 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
461 DEPENDS
:=kmod-ppp
+kmod-atm
462 KCONFIG
:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS
=y
463 FILES
:=$(LINUX_DIR
)/net
/atm
/pppoatm.
$(LINUX_KMOD_SUFFIX
)
464 AUTOLOAD
:=$(call AutoLoad
,40,pppoatm
)
467 define KernelPackage
/pppoa
/description
468 Kernel modules for PPPoA
(PPP over ATM
) support
471 $(eval
$(call KernelPackage
,pppoa
))
473 define KernelPackage
/pppol2tp
474 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
475 TITLE
:=PPPoL2TP support
476 DEPENDS
:=kmod-ppp
+kmod-pppoe @
!LINUX_2_6_21||
!LINUX_2_6_25
477 KCONFIG
:=CONFIG_PPPOL2TP
478 FILES
:=$(LINUX_DIR
)/drivers
/net
/pppol2tp.
$(LINUX_KMOD_SUFFIX
)
479 AUTOLOAD
:=$(call AutoLoad
,40,pppol2tp
)
482 define KernelPackage
/pppol2tp
/description
483 Kernel modules for PPPoL2TP
(PPP over L2TP
) support
486 $(eval
$(call KernelPackage
,pppol2tp
))
489 define KernelPackage
/ipoa
490 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
493 KCONFIG
:=CONFIG_ATM_CLIP
494 FILES
:=$(LINUX_DIR
)/net
/atm
/clip.
$(LINUX_KMOD_SUFFIX
)
495 AUTOLOAD
:=$(call AutoLoad
,40,clip
)
498 define KernelPackage
/ipoa
/description
499 Kernel modules for IPoA
(IP over ATM
) support
502 $(eval
$(call KernelPackage
,ipoa
))
505 define KernelPackage
/mppe
506 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
507 TITLE
:=Microsoft PPP compression
/encryption
508 DEPENDS
:=kmod-ppp
+kmod-crypto-arc4
+kmod-crypto-sha1
510 CONFIG_PPP_MPPE_MPPC \
514 define KernelPackage
/mppe
/2.4
515 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
516 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe_mppc.
$(LINUX_KMOD_SUFFIX
)
517 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe_mppc
)
520 define KernelPackage
/mppe
/2.6
521 # KCONFIG:=CONFIG_PPP_MPPE
522 FILES
:=$(LINUX_DIR
)/drivers
/net
/ppp_mppe.
$(LINUX_KMOD_SUFFIX
)
523 AUTOLOAD
:=$(call AutoLoad
,31,ppp_mppe
)
526 define KernelPackage
/mppe
/description
527 Kernel modules for Microsoft PPP compression
/encryption
530 $(eval
$(call KernelPackage
,mppe
))
533 define KernelPackage
/sched
534 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
535 TITLE
:=Traffic schedulers
538 CONFIG_NET_SCH_DSMARK \
539 CONFIG_NET_SCH_ESFQ \
540 CONFIG_NET_SCH_ESFQ_NFCT
=y \
541 CONFIG_NET_SCH_FIFO \
542 CONFIG_NET_SCH_GRED \
543 CONFIG_NET_SCH_HFSC \
545 CONFIG_NET_SCH_INGRESS \
546 CONFIG_NET_SCH_PRIO \
549 CONFIG_NET_SCH_TEQL \
551 CONFIG_NET_CLS_ACT
=y \
552 CONFIG_NET_CLS_BASIC \
553 CONFIG_NET_CLS_FLOW \
555 CONFIG_NET_CLS_ROUTE4 \
556 CONFIG_NET_CLS_TCINDEX \
558 CONFIG_NET_ACT_MIRRED \
560 CONFIG_NET_ACT_POLICE \
561 CONFIG_NET_EMATCH
=y \
562 CONFIG_NET_EMATCH_CMP \
563 CONFIG_NET_EMATCH_NBYTE \
564 CONFIG_NET_EMATCH_U32 \
565 CONFIG_NET_EMATCH_META \
566 CONFIG_NET_EMATCH_TEXT
567 FILES
:=$(LINUX_DIR
)/net
/sched
/*.
$(LINUX_KMOD_SUFFIX
)
570 define KernelPackage
/sched
/description
571 Kernel schedulers for IP traffic
574 $(eval
$(call KernelPackage
,sched
))
577 define KernelPackage
/ax25
578 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
585 $(LINUX_DIR
)/net
/ax25
/ax25.
$(LINUX_KMOD_SUFFIX
) \
586 $(LINUX_DIR
)/drivers
/net
/hamradio
/mkiss.
$(LINUX_KMOD_SUFFIX
)
587 AUTOLOAD
:=$(call AutoLoad
,80,ax25 mkiss
)
590 define KernelPackage
/ax25
/description
591 Kernel modules for AX25 support
594 $(eval
$(call KernelPackage
,ax25
))
597 define KernelPackage
/mp-alg
598 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
599 TITLE
:=ECMP caching algorithms
602 CONFIG_IP_ROUTE_MULTIPATH_RR \
603 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
604 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
605 CONFIG_IP_ROUTE_MULTIPATH_DRR
607 $(LINUX_DIR
)/net
/ipv4
/multipath_rr.
$(LINUX_KMOD_SUFFIX
) \
608 $(LINUX_DIR
)/net
/ipv4
/multipath_random.
$(LINUX_KMOD_SUFFIX
) \
609 $(LINUX_DIR
)/net
/ipv4
/multipath_wrandom.
$(LINUX_KMOD_SUFFIX
) \
610 $(LINUX_DIR
)/net
/ipv4
/multipath_drr.
$(LINUX_KMOD_SUFFIX
)
611 AUTOLOAD
:=$(call AutoLoad
,35,multipath_rr multipath_random multipath_wrandom multipath_drr
)
614 define KernelPackage
/mp-alg
/description
615 Kernel modules that provide several different algorithms for multipath
616 route selection from the route cache. The iproute
"mpath" argument allows
617 specifying which algorithm to use for routes.
618 quagga
(at least
<=0.99.6) requires a multipath patch to support this
619 cached mp route feature.
622 $(eval
$(call KernelPackage
,mp-alg
))
625 define KernelPackage
/pktgen
626 SUBMENU
:=$(NETWORK_SUPPORT_MENU
)
627 TITLE
:=Network packet generator
629 KCONFIG
:=CONFIG_NET_PKTGEN
630 FILES
:=$(LINUX_DIR
)/net
/core
/pktgen.
$(LINUX_KMOD_SUFFIX
)
631 AUTOLOAD
:=$(call AutoLoad
,99,pktgen
)
634 define KernelPackage
/pktgen
/description
635 Kernel modules for the Network Packet Generator
638 $(eval
$(call KernelPackage
,pktgen
))