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.
9 NETWORK_SUPPORT_MENU:=Network Support
11 define KernelPackage/atm
12 SUBMENU:=$(NETWORK_SUPPORT_MENU)
19 $(LINUX_DIR)/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
20 $(LINUX_DIR)/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
21 AUTOLOAD:=$(call AutoLoad,30,atm br2684)
24 define KernelPackage/atm/description
25 Kernel modules for ATM support
28 $(eval $(call KernelPackage,atm))
31 define KernelPackage/atmtcp
32 SUBMENU:=$(NETWORK_SUPPORT_MENU)
34 DEPENDS:=@LINUX_2_6 kmod-atm
35 KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
36 FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
37 AUTOLOAD:=$(call AutoLoad,40,atmtcp)
40 define KernelPackage/atmtcp/description
41 Kernel module for ATM over TCP support
44 $(eval $(call KernelPackage,atmtcp))
47 define KernelPackage/bonding
48 SUBMENU:=$(NETWORK_SUPPORT_MENU)
49 TITLE:=Ethernet bonding driver
50 KCONFIG:=CONFIG_BONDING
51 FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
52 AUTOLOAD:=$(call AutoLoad,40,bonding)
55 define KernelPackage/bonding/description
56 Kernel module for NIC bonding.
59 $(eval $(call KernelPackage,bonding))
62 define KernelPackage/capi
63 SUBMENU:=$(NETWORK_SUPPORT_MENU)
64 TITLE:=CAPI (ISDN) Support
68 CONFIG_ISDN_CAPI_CAPI20 \
71 $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.$(LINUX_KMOD_SUFFIX) \
72 $(LINUX_DIR)/drivers/isdn/capi/capi.$(LINUX_KMOD_SUFFIX) \
73 $(LINUX_DIR)/drivers/isdn/capi/capifs.$(LINUX_KMOD_SUFFIX)
74 AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi capifs)
77 define KernelPackage/capi/description
78 Kernel module for basic CAPI (ISDN) support
81 $(eval $(call KernelPackage,capi))
83 define KernelPackage/misdn
84 SUBMENU:=$(NETWORK_SUPPORT_MENU)
85 TITLE:=mISDN (ISDN) Support
92 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.$(LINUX_KMOD_SUFFIX) \
93 $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.$(LINUX_KMOD_SUFFIX) \
94 $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.$(LINUX_KMOD_SUFFIX)
95 AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
98 define KernelPackage/misdn/description
99 Modular ISDN driver support
102 $(eval $(call KernelPackage,misdn))
105 define KernelPackage/ipip
106 SUBMENU:=$(NETWORK_SUPPORT_MENU)
107 TITLE:=IP-in-IP encapsulation
108 DEPENDS:=+kmod-iptunnel4
109 KCONFIG:=CONFIG_NET_IPIP
110 FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
111 AUTOLOAD:=$(call AutoLoad,30,ipip)
114 define KernelPackage/ipip/description
115 Kernel modules for IP-in-IP encapsulation
118 $(eval $(call KernelPackage,ipip))
121 define KernelPackage/ipsec
122 SUBMENU:=$(NETWORK_SUPPORT_MENU)
123 TITLE:=IPsec related modules (IPv4 and IPv6)
124 DEPENDS:=@LINUX_2_6 +kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
129 $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
130 $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
133 define KernelPackage/ipsec/description
134 Kernel modules for IPsec support in both IPv4 and IPv6.
140 $(eval $(call KernelPackage,ipsec))
143 define KernelPackage/ipsec4
144 SUBMENU:=$(NETWORK_SUPPORT_MENU)
145 TITLE:=IPsec related modules (IPv4)
146 DEPENDS:=kmod-ipsec +kmod-iptunnel4
151 CONFIG_INET_XFRM_MODE_BEET \
152 CONFIG_INET_XFRM_MODE_TRANSPORT \
153 CONFIG_INET_XFRM_MODE_TUNNEL \
154 CONFIG_INET_XFRM_TUNNEL
155 FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
156 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
160 define KernelPackage/ipsec4/description
161 Kernel modules for IPsec support in IPv4.
167 - xfrm4_mode_transport
172 $(eval $(call KernelPackage,ipsec4))
175 define KernelPackage/ipsec6
176 SUBMENU:=$(NETWORK_SUPPORT_MENU)
177 TITLE:=IPsec related modules (IPv6)
178 DEPENDS:=kmod-ipsec +kmod-iptunnel6
182 CONFIG_INET6_IPCOMP \
183 CONFIG_INET6_XFRM_MODE_BEET \
184 CONFIG_INET6_XFRM_MODE_TRANSPORT \
185 CONFIG_INET6_XFRM_MODE_TUNNEL \
186 CONFIG_INET6_XFRM_TUNNEL
187 FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
188 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
192 define KernelPackage/ipsec6/description
193 Kernel modules for IPsec support in IPv6.
199 - xfrm6_mode_transport
204 $(eval $(call KernelPackage,ipsec6))
207 # NOTE: tunnel4 is not selectable by itself, so enable ipip for that
208 define KernelPackage/iptunnel4
209 SUBMENU:=$(NETWORK_SUPPORT_MENU)
210 TITLE:=IPv4 tunneling
215 FILES:= $(foreach mod,tunnel4, \
216 $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
218 AUTOLOAD:=$(call AutoLoad,31,tunnel4)
221 define KernelPackage/iptunnel4/description
222 Kernel modules for IPv4 tunneling
225 $(eval $(call KernelPackage,iptunnel4))
228 define KernelPackage/iptunnel6
229 SUBMENU:=$(NETWORK_SUPPORT_MENU)
230 TITLE:=IPv6 tunneling
231 DEPENDS:= @LINUX_2_6 +kmod-ipv6
234 FILES:= $(foreach mod,tunnel6, \
235 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
237 AUTOLOAD:=$(call AutoLoad,31,tunnel6)
240 define KernelPackage/iptunnel6/description
241 Kernel modules for IPv6 tunneling
244 $(eval $(call KernelPackage,iptunnel6))
247 define KernelPackage/ipv6
248 SUBMENU:=$(NETWORK_SUPPORT_MENU)
252 CONFIG_IPV6_PRIVACY=y \
253 CONFIG_IPV6_MULTIPLE_TABLES=y \
254 CONFIG_IPV6_SUBTREES=y
255 FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
256 AUTOLOAD:=$(call AutoLoad,20,ipv6)
259 define KernelPackage/ipv6/description
260 Kernel modules for IPv6 support
263 $(eval $(call KernelPackage,ipv6))
266 define KernelPackage/sit
267 SUBMENU:=$(NETWORK_SUPPORT_MENU)
268 DEPENDS:=+kmod-iptunnel4
269 TITLE:=IPv6-in-IPv4 tunnelling
272 # sit is compiled in the 2.4 ipv6 stack
273 define KernelPackage/sit/2.4
274 DEPENDS:= @LINUX_2_4 +kmod-ipv6
278 define KernelPackage/sit/2.6
279 DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel4
280 KCONFIG+=CONFIG_IPV6_SIT
281 FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
282 AUTOLOAD:=$(call AutoLoad,32,sit)
285 define KernelPackage/sit/description
286 Kernel modules for IPv6-in-IPv4 tunnelling
289 $(eval $(call KernelPackage,sit))
292 define KernelPackage/ip6-tunnel
293 SUBMENU:=$(NETWORK_SUPPORT_MENU)
294 TITLE:=IP-in-IPv6 tunnelling
295 DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel6
296 KCONFIG:= CONFIG_IPV6_TUNNEL
297 FILES:= $(foreach mod,ip6_tunnel, \
298 $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
300 AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
303 define KernelPackage/ip6-tunnel/description
304 Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
307 $(eval $(call KernelPackage,ip6-tunnel))
310 define KernelPackage/gre
311 SUBMENU:=$(NETWORK_SUPPORT_MENU)
313 KCONFIG:=CONFIG_NET_IPGRE
314 FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
317 define KernelPackage/gre/description
318 Generic Routing Encapsulation support
321 $(eval $(call KernelPackage,gre))
324 define KernelPackage/tun
325 SUBMENU:=$(NETWORK_SUPPORT_MENU)
326 TITLE:=Universal TUN/TAP driver
328 FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
329 AUTOLOAD:=$(call AutoLoad,30,tun)
332 define KernelPackage/tun/description
333 Kernel support for the TUN/TAP tunneling device
336 $(eval $(call KernelPackage,tun))
339 define KernelPackage/ppp
340 SUBMENU:=$(NETWORK_SUPPORT_MENU)
342 DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
348 $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
349 $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
350 $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
351 AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
354 define KernelPackage/ppp/description
355 Kernel modules for PPP support
358 $(eval $(call KernelPackage,ppp))
361 define KernelPackage/ppp-synctty
362 SUBMENU:=$(NETWORK_SUPPORT_MENU)
363 TITLE:=PPP sync tty support
365 KCONFIG:=CONFIG_PPP_SYNC_TTY
366 FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
367 AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
370 define KernelPackage/ppp-synctty/description
371 Kernel modules for PPP sync tty support
374 $(eval $(call KernelPackage,ppp-synctty))
377 define KernelPackage/pppoe
378 SUBMENU:=$(NETWORK_SUPPORT_MENU)
381 KCONFIG:=CONFIG_PPPOE
383 $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
384 $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
387 define KernelPackage/pppoe/description
388 Kernel modules for PPPoE (PPP over Ethernet) support
391 $(eval $(call KernelPackage,pppoe))
394 define KernelPackage/pppoa
395 SUBMENU:=$(NETWORK_SUPPORT_MENU)
397 DEPENDS:=kmod-ppp +kmod-atm
398 KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
399 FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
400 AUTOLOAD:=$(call AutoLoad,40,pppoatm)
403 define KernelPackage/pppoa/description
404 Kernel modules for PPPoA (PPP over ATM) support
407 $(eval $(call KernelPackage,pppoa))
410 define KernelPackage/ipoa
411 SUBMENU:=$(NETWORK_SUPPORT_MENU)
414 KCONFIG:=CONFIG_ATM_CLIP
415 FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
416 AUTOLOAD:=$(call AutoLoad,40,clip)
419 define KernelPackage/ipoa/description
420 Kernel modules for IPoA (IP over ATM) support
423 $(eval $(call KernelPackage,ipoa))
426 define KernelPackage/mppe
427 SUBMENU:=$(NETWORK_SUPPORT_MENU)
428 TITLE:=Microsoft PPP compression/encryption
429 DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1
431 CONFIG_PPP_MPPE_MPPC \
435 define KernelPackage/mppe/2.4
436 # KCONFIG:=CONFIG_PPP_MPPE_MPPC
437 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
438 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
441 define KernelPackage/mppe/2.6
442 # KCONFIG:=CONFIG_PPP_MPPE
443 FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
444 AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
447 define KernelPackage/mppe/description
448 Kernel modules for Microsoft PPP compression/encryption
451 $(eval $(call KernelPackage,mppe))
454 define KernelPackage/sched
455 SUBMENU:=$(NETWORK_SUPPORT_MENU)
456 TITLE:=Traffic schedulers
459 CONFIG_NET_SCH_DSMARK \
460 CONFIG_NET_SCH_ESFQ \
461 CONFIG_NET_SCH_FIFO \
462 CONFIG_NET_SCH_GRED \
463 CONFIG_NET_SCH_HFSC \
465 CONFIG_NET_SCH_INGRESS \
466 CONFIG_NET_SCH_PRIO \
471 FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
474 define KernelPackage/sched/description
475 Kernel schedulers for IP traffic
478 $(eval $(call KernelPackage,sched))
481 define KernelPackage/ax25
482 SUBMENU:=$(NETWORK_SUPPORT_MENU)
488 $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
489 $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
490 AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
493 define KernelPackage/ax25/description
494 Kernel modules for AX25 support
497 $(eval $(call KernelPackage,ax25))
500 define KernelPackage/mp-alg
501 SUBMENU:=$(NETWORK_SUPPORT_MENU)
502 TITLE:=ECMP caching algorithms
505 CONFIG_IP_ROUTE_MULTIPATH_RR \
506 CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
507 CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
508 CONFIG_IP_ROUTE_MULTIPATH_DRR
510 $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
511 $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
512 $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
513 $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
514 AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
517 define KernelPackage/mp-alg/description
518 Kernel modules that provide several different algorithms for multipath
519 route selection from the route cache. The iproute "mpath" argument allows
520 specifying which algorithm to use for routes.
521 quagga (at least <=0.99.6) requires a multipath patch to support this
522 cached mp route feature.
525 $(eval $(call KernelPackage,mp-alg))
528 define KernelPackage/pktgen
529 SUBMENU:=$(NETWORK_SUPPORT_MENU)
530 TITLE:=Network packet generator
532 KCONFIG:=CONFIG_NET_PKTGEN
533 FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
534 AUTOLOAD:=$(call AutoLoad,99,pktgen)
537 define KernelPackage/pktgen/description
538 Kernel modules for the Network Packet Generator
541 $(eval $(call KernelPackage,pktgen))