#
-# Copyright (C) 2006-2008 OpenWrt.org
+# Copyright (C) 2006-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
$(eval $(call KernelPackage,bonding))
+define KernelPackage/bridge
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Ethernet bridging support
+ DEPENDS:=+kmod-stp
+ KCONFIG:= \
+ CONFIG_BRIDGE \
+ CONFIG_BRIDGE_IGMP_SNOOPING=y
+ FILES:=$(LINUX_DIR)/net/bridge/bridge.ko
+ AUTOLOAD:=$(call AutoLoad,11,bridge)
+endef
+
+define KernelPackage/bridge/description
+ Kernel module for Ethernet bridging.
+endef
+
+$(eval $(call KernelPackage,bridge))
+
+define KernelPackage/llc
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=ANSI/IEEE 802.2 LLC support
+ KCONFIG:=CONFIG_LLC
+ FILES:=$(LINUX_DIR)/net/llc/llc.ko
+ AUTOLOAD:=$(call AutoLoad,09,llc)
+endef
+
+define KernelPackage/llc/description
+ Kernel module for ANSI/IEEE 802.2 LLC support.
+endef
+
+$(eval $(call KernelPackage,llc))
+
+define KernelPackage/stp
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Ethernet Spanning Tree Protocol support
+ DEPENDS:=+kmod-llc
+ KCONFIG:=CONFIG_STP
+ FILES:=$(LINUX_DIR)/net/802/stp.ko
+ AUTOLOAD:=$(call AutoLoad,10,stp)
+endef
+
+define KernelPackage/stp/description
+ Kernel module for Ethernet Spanning Tree Protocol support.
+endef
+
+$(eval $(call KernelPackage,stp))
+
+define KernelPackage/8021q
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=802.1Q VLAN support
+ KCONFIG:=CONFIG_VLAN_8021Q \
+ CONFIG_VLAN_8021Q_GVRP=n
+ FILES:=$(LINUX_DIR)/net/8021q/8021q.ko
+ AUTOLOAD:=$(call AutoLoad,12,8021q)
+endef
+
+define KernelPackage/8021q/description
+ Kernel module for 802.1Q VLAN support
+endef
+
+$(eval $(call KernelPackage,8021q))
+
+
define KernelPackage/capi
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=CAPI (ISDN) Support
CONFIG_ISDN_CAPI_CAPIFS
FILES:= \
$(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
- $(LINUX_DIR)/drivers/isdn/capi/capifs.ko \
$(LINUX_DIR)/drivers/isdn/capi/capi.ko
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.0)),1)
+ AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
+ else
+ FILES+= $(LINUX_DIR)/drivers/isdn/capi/capifs.ko
AUTOLOAD:=$(call AutoLoad,30,kernelcapi capifs capi)
+ endif
endef
define KernelPackage/capi/description
define KernelPackage/ipsec
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=IPsec related modules (IPv4 and IPv6)
- DEPENDS:=+kmod-crypto-core +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1
+ DEPENDS:=+kmod-crypto-authenc +kmod-crypto-iv +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1 +kmod-crypto-deflate +kmod-crypto-cbc
KCONFIG:= \
CONFIG_NET_KEY \
CONFIG_XFRM_USER \
define KernelPackage/sit
SUBMENU:=$(NETWORK_SUPPORT_MENU)
DEPENDS:=+kmod-ipv6 +kmod-iptunnel4
- TITLE:=IPv6-in-IPv4 tunnelling
- KCONFIG:=CONFIG_IPV6 CONFIG_IPV6_SIT
+ TITLE:=IPv6-in-IPv4 tunnel
+ KCONFIG:=CONFIG_IPV6_SIT \
+ CONFIG_IPV6_SIT_6RD=y
FILES:=$(LINUX_DIR)/net/ipv6/sit.ko
AUTOLOAD:=$(call AutoLoad,32,sit)
endef
TITLE:=IP-in-IPv6 tunnelling
DEPENDS:= +kmod-ipv6 +kmod-iptunnel6
KCONFIG:= CONFIG_IPV6_TUNNEL
- FILES:= $(foreach mod,ip6_tunnel, \
- $(LINUX_DIR)/net/ipv6/$(mod).ko \
- )
+ FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
endef
define KernelPackage/gre
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=GRE support
- KCONFIG:=CONFIG_NET_IPGRE
- FILES=$(LINUX_DIR)/net/ipv4/ip_gre.ko
+ DEPENDS:=+PACKAGE_kmod-ipv6:kmod-ipv6
+ KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.37)),1)
+ FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
+ AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
+ else
+ FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko
+ AUTOLOAD:=$(call AutoLoad,39,ip_gre)
+ endif
endef
define KernelPackage/gre/description
define KernelPackage/ppp
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=PPP modules
- DEPENDS:=+kmod-crc-ccitt
+ DEPENDS:=+kmod-lib-crc-ccitt
KCONFIG:= \
CONFIG_PPP \
CONFIG_PPP_ASYNC \
CONFIG_SLHC
- FILES:= \
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:= \
+ $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
+ $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko \
+ $(LINUX_DIR)/drivers/net/slip/slhc.ko
+ else
+ FILES:= \
$(LINUX_DIR)/drivers/net/ppp_async.ko \
$(LINUX_DIR)/drivers/net/ppp_generic.ko \
$(LINUX_DIR)/drivers/net/slhc.ko
+ endif
AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
endef
TITLE:=PPP sync tty support
DEPENDS:=kmod-ppp
KCONFIG:=CONFIG_PPP_SYNC_TTY
- FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.ko
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
+ else
+ FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.ko
+ endif
AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
endef
TITLE:=PPPoE support
DEPENDS:=kmod-ppp
KCONFIG:=CONFIG_PPPOE
- FILES:= \
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:= \
+ $(LINUX_DIR)/drivers/net/ppp/pppoe.ko \
+ $(LINUX_DIR)/drivers/net/ppp/pppox.ko
+ else
+ FILES:= \
$(LINUX_DIR)/drivers/net/pppoe.ko \
$(LINUX_DIR)/drivers/net/pppox.ko
+ endif
AUTOLOAD:=$(call AutoLoad,40,pppox pppoe)
endef
$(eval $(call KernelPackage,pppoa))
+
+define KernelPackage/pptp
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=PPtP support
+ DEPENDS:=kmod-ppp +kmod-gre @!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32&&!LINUX_2_6_36
+ KCONFIG:=CONFIG_PPTP
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
+ else
+ FILES:=$(LINUX_DIR)/drivers/net/pptp.ko
+ endif
+ AUTOLOAD:=$(call AutoLoad,41,pptp)
+endef
+
+$(eval $(call KernelPackage,pptp))
+
+
define KernelPackage/pppol2tp
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=PPPoL2TP support
- DEPENDS:=kmod-ppp +kmod-pppoe
+ DEPENDS:=kmod-ppp +kmod-pppoe +!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32:kmod-l2tp
KCONFIG:=CONFIG_PPPOL2TP
- FILES:=$(LINUX_DIR)/drivers/net/pppol2tp.ko
- AUTOLOAD:=$(call AutoLoad,40,pppol2tp)
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.35)),1)
+ FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
+ AUTOLOAD:=$(call AutoLoad,40,l2tp_ppp)
+ else
+ FILES:=$(LINUX_DIR)/drivers/net/pppol2tp.ko
+ AUTOLOAD:=$(call AutoLoad,40,pppol2tp)
+ endif
endef
define KernelPackage/pppol2tp/description
define KernelPackage/mppe
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Microsoft PPP compression/encryption
- DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1
+ DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
KCONFIG:= \
CONFIG_PPP_MPPE_MPPC \
CONFIG_PPP_MPPE
- FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.ko
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
+ else
+ FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.ko
+ endif
AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
endef
CONFIG_NET_ACT_MIRRED \
CONFIG_NET_ACT_IPT \
CONFIG_NET_ACT_POLICE \
+ CONFIG_NET_ACT_CONNMARK \
+ CONFIG_NET_ACT_SKBEDIT \
CONFIG_NET_EMATCH=y \
CONFIG_NET_EMATCH_CMP \
CONFIG_NET_EMATCH_NBYTE \
define KernelPackage/pktgen
SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ DEPENDS:=@!TARGET_uml
TITLE:=Network packet generator
KCONFIG:=CONFIG_NET_PKTGEN
FILES:=$(LINUX_DIR)/net/core/pktgen.ko
$(eval $(call KernelPackage,pktgen))
+define KernelPackage/l2tp
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ DEPENDS:=@!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32
+ TITLE:=Layer Two Tunneling Protocol (L2TP)
+ KCONFIG:=CONFIG_L2TP \
+ CONFIG_L2TP_V3=y \
+ CONFIG_L2TP_DEBUGFS=n
+ FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \
+ $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko
+ AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink)
+endef
+
+define KernelPackage/l2tp/description
+ Kernel modules for L2TP V3 Support
+endef
+
+$(eval $(call KernelPackage,l2tp))
+
+
+define KernelPackage/l2tp-eth
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=L2TP ethernet pseudowire support for L2TPv3
+ DEPENDS:=+kmod-l2tp
+ KCONFIG:=CONFIG_L2TP_ETH
+ FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko
+ AUTOLOAD:=$(call AutoLoad,33,l2tp_eth)
+endef
+
+define KernelPackage/l2tp-eth/description
+ Kernel modules for L2TP ethernet pseudowire support for L2TPv3
+endef
+
+$(eval $(call KernelPackage,l2tp-eth))
+
+define KernelPackage/l2tp-ip
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=L2TP IP encapsulation for L2TPv3
+ DEPENDS:=+kmod-l2tp
+ KCONFIG:=CONFIG_L2TP_IP
+ FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ip.ko
+ AUTOLOAD:=$(call AutoLoad,33,l2tp_ip)
+endef
+
+define KernelPackage/l2tp-ip/description
+ Kernel modules for L2TP IP encapsulation for L2TPv3
+endef
+
+$(eval $(call KernelPackage,l2tp-ip))
+
+
+define KernelPackage/sctp
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=SCTP protocol kernel support
+ KCONFIG:=\
+ CONFIG_IP_SCTP \
+ CONFIG_SCTP_DBG_MSG=n \
+ CONFIG_SCTP_DBG_OBJCNT=n \
+ CONFIG_SCTP_HMAC_NONE=n \
+ CONFIG_SCTP_HMAC_SHA1=n \
+ CONFIG_SCTP_HMAC_MD5=y
+ FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
+ AUTOLOAD:= $(call AutoLoad,32,sctp)
+ DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
+endef
+
+define KernelPackage/sctp/description
+ Kernel modules for SCTP protocol support
+endef
+
+$(eval $(call KernelPackage,sctp))
+
+
+define KernelPackage/netem
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Network emulation functionality
+ DEPENDS:=+kmod-sched
+ KCONFIG:=CONFIG_NET_SCH_NETEM
+ FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
+ AUTOLOAD:=$(call AutoLoad,99,netem)
+endef
+
+define KernelPackage/netem/description
+ Kernel modules for emulating the properties of wide area networks
+endef
+
+$(eval $(call KernelPackage,netem))
+
+define KernelPackage/slip
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=SLIP modules
+ KCONFIG:= \
+ CONFIG_SLIP \
+ CONFIG_SLIP_COMPRESSED=y \
+ CONFIG_SLIP_SMART=y \
+ CONFIG_SLIP_MODE_SLIP6=y
+
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.2)),1)
+ FILES:= \
+ $(LINUX_DIR)/drivers/net/slip/slip.ko
+ else
+ FILES:= \
+ $(LINUX_DIR)/drivers/net/slip.ko
+ endif
+ AUTOLOAD:=$(call AutoLoad,30,slip)
+endef
+
+define KernelPackage/slip/description
+ Kernel modules for SLIP support
+endef
+
+$(eval $(call KernelPackage,slip))
+