split out crc-ccitt
[openwrt/svn-archive/archive.git] / package / kernel / modules / network.mk
index d11a981354c2c0479cea3f1311fe524e7b2db8e2..4419f1b8441f952d3d74af9d3c5e39b863c8e3fb 100644 (file)
@@ -1,15 +1,15 @@
 # 
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2008 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
 # $Id$
 
-NSMENU:=Network Support
+NETWORK_SUPPORT_MENU:=Network Support
 
 define KernelPackage/atm
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=ATM support
   DEPENDS:=@LINUX_2_6
   KCONFIG:= \
@@ -29,7 +29,7 @@ $(eval $(call KernelPackage,atm))
 
 
 define KernelPackage/atmtcp
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=ATM over TCP
   DEPENDS:=@LINUX_2_6 kmod-atm
   KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y
@@ -45,7 +45,7 @@ $(eval $(call KernelPackage,atmtcp))
 
 
 define KernelPackage/bonding
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=Ethernet bonding driver
   KCONFIG:=CONFIG_BONDING
   FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.$(LINUX_KMOD_SUFFIX)
@@ -59,33 +59,49 @@ endef
 $(eval $(call KernelPackage,bonding))
 
 
-define KernelPackage/ipip
-  SUBMENU:=$(NSMENU)
-  TITLE:=IP in IP encapsulation support
+define KernelPackage/capi
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
+  TITLE:=CAPI (ISDN) Support
+  DEPENDS:=@LINUX_2_6
   KCONFIG:= \
-       CONFIG_NET_IPIP \
-       CONFIG_INET_TUNNEL
-  FILES:=$(LINUX_DIR)/net/ipv4/ipip.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,30,ipip)
+       CONFIG_ISDN \
+       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/ipip/2.6
-#  KCONFIG+=CONFIG_INET_TUNNEL
-  FILES+=$(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD+=$(call AutoLoad,31,tunnel4)
+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
+ Kernel modules for IP-in-IP encapsulation
 endef
 
 $(eval $(call KernelPackage,ipip))
 
 
 define KernelPackage/ipsec
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=IPsec related modules (IPv4 and IPv6)
-  DEPENDS:=@LINUX_2_6
+  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
@@ -105,15 +121,18 @@ $(eval $(call KernelPackage,ipsec))
 
 
 define KernelPackage/ipsec4
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=IPsec related modules (IPv4)
-  DEPENDS:=kmod-ipsec
+  DEPENDS:=kmod-ipsec +kmod-iptunnel4 +kmod-crypto-aead
   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_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
@@ -124,6 +143,9 @@ define KernelPackage/ipsec4/description
  - ah4
  - esp4
  - ipcomp
+ - xfrm4_mode_beet
+ - xfrm4_mode_transport
+ - xfrm4_mode_tunnel
  - xfrm4_tunnel
 endef
 
@@ -131,16 +153,18 @@ $(eval $(call KernelPackage,ipsec4))
 
 
 define KernelPackage/ipsec6
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=IPsec related modules (IPv6)
-  DEPENDS:=kmod-ipsec
+  DEPENDS:=kmod-ipsec +kmod-iptunnel6 +kmod-crypto-aead
   KCONFIG:= \
        CONFIG_INET6_AH \
        CONFIG_INET6_ESP \
        CONFIG_INET6_IPCOMP \
-       CONFIG_INET6_XFRM_TUNNEL \
-       CONFIG_INET6_TUNNEL
-  FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_tunnel tunnel6, \
+       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
@@ -151,29 +175,67 @@ define KernelPackage/ipsec6/description
  - ah6
  - esp6
  - ipcomp6
+ - xfrm6_mode_beet
+ - xfrm6_mode_transport
+ - xfrm6_mode_tunnel
  - xfrm6_tunnel
- - tunnel6
 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:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=IPv6 support
   KCONFIG:= \
        CONFIG_IPV6 \
-       CONFIG_IPV6_SIT
+       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/2.6
-#  KCONFIG+=CONFIG_IPV6_SIT
-  FILES+=$(LINUX_DIR)/net/ipv6/sit.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD+=$(call AutoLoad,21,sit)
-endef
-
 define KernelPackage/ipv6/description
  Kernel modules for IPv6 support
 endef
@@ -181,8 +243,52 @@ 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:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=GRE support
   KCONFIG:=CONFIG_NET_IPGRE
   FILES=$(LINUX_DIR)/net/ipv4/ip_gre.$(LINUX_KMOD_SUFFIX)
@@ -196,7 +302,7 @@ $(eval $(call KernelPackage,gre))
 
 
 define KernelPackage/tun
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=Universal TUN/TAP driver
   KCONFIG:=CONFIG_TUN
   FILES:=$(LINUX_DIR)/drivers/net/tun.$(LINUX_KMOD_SUFFIX)
@@ -211,32 +317,20 @@ $(eval $(call KernelPackage,tun))
 
 
 define KernelPackage/ppp
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=PPP modules
+  DEPENDS:=+LINUX_2_6:kmod-crc-ccitt
   KCONFIG:= \
        CONFIG_PPP \
        CONFIG_PPP_ASYNC \
        CONFIG_SLHC \
-       CONFIG_CRC_CCITT
   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)
