summaryrefslogtreecommitdiff
path: root/package/kernel/modules/netsupport.mk
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/modules/netsupport.mk')
-rw-r--r--package/kernel/modules/netsupport.mk521
1 files changed, 521 insertions, 0 deletions
diff --git a/package/kernel/modules/netsupport.mk b/package/kernel/modules/netsupport.mk
new file mode 100644
index 0000000000..25900a5693
--- /dev/null
+++ b/package/kernel/modules/netsupport.mk
@@ -0,0 +1,521 @@
+#
+# Copyright (C) 2006-2008 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+NETWORK_SUPPORT_MENU:=Network Support
+
+define KernelPackage/atm
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=ATM support
+ DEPENDS:=@LINUX_2_6
+ KCONFIG:= \
+ CONFIG_ATM \
+ CONFIG_ATM_BR2684
+ FILES:= \
+ $(LINUX_DIR)/net/atm/atm.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/net/atm/br2684.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,30,atm br2684)
+endef
+
+define KernelPackage/atm/description
+ Kernel modules for ATM support
+endef
+
+$(eval $(call KernelPackage,atm))
+
+
+define KernelPackage/atmtcp
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=ATM over TCP
+ DEPENDS:=@LINUX_2_6 kmod-atm
+ KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
+ FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,40,atmtcp)
+endef
+
+define KernelPackage/atmtcp/description
+ Kernel module for ATM over TCP support
+endef
+
+$(eval $(call KernelPackage,atmtcp))
+
+
+define KernelPackage/bonding
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Ethernet bonding driver
+ KCONFIG:=CONFIG_BONDING
+ FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,40,bonding)
+endef
+
+define KernelPackage/bonding/description
+ Kernel module for NIC bonding.
+endef
+
+$(eval $(call KernelPackage,bonding))
+
+
+define KernelPackage/capi
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=CAPI (ISDN) Support
+ DEPENDS:=@LINUX_2_6
+ KCONFIG:= \
+ CONFIG_ISDN_CAPI \
+ CONFIG_ISDN_CAPI_CAPI20 \
+ CONFIG_ISDN_CAPIFS
+ FILES:= \
+ $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/drivers/isdn/capi/capi.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/drivers/isdn/capi/capifs.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
+endef
+
+define KernelPackage/capi/description
+ Kernel module for basic CAPI (ISDN) support
+endef
+
+$(eval $(call KernelPackage,capi))
+
+
+define KernelPackage/ipip
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=IP-in-IP encapsulation
+ DEPENDS:=+kmod-iptunnel4
+ KCONFIG:=CONFIG_NET_IPIP
+ FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,30,ipip)
+endef
+
+define KernelPackage/ipip/description
+ Kernel modules for IP-in-IP encapsulation
+endef
+
+$(eval $(call KernelPackage,ipip))
+
+
+define KernelPackage/ipsec
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=IPsec related modules (IPv4 and IPv6)
+ DEPENDS:=@LINUX_2_6 +kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
+ KCONFIG:= \
+ CONFIG_NET_KEY \
+ CONFIG_XFRM_USER
+ FILES:= \
+ $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/ipsec/description
+ Kernel modules for IPsec support in both IPv4 and IPv6.
+ Includes:
+ - af_key
+ - xfrm_user
+endef
+
+$(eval $(call KernelPackage,ipsec))
+
+
+define KernelPackage/ipsec4
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=IPsec related modules (IPv4)
+ DEPENDS:=kmod-ipsec +kmod-iptunnel4
+ KCONFIG:= \
+ CONFIG_INET_AH \
+ CONFIG_INET_ESP \
+ CONFIG_INET_IPCOMP \
+ CONFIG_INET_XFRM_MODE_BEET \
+ CONFIG_INET_XFRM_MODE_TRANSPORT \
+ CONFIG_INET_XFRM_MODE_TUNNEL \
+ CONFIG_INET_XFRM_TUNNEL
+ FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
+ $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
+ )
+endef
+
+define KernelPackage/ipsec4/description
+ Kernel modules for IPsec support in IPv4.
+ Includes:
+ - ah4
+ - esp4
+ - ipcomp
+ - xfrm4_mode_beet
+ - xfrm4_mode_transport
+ - xfrm4_mode_tunnel
+ - xfrm4_tunnel
+endef
+
+$(eval $(call KernelPackage,ipsec4))
+
+
+define KernelPackage/ipsec6
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=IPsec related modules (IPv6)
+ DEPENDS:=kmod-ipsec +kmod-iptunnel6
+ KCONFIG:= \
+ CONFIG_INET6_AH \
+ CONFIG_INET6_ESP \
+ CONFIG_INET6_IPCOMP \
+ CONFIG_INET6_XFRM_MODE_BEET \
+ CONFIG_INET6_XFRM_MODE_TRANSPORT \
+ CONFIG_INET6_XFRM_MODE_TUNNEL \
+ CONFIG_INET6_XFRM_TUNNEL
+ FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
+ $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
+ )
+endef
+
+define KernelPackage/ipsec6/description
+ Kernel modules for IPsec support in IPv6.
+ Includes:
+ - ah6
+ - esp6
+ - ipcomp6
+ - xfrm6_mode_beet
+ - xfrm6_mode_transport
+ - xfrm6_mode_tunnel
+ - xfrm6_tunnel
+endef
+
+$(eval $(call KernelPackage,ipsec6))
+
+
+# NOTE: tunnel4 is not selectable by itself, so enable ipip for that
+define KernelPackage/iptunnel4
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=IPv4 tunneling
+ DEPENDS:= @LINUX_2_6
+ KCONFIG:= \
+ CONFIG_NET_IPIP \
+ CONFIG_INET_TUNNEL
+ FILES:= $(foreach mod,tunnel4, \
+ $(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
+ )
+ AUTOLOAD:=$(call AutoLoad,31,tunnel4)
+endef
+
+define KernelPackage/iptunnel4/description
+ Kernel modules for IPv4 tunneling
+endef
+
+$(eval $(call KernelPackage,iptunnel4))
+
+
+define KernelPackage/iptunnel6
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=IPv6 tunneling
+ DEPENDS:= @LINUX_2_6 +kmod-ipv6
+ KCONFIG:= \
+ CONFIG_INET6_TUNNEL
+ FILES:= $(foreach mod,tunnel6, \
+ $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
+ )
+ AUTOLOAD:=$(call AutoLoad,31,tunnel6)
+endef
+
+define KernelPackage/iptunnel6/description
+ Kernel modules for IPv6 tunneling
+endef
+
+$(eval $(call KernelPackage,iptunnel6))
+
+
+define KernelPackage/ipv6
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=IPv6 support
+ KCONFIG:= \
+ CONFIG_IPV6 \
+ CONFIG_IPV6_PRIVACY=y \
+ CONFIG_IPV6_MULTIPLE_TABLES=y \
+ CONFIG_IPV6_SUBTREES=y
+ FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,20,ipv6)
+endef
+
+define KernelPackage/ipv6/description
+ Kernel modules for IPv6 support
+endef
+
+$(eval $(call KernelPackage,ipv6))
+
+
+define KernelPackage/sit
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ DEPENDS:=+kmod-iptunnel4
+ TITLE:=IPv6-in-IPv4 tunnelling
+endef
+
+# sit is compiled in the 2.4 ipv6 stack
+define KernelPackage/sit/2.4
+ DEPENDS:= @LINUX_2_4 +kmod-ipv6
+ KCONFIG:=CONFIG_IPV6
+endef
+
+define KernelPackage/sit/2.6
+ DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel4
+ KCONFIG+=CONFIG_IPV6_SIT
+ FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,32,sit)
+endef
+
+define KernelPackage/sit/description
+ Kernel modules for IPv6-in-IPv4 tunnelling
+endef
+
+$(eval $(call KernelPackage,sit))
+
+
+define KernelPackage/ip6-tunnel
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=IP-in-IPv6 tunnelling
+ DEPENDS:= @LINUX_2_6 +kmod-ipv6 +kmod-iptunnel6
+ KCONFIG:= CONFIG_IPV6_TUNNEL
+ FILES:= $(foreach mod,ip6_tunnel, \
+ $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
+ )
+ AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
+endef
+
+define KernelPackage/ip6-tunnel/description
+ Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling
+endef
+
+$(eval $(call KernelPackage,ip6-tunnel))
+
+
+define KernelPackage/gre
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=GRE support
+ KCONFIG:=CONFIG_NET_IPGRE
+ FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/gre/description
+ Generic Routing Encapsulation support
+endef
+
+$(eval $(call KernelPackage,gre))
+
+
+define KernelPackage/tun
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Universal TUN/TAP driver
+ KCONFIG:=CONFIG_TUN
+ FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,30,tun)
+endef
+
+define KernelPackage/tun/description
+ Kernel support for the TUN/TAP tunneling device
+endef
+
+$(eval $(call KernelPackage,tun))
+
+
+define KernelPackage/ppp
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=PPP modules
+ DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
+ KCONFIG:= \
+ CONFIG_PPP \
+ CONFIG_PPP_ASYNC \
+ CONFIG_SLHC
+ FILES:= \
+ $(LINUX_DIR)/drivers/net/ppp_async.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/drivers/net/ppp_generic.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/drivers/net/slhc.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
+endef
+
+define KernelPackage/ppp/description
+ Kernel modules for PPP support
+endef
+
+$(eval $(call KernelPackage,ppp))
+
+
+define KernelPackage/ppp-synctty
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=PPP sync tty support
+ DEPENDS:=kmod-ppp
+ KCONFIG:=CONFIG_PPP_SYNC_TTY
+ FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
+endef
+
+define KernelPackage/ppp-synctty/description
+ Kernel modules for PPP sync tty support
+endef
+
+$(eval $(call KernelPackage,ppp-synctty))
+
+
+define KernelPackage/pppoe
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=PPPoE support
+ DEPENDS:=kmod-ppp
+ KCONFIG:=CONFIG_PPPOE
+ FILES:= \
+ $(LINUX_DIR)/drivers/net/pppoe.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/pppoe/description
+ Kernel modules for PPPoE (PPP over Ethernet) support
+endef
+
+$(eval $(call KernelPackage,pppoe))
+
+
+define KernelPackage/pppoa
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=PPPoA support
+ DEPENDS:=kmod-ppp +kmod-atm
+ KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
+ FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,40,pppoatm)
+endef
+
+define KernelPackage/pppoa/description
+ Kernel modules for PPPoA (PPP over ATM) support
+endef
+
+$(eval $(call KernelPackage,pppoa))
+
+
+define KernelPackage/ipoa
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=IPoA support
+ DEPENDS:=kmod-atm
+ KCONFIG:=CONFIG_ATM_CLIP
+ FILES:=$(LINUX_DIR)/net/atm/clip.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,40,clip)
+endef
+
+define KernelPackage/ipoa/description
+ Kernel modules for IPoA (IP over ATM) support
+endef
+
+$(eval $(call KernelPackage,ipoa))
+
+
+define KernelPackage/mppe
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Microsoft PPP compression/encryption
+ DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1
+ KCONFIG:= \
+ CONFIG_PPP_MPPE_MPPC \
+ CONFIG_PPP_MPPE
+endef
+
+define KernelPackage/mppe/2.4
+# KCONFIG:=CONFIG_PPP_MPPE_MPPC
+ FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe_mppc.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,31,ppp_mppe_mppc)
+endef
+
+define KernelPackage/mppe/2.6
+# KCONFIG:=CONFIG_PPP_MPPE
+ FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
+endef
+
+define KernelPackage/mppe/description
+ Kernel modules for Microsoft PPP compression/encryption
+endef
+
+$(eval $(call KernelPackage,mppe))
+
+
+define KernelPackage/sched
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Traffic schedulers
+ KCONFIG:= \
+ CONFIG_NET_SCHED=y \
+ CONFIG_NET_SCH_DSMARK \
+ CONFIG_NET_SCH_ESFQ \
+ CONFIG_NET_SCH_FIFO \
+ CONFIG_NET_SCH_GRED \
+ CONFIG_NET_SCH_HFSC \
+ CONFIG_NET_SCH_HTB \
+ CONFIG_NET_SCH_INGRESS \
+ CONFIG_NET_SCH_PRIO \
+ CONFIG_NET_SCH_RED \
+ CONFIG_NET_SCH_SFQ \
+ CONFIG_NET_SCH_TBF \
+ CONFIG_NET_SCH_TEQL
+ FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/sched/description
+ Kernel schedulers for IP traffic
+endef
+
+$(eval $(call KernelPackage,sched))
+
+
+define KernelPackage/ax25
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=AX25 support
+ KCONFIG:= \
+ CONFIG_AX25 \
+ CONFIG_MKISS
+ FILES:= \
+ $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
+endef
+
+define KernelPackage/ax25/description
+ Kernel modules for AX25 support
+endef
+
+$(eval $(call KernelPackage,ax25))
+
+
+define KernelPackage/mp-alg
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=ECMP caching algorithms
+ DEPENDS:=@LINUX_2_6
+ KCONFIG:= \
+ CONFIG_IP_ROUTE_MULTIPATH_RR \
+ CONFIG_IP_ROUTE_MULTIPATH_RANDOM \
+ CONFIG_IP_ROUTE_MULTIPATH_WRANDOM \
+ CONFIG_IP_ROUTE_MULTIPATH_DRR
+ FILES:= \
+ $(LINUX_DIR)/net/ipv4/multipath_rr.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/net/ipv4/multipath_random.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/net/ipv4/multipath_wrandom.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/net/ipv4/multipath_drr.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
+endef
+
+define KernelPackage/mp-alg/description
+ Kernel modules that provide several different algorithms for multipath
+ route selection from the route cache. The iproute "mpath" argument allows
+ specifying which algorithm to use for routes.
+ quagga (at least <=0.99.6) requires a multipath patch to support this
+ cached mp route feature.
+endef
+
+$(eval $(call KernelPackage,mp-alg))
+
+
+define KernelPackage/pktgen
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Network packet generator
+ DEPENDS:=@LINUX_2_6
+ KCONFIG:=CONFIG_NET_PKTGEN
+ FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,99,pktgen)
+endef
+
+define KernelPackage/pktgen/description
+ Kernel modules for the Network Packet Generator
+endef
+
+$(eval $(call KernelPackage,pktgen))
+