[kernel] add lm92 kernel module
[openwrt/svn-archive/archive.git] / package / kernel / modules / netsupport.mk
index e848037f81d3145b71959eb1863fa1a815cc9677..d893c1add745d07d957e15dc9adcc391d6c16457 100644 (file)
@@ -1,5 +1,5 @@
 #
-# 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.
@@ -10,13 +10,12 @@ 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)
+       $(LINUX_DIR)/net/atm/atm.ko \
+       $(LINUX_DIR)/net/atm/br2684.ko
   AUTOLOAD:=$(call AutoLoad,30,atm br2684)
 endef
 
@@ -30,9 +29,9 @@ $(eval $(call KernelPackage,atm))
 define KernelPackage/atmtcp
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=ATM over TCP
-  DEPENDS:=@LINUX_2_6 kmod-atm
+  DEPENDS:=kmod-atm
   KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
-  FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.ko
   AUTOLOAD:=$(call AutoLoad,40,atmtcp)
 endef
 
@@ -43,11 +42,33 @@ endef
 $(eval $(call KernelPackage,atmtcp))
 
 
+define KernelPackage/appletalk
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
+  TITLE:=Appletalk protocol support
+  KCONFIG:= \
+       CONFIG_ATALK \
+       CONFIG_DEV_APPLETALK \
+       CONFIG_IPDDP \
+       CONFIG_IPDDP_ENCAP=y \
+       CONFIG_IPDDP_DECAP=y
+  FILES:= \
+       $(LINUX_DIR)/net/appletalk/appletalk.ko \
+       $(LINUX_DIR)/drivers/net/appletalk/ipddp.ko
+  AUTOLOAD:=$(call AutoLoad,40,appletalk ipddp)
+endef
+
+define KernelPackage/appletalk/description
+ Kernel module for AppleTalk protocol.
+endef
+
+$(eval $(call KernelPackage,appletalk))
+
+
 define KernelPackage/bonding
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=Ethernet bonding driver
   KCONFIG:=CONFIG_BONDING
-  FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko
   AUTOLOAD:=$(call AutoLoad,40,bonding)
 endef
 
@@ -58,19 +79,80 @@ endef
 $(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
-  DEPENDS:=@LINUX_2_6
   KCONFIG:= \
        CONFIG_ISDN_CAPI \
        CONFIG_ISDN_CAPI_CAPI20 \
-       CONFIG_ISDN_CAPIFS
+       CONFIG_ISDN_CAPIFS \
+       CONFIG_ISDN_CAPI_CAPIFS
   FILES:= \
-       $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/isdn/capi/capifs.$(LINUX_KMOD_SUFFIX)
-       $(LINUX_DIR)/drivers/isdn/capi/capi.$(LINUX_KMOD_SUFFIX) \
-  AUTOLOAD:=$(call AutoLoad,30,kernelcapi capifs capi)
+       $(LINUX_DIR)/drivers/isdn/capi/kernelcapi.ko \
+       $(LINUX_DIR)/drivers/isdn/capi/capi.ko
+  AUTOLOAD:=$(call AutoLoad,30,kernelcapi capi)
 endef
 
 define KernelPackage/capi/description
@@ -83,27 +165,14 @@ define KernelPackage/misdn
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=mISDN (ISDN) Support
   KCONFIG:= \
-       CONFIG_ISDN=y \
+       CONFIG_ISDN=y \
        CONFIG_MISDN \
        CONFIG_MISDN_DSP \
-       CONFIG_MISDN_L1OIP \
-       CONFIG_ISDN_PPP=n \
-       CONFIG_ISDN_AUDIO=n \
-       CONFIG_ISDN_WITH_ABC=n \
-       CONFIG_ISDN_DRV_LOOP=n \
-       CONFIG_ISDN_DIVERSION=n \
-       CONFIG_ISDN_DRV_HISAX=n \
-       CONFIG_ISDN_DRV_ICN=n \
-       CONFIG_ISDN_DRV_PCBIT=n \
-       CONFIG_ISDN_DRV_SC=n \
-       CONFIG_ISDN_DRV_ACT2000=n \
-       CONFIG_ISDN_DRV_EICON=n \
-       CONFIG_ISDN_DRV_TPAM=n \
-       CONFIG_HYSDN=n
+       CONFIG_MISDN_L1OIP
   FILES:= \
-       $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.$(LINUX_KMOD_SUFFIX)
+       $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \
+       $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \
+       $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko
   AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip)
 endef
 