-endef
-
-define KernelPackage/ppp/2.4
   AUTOLOAD:=$(call AutoLoad,30,slhc ppp_generic ppp_async)
 endef
 
-define KernelPackage/ppp/2.6
-#  KCONFIG+= \
-#      CONFIG_SLHC \
-#      CONFIG_CRC_CCITT
-  FILES+= \
-       $(LINUX_DIR)/lib/crc-ccitt.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,30,crc-ccitt slhc ppp_generic ppp_async)
-endef
-
 define KernelPackage/ppp/description
  Kernel modules for PPP support
 endef
@@ -245,7 +339,7 @@ $(eval $(call KernelPackage,ppp))
 
 
 define KernelPackage/ppp-synctty
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=PPP sync tty support
   DEPENDS:=kmod-ppp
   KCONFIG:=CONFIG_PPP_SYNC_TTY
@@ -261,7 +355,7 @@ $(eval $(call KernelPackage,ppp-synctty))
 
 
 define KernelPackage/pppoe
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=PPPoE support
   DEPENDS:=kmod-ppp
   KCONFIG:=CONFIG_PPPOE
@@ -278,10 +372,10 @@ $(eval $(call KernelPackage,pppoe))
 
 
 define KernelPackage/pppoa
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=PPPoA support
-  DEPENDS:=kmod-ppp kmod-atm
-  KCONFIG:=CONFIG_PPPOATM
+  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
@@ -293,10 +387,26 @@ 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:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=Microsoft PPP compression/encryption
-  DEPENDS:=kmod-ppp
+  DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1
   KCONFIG:= \
        CONFIG_PPP_MPPE_MPPC \
        CONFIG_PPP_MPPE
@@ -322,9 +432,22 @@ $(eval $(call KernelPackage,mppe))
 
 
 define KernelPackage/sched
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=Traffic schedulers
-  KCONFIG:=CONFIG_NET_SCHED
+  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
 
@@ -336,7 +459,7 @@ $(eval $(call KernelPackage,sched))
 
 
 define KernelPackage/ax25
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=AX25 support
   KCONFIG:= \
        CONFIG_AX25 \
@@ -355,7 +478,7 @@ $(eval $(call KernelPackage,ax25))
 
 
 define KernelPackage/mp-alg
-  SUBMENU:=$(NSMENU)
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=ECMP caching algorithms
   DEPENDS:=@LINUX_2_6
   KCONFIG:= \
@@ -382,10 +505,26 @@ endef
 $(eval $(call KernelPackage,mp-alg))
 
 
-NDMENU:=Network Devices
+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))
+
+
+NETWORK_DEVICES_MENU:=Network Devices
 
 define KernelPackage/natsemi
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=National Semiconductor DP8381x series 
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_NATSEMI
@@ -402,11 +541,12 @@ $(eval $(call KernelPackage,natsemi))
 
 
 define KernelPackage/r6040
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=RDC Fast-Ethernet support
   DEPENDS:=@TARGET_rdc
   KCONFIG:=CONFIG_R6040
   FILES:=$(LINUX_DIR)/drivers/net/r6040.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,99,r6040)
 endef
 
 define KernelPackage/r6040/description
@@ -417,7 +557,7 @@ $(eval $(call KernelPackage,r6040))
 
 
 define KernelPackage/sis900
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=SiS 900 Ethernet support
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_SIS900
@@ -431,9 +571,30 @@ endef
 
 $(eval $(call KernelPackage,sis900))
 
+define KernelPackage/sky2
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=SysKonnect Yukon2 support
+  DEPENDS:=@TARGET_x86
+  KCONFIG:=CONFIG_SKY2
+  FILES:=$(LINUX_DIR)/drivers/net/sky2.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,50,sky2)
+endef
+
+define KernelPackage/sky2/description
+  This driver supports Gigabit Ethernet adapters based on the
+  Marvell Yukon 2 chipset:
+  Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
+  88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
+
+  There is companion driver for the older Marvell Yukon and
+  Genesis based adapters: skge.
+endef
+
+$(eval $(call KernelPackage,sky2))
+
 
 define KernelPackage/via-rhine
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Via Rhine ethernet support
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_VIA_RHINE
@@ -449,7 +610,7 @@ $(eval $(call KernelPackage,via-rhine))
 
 
 define KernelPackage/via-velocity
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support
   DEPENDS:=@TARGET_ixp4xx
   KCONFIG:=CONFIG_VIA_VELOCITY
