#
-# 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-iv +kmod-crypto-des +kmod-crypto-hmac +kmod-crypto-md5 +kmod-crypto-sha1 +kmod-crypto-deflate +kmod-crypto-cbc
+ 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/gre
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=GRE support
+ 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
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
define KernelPackage/pptp
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=PPtP support
- DEPENDS:=kmod-ppp +kmod-gre @LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39
+ DEPENDS:=kmod-ppp +kmod-gre @!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32&&!LINUX_2_6_36
KCONFIG:=CONFIG_PPTP
- FILES:=$(LINUX_DIR)/drivers/net/pptp.ko
+ 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
define KernelPackage/pppol2tp
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=PPPoL2TP support
- DEPENDS:=kmod-ppp +kmod-pppoe +LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39:kmod-l2tp
+ DEPENDS:=kmod-ppp +kmod-pppoe +!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32:kmod-l2tp
KCONFIG:=CONFIG_PPPOL2TP
ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.35)),1)
FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
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
define KernelPackage/l2tp
SUBMENU:=$(NETWORK_SUPPORT_MENU)
- DEPENDS:=@LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39
+ 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_SCTP_HMAC_MD5=y
FILES:= $(LINUX_DIR)/net/sctp/sctp.ko
AUTOLOAD:= $(call AutoLoad,32,sctp)
- DEPENDS:=+kmod-libcrc32c +kmod-crypto-md5 +kmod-crypto-hmac
+ DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac
endef
define KernelPackage/sctp/description
$(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))
+