@@ -118,30 +187,23 @@ define KernelPackage/isdn4linux
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=Old ISDN4Linux (deprecated)
   KCONFIG:= \
-    CONFIG_ISDN=y \
+       CONFIG_ISDN=y \
     CONFIG_ISDN_I4L \
     CONFIG_ISDN_PPP=y \
     CONFIG_ISDN_PPP_VJ=y \
     CONFIG_ISDN_MPP=y \
     CONFIG_IPPP_FILTER=y \
     CONFIG_ISDN_PPP_BSDCOMP \
+    CONFIG_ISDN_CAPI_MIDDLEWARE=y \
+    CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \
     CONFIG_ISDN_AUDIO=y \
     CONFIG_ISDN_TTY_FAX=y \
     CONFIG_ISDN_X25=y \
-    CONFIG_ISDN_DIVERSION \
-    CONFIG_ISDN_CAPI_CAPIDRV=n \
-    CONFIG_ISDN_DRV_ACT2000=n \
-    CONFIG_ISDN_DRV_GIGASET=n \
-    CONFIG_ISDN_DRV_HISAX=n \
-    CONFIG_ISDN_DRV_ICN=n \
-    CONFIG_ISDN_DRV_LOOP=n \
-    CONFIG_ISDN_DRV_PCBIT=n \
-    CONFIG_ISDN_DRV_SC=n \
-    CONFIG_HYSDN=n
+    CONFIG_ISDN_DIVERSION
   FILES:= \
-    $(LINUX_DIR)/drivers/isdn/i4l/isdn.$(LINUX_KMOD_SUFFIX) \
-    $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.$(LINUX_KMOD_SUFFIX) \
-    $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.$(LINUX_KMOD_SUFFIX)
+    $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \
+       $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \
+       $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko
   AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert)
 endef
 
@@ -155,9 +217,9 @@ $(eval $(call KernelPackage,isdn4linux))
 define KernelPackage/ipip
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=IP-in-IP encapsulation
-  DEPENDS:=+LINUX_2_6:kmod-iptunnel4
+  DEPENDS:=+kmod-iptunnel4
   KCONFIG:=CONFIG_NET_IPIP
-  FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko
   AUTOLOAD:=$(call AutoLoad,32,ipip)
 endef
 
@@ -168,28 +230,45 @@ endef
 $(eval $(call KernelPackage,ipip))
 
 
+IPSEC-m:= \
+       $(if $(CONFIG_LINUX_3_3),,xfrm/xfrm_algo) \
+       xfrm/xfrm_ipcomp \
+       xfrm/xfrm_user \
+       key/af_key \
+
 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
+  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
-  FILES:= \
-       $(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX)
+       CONFIG_XFRM_USER \
+       CONFIG_INET_IPCOMP \
+       CONFIG_XFRM_IPCOMP
+  FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko)
+  AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
 endef
 
 define KernelPackage/ipsec/description
  Kernel modules for IPsec support in both IPv4 and IPv6.
  Includes:
  - af_key
+ - xfrm_ipcomp
  - xfrm_user
 endef
 
 $(eval $(call KernelPackage,ipsec))
 
 
+IPSEC4-m:= \
+       ipv4/ah4 \
+       ipv4/esp4 \
+       ipv4/xfrm4_mode_beet \
+       ipv4/xfrm4_mode_transport \
+       ipv4/xfrm4_mode_tunnel \
+       ipv4/xfrm4_tunnel \
+       ipv4/ipcomp \
+
 define KernelPackage/ipsec4
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=IPsec related modules (IPv4)
@@ -202,9 +281,8 @@ define KernelPackage/ipsec4
        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) \
-  )
+  FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko)
+  AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
 endef
 
 define KernelPackage/ipsec4/description
@@ -212,7 +290,7 @@ define KernelPackage/ipsec4/description
  Includes:
  - ah4
  - esp4
- - ipcomp
+ - ipcomp4
  - xfrm4_mode_beet
  - xfrm4_mode_transport
  - xfrm4_mode_tunnel
@@ -222,6 +300,15 @@ endef
 $(eval $(call KernelPackage,ipsec4))
 
 