@@ -465,7 +626,7 @@ $(eval $(call KernelPackage,via-velocity))
 
 
 define KernelPackage/8139too
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_8139TOO
@@ -481,7 +642,7 @@ $(eval $(call KernelPackage,8139too))
 
 
 define KernelPackage/r8169
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support
   DEPENDS:=@TARGET_x86 
   KCONFIG:=CONFIG_R8169 CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=n
@@ -497,7 +658,7 @@ $(eval $(call KernelPackage,r8169))
 
 
 define KernelPackage/ne2k-pci
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=ne2k-pci Ethernet Adapter kernel support
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_NE2K_PCI
@@ -515,7 +676,7 @@ $(eval $(call KernelPackage,ne2k-pci))
 
 
 define KernelPackage/ixp4xx-npe
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Intel(R) IXP4xx ethernet support
   DEPENDS:=@TARGET_ixp4xx
   KCONFIG:=CONFIG_IXP4XX_MAC
@@ -534,7 +695,7 @@ $(eval $(call KernelPackage,ixp4xx-npe))
 
 
 define KernelPackage/e100
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Intel(R) PRO/100+ cards kernel support
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_E100
@@ -550,7 +711,7 @@ $(eval $(call KernelPackage,e100))
 
 
 define KernelPackage/e1000
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=Intel(R) PRO/1000 cards kernel support
   DEPENDS:=@TARGET_x86
   KCONFIG:=CONFIG_E1000
@@ -564,12 +725,25 @@ endef
 
 $(eval $(call KernelPackage,e1000))
 
+define KernelPackage/b44
+  TITLE:=Broadcom 44xx driver
+  FILES:=$(LINUX_DIR)/drivers/net/b44.$(LINUX_KMOD_SUFFIX)
+  KCONFIG:=CONFIG_B44
+  DEPENDS:=@TARGET_x86 @BROKEN
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  AUTOLOAD:=$(call AutoLoad,50,b44)
+endef
+
+define KernelPackage/b44/description
+ Kernel modules for Broadcom 44xx Ethernet adapters.
+endef
+$(eval $(call KernelPackage,b44))
 
 define KernelPackage/3c59x
-  SUBMENU:=$(NDMENU)
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang
   DEPENDS:=@TARGET_x86
-  KCONFIG:=CONFIG_3C59X
+  KCONFIG:=CONFIG_VORTEX
   FILES:=$(LINUX_DIR)/drivers/net/3c59x.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,50,3c59x)
 endef
@@ -585,3 +759,45 @@ define KernelPackage/3c59x/description
 endef
 
 $(eval $(call KernelPackage,3c59x))
+
+define KernelPackage/pcnet32
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=AMD PCnet32 PCI support
+  DEPENDS:=@TARGET_x86
+  KCONFIG:=CONFIG_PCNET32
+  FILES:=$(LINUX_DIR)/drivers/net/pcnet32.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,50,pcnet32)
+endef
+
+define KernelPackage/pcnet32/description
+ Kernel modules for AMD PCnet32 Ethernet adapters.
+endef
+
+$(eval $(call KernelPackage,pcnet32))
+
+
+define KernelPackage/tg3
+  TITLE:=Broadcom Tigon3 Gigabit Ethernet
+  FILES:=$(LINUX_DIR)/drivers/net/tg3.$(LINUX_KMOD_SUFFIX)
+  KCONFIG:=CONFIG_TIGON3
+  DEPENDS:=@LINUX_2_6
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  AUTOLOAD:=$(call AutoLoad,50,tg3)
+endef
+
+define KernelPackage/tg3/description
+ Kernel modules for Broadcom Tigon3 Gigabit Ethernet adapters.
+endef
+$(eval $(call KernelPackage,tg3))
+
+define KernelPackage/ssb-gige
+  TITLE:=Broadcom SSB Gigabit Ethernet
+  KCONFIG:=CONFIG_SSB_DRIVER_GIGE=y
+  DEPENDS:=@TARGET_brcm47xx +kmod-tg3
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+endef
+
+define KernelPackage/ssb-gige/description
+ Kernel modules for Broadcom SSB Gigabit Ethernet adapters.
+endef
+$(eval $(call KernelPackage,ssb-gige))