#
-# 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
FILES:= \
$(LINUX_DIR)/drivers/isdn/capi/kernelcapi.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
Includes:
- ah4
- esp4
- - ipcomp
+ - ipcomp4
- xfrm4_mode_beet
- xfrm4_mode_transport
- xfrm4_mode_tunnel
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
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:= \
- $(LINUX_DIR)/drivers/net/ppp_async.ko \
- $(LINUX_DIR)/drivers/net/ppp_generic.ko \
- $(LINUX_DIR)/drivers/net/slhc.ko
+ $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \
+ $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko \
+ $(LINUX_DIR)/drivers/net/slip/slhc.ko
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
+ FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
endef
$(eval $(call KernelPackage,ppp-synctty))
+define KernelPackage/pppox
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=PPPoX helper
+ DEPENDS:=kmod-ppp
+ KCONFIG:=CONFIG_PPPOE
+ FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko
+ AUTOLOAD:=$(call AutoLoad,40,pppox)
+endef
+
+define KernelPackage/pppox/description
+ Kernel helper module for PPPoE and PPTP support
+endef
+
+$(eval $(call KernelPackage,pppox))
+
+
define KernelPackage/pppoe
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=PPPoE support
- DEPENDS:=kmod-ppp
+ DEPENDS:=kmod-ppp +kmod-pppox
KCONFIG:=CONFIG_PPPOE
- FILES:= \
- $(LINUX_DIR)/drivers/net/pppoe.ko \
- $(LINUX_DIR)/drivers/net/pppox.ko
- AUTOLOAD:=$(call AutoLoad,40,pppox pppoe)
+ FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko
+ AUTOLOAD:=$(call AutoLoad,41,pppoe)
endef
define KernelPackage/pppoe/description
- Kernel modules for PPPoE (PPP over Ethernet) support
+ Kernel module for PPPoE (PPP over Ethernet) support
endef
$(eval $(call KernelPackage,pppoe))
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
+ DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
KCONFIG:=CONFIG_PPTP
- FILES:=$(LINUX_DIR)/drivers/net/pptp.ko
+ FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko
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 +!LINUX_2_6_30&&!LINUX_2_6_31&&!LINUX_2_6_32:kmod-l2tp
+ DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp
KCONFIG:=CONFIG_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
+ FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
+ AUTOLOAD:=$(call AutoLoad,41,l2tp_ppp)
endef
define KernelPackage/pppol2tp/description
KCONFIG:= \
CONFIG_PPP_MPPE_MPPC \
CONFIG_PPP_MPPE
- FILES:=$(LINUX_DIR)/drivers/net/ppp_mppe.ko
+ FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
endef
$(eval $(call KernelPackage,mppe))
-define KernelPackage/sched
+SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko))
+SCHED_MODULES_CORE = sch_ingress sch_codel sch_fq_codel sch_hfsc cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_mirred act_skbedit
+SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark sch_esfq
+SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES))
+SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES)))
+SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA))
+
+define KernelPackage/sched-core
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Traffic schedulers
KCONFIG:= \
CONFIG_NET_SCHED=y \
- CONFIG_NET_SCH_DSMARK \
- CONFIG_NET_SCH_ESFQ \
- CONFIG_NET_SCH_ESFQ_NFCT=y \
- 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_TBF \
- CONFIG_NET_SCH_SFQ \
- CONFIG_NET_SCH_TEQL \
+ CONFIG_NET_SCH_CODEL \
+ CONFIG_NET_SCH_FQ_CODEL \
CONFIG_NET_CLS=y \
CONFIG_NET_CLS_ACT=y \
- CONFIG_NET_CLS_BASIC \
CONFIG_NET_CLS_FLOW \
CONFIG_NET_CLS_FW \
CONFIG_NET_CLS_ROUTE4 \
CONFIG_NET_CLS_TCINDEX \
CONFIG_NET_CLS_U32 \
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_U32
+ FILES:=$(SCHED_FILES)
+endef
+
+define KernelPackage/sched-core/description
+ Core kernel scheduler support for IP traffic
+endef
+
+$(eval $(call KernelPackage,sched-core))
+
+
+define KernelPackage/sched-connmark
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Traffic shaper conntrack mark support
+ DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra
+ KCONFIG:=CONFIG_NET_ACT_CONNMARK
+ FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko
+endef
+$(eval $(call KernelPackage,sched-connmark))
+
+define KernelPackage/sched-esfq
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Traffic shaper ESFQ support
+ DEPENDS:=+kmod-sched-core +kmod-ipt-core
+ KCONFIG:= \
+ CONFIG_NET_SCH_ESFQ \
+ CONFIG_NET_SCH_ESFQ_NFCT=y
+ FILES:=$(LINUX_DIR)/net/sched/sch_esfq.ko
+endef
+$(eval $(call KernelPackage,sched-esfq))
+
+define KernelPackage/sched
+ SUBMENU:=$(NETWORK_SUPPORT_MENU)
+ TITLE:=Extra traffic schedulers
+ DEPENDS:=+kmod-sched-core
+ KCONFIG:= \
+ CONFIG_NET_SCH_DSMARK \
+ CONFIG_NET_SCH_HTB \
+ CONFIG_NET_SCH_FIFO \
+ CONFIG_NET_SCH_GRED \
+ CONFIG_NET_SCH_PRIO \
+ CONFIG_NET_SCH_RED \
+ CONFIG_NET_SCH_TBF \
+ CONFIG_NET_SCH_SFQ \
+ CONFIG_NET_SCH_TEQL \
+ CONFIG_NET_CLS_BASIC \
+ CONFIG_NET_ACT_POLICE \
+ CONFIG_NET_ACT_IPT \
CONFIG_NET_EMATCH_CMP \
CONFIG_NET_EMATCH_NBYTE \
- CONFIG_NET_EMATCH_U32 \
CONFIG_NET_EMATCH_META \
CONFIG_NET_EMATCH_TEXT
- FILES:=$(LINUX_DIR)/net/sched/*.ko
+ FILES:=$(SCHED_FILES_EXTRA)
endef
define KernelPackage/sched/description
- Kernel schedulers for IP traffic
+ Extra kernel schedulers modules for IP traffic
endef
$(eval $(call KernelPackage,sched))
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_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
TITLE:=Network emulation functionality
DEPENDS:=+kmod-sched
KCONFIG:=CONFIG_NET_SCH_NETEM
- FILES:=$(LINUX_DIR)/net/sched/sch_netem.$(LINUX_KMOD_SUFFIX)
+ FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko
AUTOLOAD:=$(call AutoLoad,99,netem)
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
+
+ FILES:= \
+ $(LINUX_DIR)/drivers/net/slip/slip.ko
+ AUTOLOAD:=$(call AutoLoad,30,slip)
+endef
+
+define KernelPackage/slip/description
+ Kernel modules for SLIP support
+endef
+
+$(eval $(call KernelPackage,slip))
+