+IPSEC6-m:= \
+       ipv6/ah6 \
+       ipv6/esp6 \
+       ipv6/xfrm6_mode_beet \
+       ipv6/xfrm6_mode_transport \
+       ipv6/xfrm6_mode_tunnel \
+       ipv6/xfrm6_tunnel \
+       ipv6/ipcomp6 \
+
 define KernelPackage/ipsec6
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=IPsec related modules (IPv6)
@@ -234,9 +321,8 @@ define KernelPackage/ipsec6
        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) \
-  )
+  FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko)
+  AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
 endef
 
 define KernelPackage/ipsec6/description
@@ -258,13 +344,10 @@ $(eval $(call KernelPackage,ipsec6))
 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) \
-  )
+  FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko
   AUTOLOAD:=$(call AutoLoad,31,tunnel4)
 endef
 
@@ -278,12 +361,10 @@ $(eval $(call KernelPackage,iptunnel4))
 define KernelPackage/iptunnel6
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=IPv6 tunneling
-  DEPENDS:= @LINUX_2_6 +kmod-ipv6
+  DEPENDS:= +kmod-ipv6
   KCONFIG:= \
        CONFIG_INET6_TUNNEL
-  FILES:= $(foreach mod,tunnel6, \
-       $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
-  )
+  FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko
   AUTOLOAD:=$(call AutoLoad,31,tunnel6)
 endef
 
@@ -304,7 +385,7 @@ define KernelPackage/ipv6
        CONFIG_IPV6_MROUTE=y \
        CONFIG_IPV6_PIMSM_V2=n \
        CONFIG_IPV6_SUBTREES=y
-  FILES:=$(LINUX_DIR)/net/ipv6/ipv6.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/net/ipv6/ipv6.ko
   AUTOLOAD:=$(call AutoLoad,20,ipv6)
 endef
 
@@ -315,13 +396,13 @@ endef
 $(eval $(call KernelPackage,ipv6))
 
 
-# sit is not selectable on 2.4, but built when ipv6 is enabled
 define KernelPackage/sit
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
-  DEPENDS:=+kmod-ipv6 +LINUX_2_6:kmod-iptunnel4
-  TITLE:=IPv6-in-IPv4 tunnelling
-  KCONFIG:=CONFIG_IPV6 CONFIG_IPV6_SIT
-  FILES:=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
+  DEPENDS:=+kmod-ipv6 +kmod-iptunnel4
+  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
 
@@ -335,11 +416,9 @@ $(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
+  DEPENDS:= +kmod-ipv6 +kmod-iptunnel6
   KCONFIG:= CONFIG_IPV6_TUNNEL
-  FILES:= $(foreach mod,ip6_tunnel, \
-       $(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
-  )
+  FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko
   AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel)
 endef
 
@@ -353,8 +432,10 @@ $(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)
+  DEPENDS:=+PACKAGE_kmod-ipv6:kmod-ipv6
+  KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX
+  FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko
+  AUTOLOAD:=$(call AutoLoad,39,gre ip_gre)
 endef
 
 define KernelPackage/gre/description
@@ -364,11 +445,27 @@ endef
 $(eval $(call KernelPackage,gre))
 
 
+define KernelPackage/gre6
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
+  TITLE:=GRE support over IPV6
+  DEPENDS:=+kmod-ipv6 +kmod-ip6-tunnel @!LINUX_3_3 @!LINUX_3_6
+  KCONFIG:=CONFIG_IPV6_GRE
+  FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko
+  AUTOLOAD:=$(call AutoLoad,39,ip6_gre)
+endef
+
+define KernelPackage/gre6/description
+ Generic Routing Encapsulation support over IPv6
+endef
+
+$(eval $(call KernelPackage,gre6))
+
+
 define KernelPackage/tun
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=Universal TUN/TAP driver
   KCONFIG:=CONFIG_TUN
-  FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/net/tun.ko
   AUTOLOAD:=$(call AutoLoad,30,tun)
 endef
 
@@ -382,15 +479,15 @@ $(eval $(call KernelPackage,tun))
 define KernelPackage/ppp
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=PPP modules
-  DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
+  DEPENDS:=+kmod-lib-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)
+       $(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
 
@@ -406,7 +503,7 @@ define KernelPackage/ppp-synctty
   TITLE:=PPP sync tty support
   DEPENDS:=kmod-ppp
   KCONFIG:=CONFIG_PPP_SYNC_TTY
-  FILES:=$(LINUX_DIR)/drivers/net/ppp_synctty.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko
   AUTOLOAD:=$(call AutoLoad,40,ppp_synctty)
 endef
 
@@ -417,18 +514,33 @@ 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.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/net/pppox.$(LINUX_KMOD_SUFFIX)
+  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))
@@ -439,7 +551,7 @@ define KernelPackage/pppoa
   TITLE:=PPPoA support
   DEPENDS:=kmod-ppp +kmod-atm
   KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y
-  FILES:=$(LINUX_DIR)/net/atm/pppoatm.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko
   AUTOLOAD:=$(call AutoLoad,40,pppoatm)
 endef
 
@@ -450,12 +562,40 @@ endef
 $(eval $(call KernelPackage,pppoa))
 
 
+define KernelPackage/pptp
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
+  TITLE:=PPtP support
+  DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox
+  KCONFIG:=CONFIG_PPTP
+  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-pppox +kmod-l2tp
+  KCONFIG:=CONFIG_PPPOL2TP
+  FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko
+  AUTOLOAD:=$(call AutoLoad,41,l2tp_ppp)
+endef
+
+define KernelPackage/pppol2tp/description
+  Kernel modules for PPPoL2TP (PPP over L2TP) support
+endef
+
+$(eval $(call KernelPackage,pppol2tp))
+
+
 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)
+  FILES:=$(LINUX_DIR)/net/atm/clip.ko
   AUTOLOAD:=$(call AutoLoad,40,clip)
 endef
 
@@ -469,21 +609,11 @@ $(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
+  DEPENDS:=kmod-ppp +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb
   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)
+  FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko
   AUTOLOAD:=$(call AutoLoad,31,ppp_mppe)
 endef
 
@@ -494,38 +624,93 @@ 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_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 \
+       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
-  FILES:=$(LINUX_DIR)/net/sched/*.$(LINUX_KMOD_SUFFIX)
+       CONFIG_NET_ACT_SKBEDIT \
+       CONFIG_NET_EMATCH=y \
+       CONFIG_NET_EMATCH_U32
+  FILES:=$(SCHED_FILES)
+  AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE))
+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
+  AUTOLOAD:=$(call AutoLoad,71, act_connmark)
+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
+  AUTOLOAD:=$(call AutoLoad,72, sch_esfq)
+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_META \
+       CONFIG_NET_EMATCH_TEXT
+  FILES:=$(SCHED_FILES_EXTRA)
+  AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA))
 endef
 
 define KernelPackage/sched/description
Kernel schedulers for IP traffic
Extra kernel schedulers modules for IP traffic
 endef
 
 $(eval $(call KernelPackage,sched))
@@ -534,14 +719,14 @@ $(eval $(call KernelPackage,sched))
 define KernelPackage/ax25
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=AX25 support
-  DEPENDS:=kmod-crc16
   KCONFIG:= \
        CONFIG_AX25 \
        CONFIG_MKISS
   FILES:= \
-       $(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
+       $(LINUX_DIR)/net/ax25/ax25.ko \
+       $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko
   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
+  $(call AddDepends/crc16)
 endef
 
 define KernelPackage/ax25/description
@@ -554,17 +739,16 @@ $(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)
+       $(LINUX_DIR)/net/ipv4/multipath_rr.ko \
+       $(LINUX_DIR)/net/ipv4/multipath_random.ko \
+       $(LINUX_DIR)/net/ipv4/multipath_wrandom.ko \
+       $(LINUX_DIR)/net/ipv4/multipath_drr.ko
   AUTOLOAD:=$(call AutoLoad,35,multipath_rr multipath_random multipath_wrandom multipath_drr)
 endef
 
@@ -581,10 +765,10 @@ $(eval $(call KernelPackage,mp-alg))
 
 define KernelPackage/pktgen
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
+  DEPENDS:=@!TARGET_uml
   TITLE:=Network packet generator
-  DEPENDS:=@LINUX_2_6
   KCONFIG:=CONFIG_NET_PKTGEN
-  FILES:=$(LINUX_DIR)/net/core/pktgen.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/net/core/pktgen.ko
   AUTOLOAD:=$(call AutoLoad,99,pktgen)
 endef
 
@@ -594,3 +778,114 @@ endef
 
 $(eval $(call KernelPackage,pktgen))
 
+define KernelPackage/l2tp
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
+  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 \
+     CONFIG_SCTP_COOKIE_HMAC_SHA1=n \
+     CONFIG_SCTP_COOKIE_HMAC_MD5=y \
+     CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \
+     CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \
+     CONFIG_SCTP_DEFAULT_COOKIE_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
+
+  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))
+