linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC/PATCH] network configs: disconnect network options from drivers
@ 2005-03-31  7:47 Randy.Dunlap
  2005-03-31 11:04 ` jamal
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Randy.Dunlap @ 2005-03-31  7:47 UTC (permalink / raw)
  To: ioe-lkml, matthew; +Cc: lkml, netdev


RFC:  This is a work-in-progress (WIP), not yet completed.

A few people dislike that the Networking Options menu is inside
the Device Drivers/Networking menu.  This patch moves the
Networking Options menu to immediately before the Device Drivers menu,
renames it to "Networking options and protocols", & moves most
protocols to more logical places (IMHOOC).

The reasons that it is still WIP are:
- I'd like to see all of the sub-menus done in the same style;
- IrDA & Bluetooth subsystems include protocols & drivers, yet
  they are displayed under Networking protocols.  I don't see
  much good reason to split them up.  (See, this is an example
  of why the Networking Options and Network Drivers were close
  together....)
- some Networking options need to be qualified with CONFIG_NET

Any comments?


Signed-off-by: Randy Dunlap <rddunlap@osdl.org>

 drivers/Kconfig     |    4
 drivers/net/Kconfig |    5
 net/Kconfig         |  396 ++++++++++++++++++++++++++--------------------------
 3 files changed, 208 insertions(+), 197 deletions(-)


diff -Naurp -X /home/rddunlap/doc/dontdiff-osdl linux-2612-rc1-pv/drivers/Kconfig linux-2612-rc1-netconfig/drivers/Kconfig
--- linux-2612-rc1-pv/drivers/Kconfig	2005-03-01 23:38:26.000000000 -0800
+++ linux-2612-rc1-netconfig/drivers/Kconfig	2005-03-30 22:19:48.231418331 -0800
@@ -1,5 +1,7 @@
 # drivers/Kconfig
 
+source "net/Kconfig"
+
 menu "Device Drivers"
 
 source "drivers/base/Kconfig"
@@ -28,7 +30,7 @@ source "drivers/message/i2o/Kconfig"
 
 source "drivers/macintosh/Kconfig"
 
-source "net/Kconfig"
+source "drivers/net/Kconfig"
 
 source "drivers/isdn/Kconfig"
 
diff -Naurp -X /home/rddunlap/doc/dontdiff-osdl linux-2612-rc1-pv/drivers/net/Kconfig linux-2612-rc1-netconfig/drivers/net/Kconfig
--- linux-2612-rc1-pv/drivers/net/Kconfig	2005-03-30 22:03:48.861547540 -0800
+++ linux-2612-rc1-netconfig/drivers/net/Kconfig	2005-03-30 22:59:00.441523697 -0800
@@ -1,8 +1,9 @@
-
 #
 # Network device configuration
 #
 
+menu "Network device support"
+
 config NETDEVICES
 	depends on NET
 	bool "Network device support"
@@ -2556,3 +2557,5 @@ config NETCONSOLE
 	If you want to log kernel messages over the network, enable this.
 	See <file:Documentation/networking/netconsole.txt> for details.
 
+endmenu
+
diff -Naurp -X /home/rddunlap/doc/dontdiff-osdl linux-2612-rc1-pv/net/Kconfig linux-2612-rc1-netconfig/net/Kconfig
--- linux-2612-rc1-pv/net/Kconfig	2005-03-30 22:03:57.503790207 -0800
+++ linux-2612-rc1-netconfig/net/Kconfig	2005-03-30 23:09:11.686664598 -0800
@@ -2,15 +2,18 @@
 # Network configuration
 #
 
-menu "Networking support"
+menu "Networking options and protocols"
 
 config NET
 	bool "Networking support"
+	default y
 	---help---
 	  Unless you really know what you are doing, you should say Y here.
 	  The reason is that some programs need kernel networking support even
 	  when running on a stand-alone machine that isn't connected to any
-	  other computer. If you are upgrading from an older kernel, you
+	  other computer.
+
+	  If you are upgrading from an older kernel, you
 	  should consider updating your networking tools too because changes
 	  in the kernel and the tools often go hand in hand. The tools are
 	  contained in the package net-tools, the location and version number
@@ -20,9 +23,6 @@ config NET
 	  recommended to read the NET-HOWTO, available from
 	  <http://www.tldp.org/docs.html#howto>.
 
-menu "Networking options"
-	depends on NET
-
 config PACKET
 	tristate "Packet socket"
 	---help---
@@ -81,6 +81,25 @@ config NET_KEY
 
 	  Say Y unless you know what you are doing.
 
+config NETPOLL
+	def_bool NETCONSOLE
+
+config NETPOLL_RX
+	bool "Netpoll support for trapping incoming packets"
+	default n
+	depends on NETPOLL
+
+config NETPOLL_TRAP
+	bool "Netpoll traffic trapping"
+	default n
+	depends on NETPOLL
+
+config NET_POLL_CONTROLLER
+	def_bool NETPOLL
+
+menu "Networking protocols"
+	depends on NET
+
 config INET
 	bool "TCP/IP networking"
 	---help---
@@ -127,100 +146,6 @@ config IPV6
 
 source "net/ipv6/Kconfig"
 
-menuconfig NETFILTER
-	bool "Network packet filtering (replaces ipchains)"
-	---help---
-	  Netfilter is a framework for filtering and mangling network packets
-	  that pass through your Linux box.
-
-	  The most common use of packet filtering is to run your Linux box as
-	  a firewall protecting a local network from the Internet. The type of
-	  firewall provided by this kernel support is called a "packet
-	  filter", which means that it can reject individual network packets
-	  based on type, source, destination etc. The other kind of firewall,
-	  a "proxy-based" one, is more secure but more intrusive and more
-	  bothersome to set up; it inspects the network traffic much more
-	  closely, modifies it and has knowledge about the higher level
-	  protocols, which a packet filter lacks. Moreover, proxy-based
-	  firewalls often require changes to the programs running on the local
-	  clients. Proxy-based firewalls don't need support by the kernel, but
-	  they are often combined with a packet filter, which only works if
-	  you say Y here.
-
-	  You should also say Y here if you intend to use your Linux box as
-	  the gateway to the Internet for a local network of machines without
-	  globally valid IP addresses. This is called "masquerading": if one
-	  of the computers on your local network wants to send something to
-	  the outside, your box can "masquerade" as that computer, i.e. it
-	  forwards the traffic to the intended outside destination, but
-	  modifies the packets to make it look like they came from the
-	  firewall box itself. It works both ways: if the outside host
-	  replies, the Linux box will silently forward the traffic to the
-	  correct local computer. This way, the computers on your local net
-	  are completely invisible to the outside world, even though they can
-	  reach the outside and can receive replies. It is even possible to
-	  run globally visible servers from within a masqueraded local network
-	  using a mechanism called portforwarding. Masquerading is also often
-	  called NAT (Network Address Translation).
-
-	  Another use of Netfilter is in transparent proxying: if a machine on
-	  the local network tries to connect to an outside host, your Linux
-	  box can transparently forward the traffic to a local server,
-	  typically a caching proxy server.
-
-	  Yet another use of Netfilter is building a bridging firewall. Using
-	  a bridge with Network packet filtering enabled makes iptables "see"
-	  the bridged traffic. For filtering on the lower network and Ethernet
-	  protocols over the bridge, use ebtables (under bridge netfilter
-	  configuration).
-
-	  Various modules exist for netfilter which replace the previous
-	  masquerading (ipmasqadm), packet filtering (ipchains), transparent
-	  proxying, and portforwarding mechanisms. Please see
-	  <file:Documentation/Changes> under "iptables" for the location of
-	  these packages.
-
-	  Make sure to say N to "Fast switching" below if you intend to say Y
-	  here, as Fast switching currently bypasses netfilter.
-
-	  Chances are that you should say Y here if you compile a kernel which
-	  will run as a router and N for regular hosts. If unsure, say N.
-
-if NETFILTER
-
-config NETFILTER_DEBUG
-	bool "Network packet filtering debugging"
-	depends on NETFILTER
-	help
-	  You can say Y here if you want to get additional messages useful in
-	  debugging the netfilter code.
-
-config BRIDGE_NETFILTER
-	bool "Bridged IP/ARP packets filtering"
-	depends on BRIDGE && NETFILTER && INET
-	default y
-	---help---
-	  Enabling this option will let arptables resp. iptables see bridged
-	  ARP resp. IP traffic. If you want a bridging firewall, you probably
-	  want this option enabled.
-	  Enabling or disabling this option doesn't enable or disable
-	  ebtables.
-
-	  If unsure, say N.
-
-source "net/ipv4/netfilter/Kconfig"
-source "net/ipv6/netfilter/Kconfig"
-source "net/decnet/netfilter/Kconfig"
-source "net/bridge/netfilter/Kconfig"
-
-endif
-
-config XFRM
-       bool
-       depends on NET
-
-source "net/xfrm/Kconfig"
-
 source "net/sctp/Kconfig"
 
 config ATM
@@ -294,50 +219,6 @@ config ATM_BR2684_IPFILTER
 	  large number of IP-only vcc's.  Do not enable this unless you are sure
 	  you know what you are doing.
 
-config BRIDGE
-	tristate "802.1d Ethernet Bridging"
-	---help---
-	  If you say Y here, then your Linux box will be able to act as an
-	  Ethernet bridge, which means that the different Ethernet segments it
-	  is connected to will appear as one Ethernet to the participants.
-	  Several such bridges can work together to create even larger
-	  networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
-	  As this is a standard, Linux bridges will cooperate properly with
-	  other third party bridge products.
-
-	  In order to use the Ethernet bridge, you'll need the bridge
-	  configuration tools; see <file:Documentation/networking/bridge.txt>
-	  for location. Please read the Bridge mini-HOWTO for more
-	  information.
-
-	  If you enable iptables support along with the bridge support then you
-	  turn your bridge into a bridging IP firewall.
-	  iptables will then see the IP packets being bridged, so you need to
-	  take this into account when setting up your firewall rules.
-	  Enabling arptables support when bridging will let arptables see
-	  bridged ARP traffic in the arptables FORWARD chain.
-
-	  To compile this code as a module, choose M here: the module
-	  will be called bridge.
-
-	  If unsure, say N.
-
-config VLAN_8021Q
-	tristate "802.1Q VLAN Support"
-	---help---
-	  Select this and you will be able to create 802.1Q VLAN interfaces
-	  on your ethernet interfaces.  802.1Q VLAN supports almost
-	  everything a regular ethernet interface does, including
-	  firewalling, bridging, and of course IP traffic.  You will need
-	  the 'vconfig' tool from the VLAN project in order to effectively
-	  use VLANs.  See the VLAN web page for more information:
-	  <http://www.candelatech.com/~greear/vlan.html>
-
-	  To compile this code as a module, choose M here: the module
-	  will be called 8021q.
-
-	  If unsure, say N.
-
 config DECNET
 	tristate "DECnet Support"
 	---help---
@@ -479,32 +360,6 @@ config LAPB
 	  To compile this driver as a module, choose M here: the
 	  module will be called lapb.  If unsure, say N.
 
-config NET_DIVERT
-	bool "Frame Diverter (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  The Frame Diverter allows you to divert packets from the
-	  network, that are not aimed at the interface receiving it (in
-	  promisc. mode). Typically, a Linux box setup as an Ethernet bridge
-	  with the Frames Diverter on, can do some *really* transparent www
-	  caching using a Squid proxy for example.
-
-	  This is very useful when you don't want to change your router's
-	  config (or if you simply don't have access to it).
-
-	  The other possible usages of diverting Ethernet Frames are
-	  numberous:
-	  - reroute smtp traffic to another interface
-	  - traffic-shape certain network streams
-	  - transparently proxy smtp connections
-	  - etc...
-
-	  For more informations, please refer to:
-	  <http://diverter.sourceforge.net/>
-	  <http://perso.wanadoo.fr/magpie/EtherDivert.html>
-
-	  If unsure, say N.
-
 config ECONET
 	tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
 	depends on EXPERIMENTAL && INET
@@ -538,6 +393,180 @@ config ECONET_NATIVE
 	  Say Y here if you have a native Econet network card installed in
 	  your computer.
 
+source "net/ax25/Kconfig"
+
+source "net/irda/Kconfig"
+
+source "net/bluetooth/Kconfig"
+
+endmenu
+# end options and protocols
+
+menuconfig NETFILTER
+	bool "Network packet filtering (replaces ipchains)"
+	---help---
+	  Netfilter is a framework for filtering and mangling network packets
+	  that pass through your Linux box.
+
+	  The most common use of packet filtering is to run your Linux box as
+	  a firewall protecting a local network from the Internet. The type of
+	  firewall provided by this kernel support is called a "packet
+	  filter", which means that it can reject individual network packets
+	  based on type, source, destination etc. The other kind of firewall,
+	  a "proxy-based" one, is more secure but more intrusive and more
+	  bothersome to set up; it inspects the network traffic much more
+	  closely, modifies it and has knowledge about the higher level
+	  protocols, which a packet filter lacks. Moreover, proxy-based
+	  firewalls often require changes to the programs running on the local
+	  clients. Proxy-based firewalls don't need support by the kernel, but
+	  they are often combined with a packet filter, which only works if
+	  you say Y here.
+
+	  You should also say Y here if you intend to use your Linux box as
+	  the gateway to the Internet for a local network of machines without
+	  globally valid IP addresses. This is called "masquerading": if one
+	  of the computers on your local network wants to send something to
+	  the outside, your box can "masquerade" as that computer, i.e. it
+	  forwards the traffic to the intended outside destination, but
+	  modifies the packets to make it look like they came from the
+	  firewall box itself. It works both ways: if the outside host
+	  replies, the Linux box will silently forward the traffic to the
+	  correct local computer. This way, the computers on your local net
+	  are completely invisible to the outside world, even though they can
+	  reach the outside and can receive replies. It is even possible to
+	  run globally visible servers from within a masqueraded local network
+	  using a mechanism called portforwarding. Masquerading is also often
+	  called NAT (Network Address Translation).
+
+	  Another use of Netfilter is in transparent proxying: if a machine on
+	  the local network tries to connect to an outside host, your Linux
+	  box can transparently forward the traffic to a local server,
+	  typically a caching proxy server.
+
+	  Yet another use of Netfilter is building a bridging firewall. Using
+	  a bridge with Network packet filtering enabled makes iptables "see"
+	  the bridged traffic. For filtering on the lower network and Ethernet
+	  protocols over the bridge, use ebtables (under bridge netfilter
+	  configuration).
+
+	  Various modules exist for netfilter which replace the previous
+	  masquerading (ipmasqadm), packet filtering (ipchains), transparent
+	  proxying, and portforwarding mechanisms. Please see
+	  <file:Documentation/Changes> under "iptables" for the location of
+	  these packages.
+
+	  Make sure to say N to "Fast switching" below if you intend to say Y
+	  here, as Fast switching currently bypasses netfilter.
+
+	  Chances are that you should say Y here if you compile a kernel which
+	  will run as a router and N for regular hosts. If unsure, say N.
+
+if NETFILTER
+
+config NETFILTER_DEBUG
+	bool "Network packet filtering debugging"
+	depends on NETFILTER
+	help
+	  You can say Y here if you want to get additional messages useful in
+	  debugging the netfilter code.
+
+config BRIDGE_NETFILTER
+	bool "Bridged IP/ARP packets filtering"
+	depends on BRIDGE && NETFILTER && INET
+	default y
+	---help---
+	  Enabling this option will let arptables resp. iptables see bridged
+	  ARP resp. IP traffic. If you want a bridging firewall, you probably
+	  want this option enabled.
+	  Enabling or disabling this option doesn't enable or disable
+	  ebtables.
+
+	  If unsure, say N.
+
+source "net/ipv4/netfilter/Kconfig"
+source "net/ipv6/netfilter/Kconfig"
+source "net/decnet/netfilter/Kconfig"
+source "net/bridge/netfilter/Kconfig"
+
+endif
+# endif NETFILTER
+
+config XFRM
+       bool
+       depends on NET
+
+source "net/xfrm/Kconfig"
+
+config BRIDGE
+	tristate "802.1d Ethernet Bridging"
+	---help---
+	  If you say Y here, then your Linux box will be able to act as an
+	  Ethernet bridge, which means that the different Ethernet segments it
+	  is connected to will appear as one Ethernet to the participants.
+	  Several such bridges can work together to create even larger
+	  networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
+	  As this is a standard, Linux bridges will cooperate properly with
+	  other third party bridge products.
+
+	  In order to use the Ethernet bridge, you'll need the bridge
+	  configuration tools; see <file:Documentation/networking/bridge.txt>
+	  for location. Please read the Bridge mini-HOWTO for more
+	  information.
+
+	  If you enable iptables support along with the bridge support then you
+	  turn your bridge into a bridging IP firewall.
+	  iptables will then see the IP packets being bridged, so you need to
+	  take this into account when setting up your firewall rules.
+	  Enabling arptables support when bridging will let arptables see
+	  bridged ARP traffic in the arptables FORWARD chain.
+
+	  To compile this code as a module, choose M here: the module
+	  will be called bridge.
+
+	  If unsure, say N.
+
+config VLAN_8021Q
+	tristate "802.1Q VLAN Support"
+	---help---
+	  Select this and you will be able to create 802.1Q VLAN interfaces
+	  on your ethernet interfaces.  802.1Q VLAN supports almost
+	  everything a regular ethernet interface does, including
+	  firewalling, bridging, and of course IP traffic.  You will need
+	  the 'vconfig' tool from the VLAN project in order to effectively
+	  use VLANs.  See the VLAN web page for more information:
+	  <http://www.candelatech.com/~greear/vlan.html>
+
+	  To compile this code as a module, choose M here: the module
+	  will be called 8021q.
+
+	  If unsure, say N.
+
+config NET_DIVERT
+	bool "Frame Diverter (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	---help---
+	  The Frame Diverter allows you to divert packets from the
+	  network, that are not aimed at the interface receiving it (in
+	  promisc. mode). Typically, a Linux box setup as an Ethernet bridge
+	  with the Frames Diverter on, can do some *really* transparent www
+	  caching using a Squid proxy for example.
+
+	  This is very useful when you don't want to change your router's
+	  config (or if you simply don't have access to it).
+
+	  The other possible usages of diverting Ethernet Frames are
+	  numberous:
+	  - reroute smtp traffic to another interface
+	  - traffic-shape certain network streams
+	  - transparently proxy smtp connections
+	  - etc...
+
+	  For more informations, please refer to:
+	  <http://diverter.sourceforge.net/>
+	  <http://perso.wanadoo.fr/magpie/EtherDivert.html>
+
+	  If unsure, say N.
+
 config WAN_ROUTER
 	tristate "WAN router"
 	depends on EXPERIMENTAL
@@ -605,6 +634,7 @@ config NET_SCHED
 source "net/sched/Kconfig"
 
 endmenu
+# end SCHED
 
 menu "Network testing"
 
@@ -624,32 +654,8 @@ config NET_PKTGEN
 	  module will be called pktgen.
 
 endmenu
+# end PKTGEN
 
 endmenu
-
-config NETPOLL
-	def_bool NETCONSOLE
-
-config NETPOLL_RX
-	bool "Netpoll support for trapping incoming packets"
-	default n
-	depends on NETPOLL
-
-config NETPOLL_TRAP
-	bool "Netpoll traffic trapping"
-	default n
-	depends on NETPOLL
-
-config NET_POLL_CONTROLLER
-	def_bool NETPOLL
-
-source "net/ax25/Kconfig"
-
-source "net/irda/Kconfig"
-
-source "net/bluetooth/Kconfig"
-
-source "drivers/net/Kconfig"
-
-endmenu
+# end top support: options and protocols
 


---
~Randy

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [RFC/PATCH] network configs: disconnect network options from drivers
  2005-03-31  7:47 [RFC/PATCH] network configs: disconnect network options from drivers Randy.Dunlap
@ 2005-03-31 11:04 ` jamal
  2005-03-31 16:46 ` Chris Friesen
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 18+ messages in thread
From: jamal @ 2005-03-31 11:04 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: ioe-lkml, matthew, lkml, netdev

On Thu, 2005-03-31 at 02:47, Randy.Dunlap wrote:
> RFC:  This is a work-in-progress (WIP), not yet completed.
> 
> A few people dislike that the Networking Options menu is inside
> the Device Drivers/Networking menu.  This patch moves the
> Networking Options menu to immediately before the Device Drivers menu,
> renames it to "Networking options and protocols", & moves most
> protocols to more logical places (IMHOOC).
> 

About time someone brave did this.

cheers,
jamal



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [RFC/PATCH] network configs: disconnect network options from drivers
  2005-03-31  7:47 [RFC/PATCH] network configs: disconnect network options from drivers Randy.Dunlap
  2005-03-31 11:04 ` jamal
@ 2005-03-31 16:46 ` Chris Friesen
  2005-03-31 18:30   ` David S. Miller
  2005-03-31 18:22 ` Thomas Graf
  2005-03-31 18:52 ` Sam Ravnborg
  3 siblings, 1 reply; 18+ messages in thread
From: Chris Friesen @ 2005-03-31 16:46 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: ioe-lkml, matthew, lkml, netdev

Randy.Dunlap wrote:

> A few people dislike that the Networking Options menu is inside
> the Device Drivers/Networking menu.  This patch moves the
> Networking Options menu to immediately before the Device Drivers menu,
> renames it to "Networking options and protocols", & moves most
> protocols to more logical places (IMHOOC).

<snip>

> Any comments?

Makes sense to me...

Chris


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [RFC/PATCH] network configs: disconnect network options from drivers
  2005-03-31  7:47 [RFC/PATCH] network configs: disconnect network options from drivers Randy.Dunlap
  2005-03-31 11:04 ` jamal
  2005-03-31 16:46 ` Chris Friesen
@ 2005-03-31 18:22 ` Thomas Graf
  2005-03-31 18:52 ` Sam Ravnborg
  3 siblings, 0 replies; 18+ messages in thread
From: Thomas Graf @ 2005-03-31 18:22 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: ioe-lkml, matthew, lkml, netdev

* Randy.Dunlap <20050330234709.1868eee5.randy.dunlap@verizon.net> 2005-03-30 23:47
> 
> RFC:  This is a work-in-progress (WIP), not yet completed.
> 
> A few people dislike that the Networking Options menu is inside
> the Device Drivers/Networking menu.  This patch moves the
> Networking Options menu to immediately before the Device Drivers menu,
> renames it to "Networking options and protocols", & moves most
> protocols to more logical places (IMHOOC).

Definitely a good idea.

> The reasons that it is still WIP are:
> - I'd like to see all of the sub-menus done in the same style;

Further suggestions:

 - Introduce sub menus on separate pages for TCP/IP, DECNet,
   ATM, ... i.e. like it is done for SCTP.

 - Separate things into top categories
     Socket Families (maybe separate page)
       - PF_PACKET
       - PF_UNIX
       - PF_KEY
     Protocols (separate page)
       - TCP/IP networking (separate page)
          - IPv6 (affecting choices below)
             - Privary extensions
          - multicasting
          - routing
             - advanced router
                - policy routing
                   - use nfmark with chaching support
                - multipath routing
                   - cached
                      - rrd
                      - random
                      - ...
             - multicast routing
                - pim v1
                - pim v2
             - verbose route monitoring
          - auto configuration
             - dhcp
             - boop
             - rarp
          - tunneling
             - IPv4
                - IPIP
                - GRE
                   - broadcast
             - IPv6
                - IPv6oIPv6
          - transformations
             - IPv4
                - AH
                - ESP
                - IPComp
             - IPv6
                - AH
                - ESP
                - IPComp
          - ARP daemon
          - TCP
             - Diagnostics
             - Syn Cookies
       - SCTP
       - ATM
       - 802.1d
       - 802.1q
       - DECnet
       - 802.2 LLC
       - IPX
       - Appletalk
       - X.25
       - LAPB
       - Econet
     <<Good title here>>
       - Netfilter
       - IPsec
       - LVS
       - Frame Diverter
       - QoS & Fair Queueing
       - Network testing
       - WAN Router

Thoughts?

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [RFC/PATCH] network configs: disconnect network options from drivers
  2005-03-31 16:46 ` Chris Friesen
@ 2005-03-31 18:30   ` David S. Miller
  0 siblings, 0 replies; 18+ messages in thread
From: David S. Miller @ 2005-03-31 18:30 UTC (permalink / raw)
  To: Chris Friesen; +Cc: randy.dunlap, ioe-lkml, matthew, linux-kernel, netdev

On Thu, 31 Mar 2005 10:46:45 -0600
Chris Friesen <cfriesen@nortel.com> wrote:

> > Any comments?
> 
> Makes sense to me...

Me too.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [RFC/PATCH] network configs: disconnect network options from drivers
  2005-03-31  7:47 [RFC/PATCH] network configs: disconnect network options from drivers Randy.Dunlap
                   ` (2 preceding siblings ...)
  2005-03-31 18:22 ` Thomas Graf
@ 2005-03-31 18:52 ` Sam Ravnborg
  2005-03-31 20:02   ` Randy.Dunlap
  3 siblings, 1 reply; 18+ messages in thread
From: Sam Ravnborg @ 2005-03-31 18:52 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: ioe-lkml, matthew, lkml, netdev

On Wed, Mar 30, 2005 at 11:47:09PM -0800, Randy.Dunlap wrote:
> 
> - some Networking options need to be qualified with CONFIG_NET
You can something along the lines os:

menu "Networking options and protocols"
  
config NET
	bool "Networking support"
	default y

if NET

...

menu "Network device support"
...
endmenu

...

endif
endmenu

Then everything wrapped in between if NET/endif is dependent on NET
without stating this explicitly.
You will alos have the menu nice indented.

	Sam

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [RFC/PATCH] network configs: disconnect network options from drivers
  2005-03-31 18:52 ` Sam Ravnborg
@ 2005-03-31 20:02   ` Randy.Dunlap
  2005-03-31 20:30     ` Sam Ravnborg
  0 siblings, 1 reply; 18+ messages in thread
From: Randy.Dunlap @ 2005-03-31 20:02 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

Sam Ravnborg wrote:
> On Wed, Mar 30, 2005 at 11:47:09PM -0800, Randy.Dunlap wrote:
> 
>>- some Networking options need to be qualified with CONFIG_NET
> 
> You can something along the lines os:
> 
> menu "Networking options and protocols"
>   
> config NET
> 	bool "Networking support"
> 	default y
> 
> if NET
> 
> ...
> 
> menu "Network device support"
> ...
> endmenu
> 
> ...
> 
> endif
> endmenu
> 
> Then everything wrapped in between if NET/endif is dependent on NET
> without stating this explicitly.
> You will alos have the menu nice indented.

Yes, sounds good, thanks.

And I'll look into Thomas's suggestions.

Other than "sounds good," are there some comments on:

a.  leaving IrDA and Bluetooth subsystem (with drivers) where they
     are, which is under "Network options and protocols"
	(I really don't want to split their drivers away from their
	subsystem, just to put them under Network driver support.)

b.  leaving SLIP, PPP, and PLIP where they are under Network driver
     support, even though they say that they are "protocols" ?

Any others?

Thanks,
-- 
~Randy

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [RFC/PATCH] network configs: disconnect network options from drivers
  2005-03-31 20:02   ` Randy.Dunlap
@ 2005-03-31 20:30     ` Sam Ravnborg
  2005-04-04  3:30       ` [PATCH] " Randy.Dunlap
  0 siblings, 1 reply; 18+ messages in thread
From: Sam Ravnborg @ 2005-03-31 20:30 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

On Thu, Mar 31, 2005 at 12:02:13PM -0800, Randy.Dunlap wrote:
> 
> Other than "sounds good," are there some comments on:
> 
> a.  leaving IrDA and Bluetooth subsystem (with drivers) where they
>     are, which is under "Network options and protocols"
> 	(I really don't want to split their drivers away from their
> 	subsystem, just to put them under Network driver support.)

Agreed. All IrDA / Bluetooth stuff belongs together.
Leave them where they are for now.

> 
> b.  leaving SLIP, PPP, and PLIP where they are under Network driver
>     support, even though they say that they are "protocols" ?
SLIP and PLIP is no that common. PPP is more common for cable-modem/ADSL
I suppose. But still it would make sense to create an Misc protocols
menu, like we have a misc filesystems menu.

	Sam

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH] network configs: disconnect network options from drivers
  2005-03-31 20:30     ` Sam Ravnborg
@ 2005-04-04  3:30       ` Randy.Dunlap
  2005-04-04 19:50         ` Sam Ravnborg
  0 siblings, 1 reply; 18+ messages in thread
From: Randy.Dunlap @ 2005-04-04  3:30 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

[-- Attachment #1: Type: text/plain, Size: 1197 bytes --]

Sam Ravnborg wrote:
> On Thu, Mar 31, 2005 at 12:02:13PM -0800, Randy.Dunlap wrote:
> 
>>Other than "sounds good," are there some comments on:
>>
>>a.  leaving IrDA and Bluetooth subsystem (with drivers) where they
>>    are, which is under "Network options and protocols"
>>	(I really don't want to split their drivers away from their
>>	subsystem, just to put them under Network driver support.)
> 
> 
> Agreed. All IrDA / Bluetooth stuff belongs together.
> Leave them where they are for now.
> 
> 
>>b.  leaving SLIP, PPP, and PLIP where they are under Network driver
>>    support, even though they say that they are "protocols" ?
> 
> SLIP and PLIP is no that common. PPP is more common for cable-modem/ADSL
> I suppose. But still it would make sense to create an Misc protocols
> menu, like we have a misc filesystems menu.

While looking into this suggestion, I see that SLIP, PLIP,
and PPP depend on NETDEVICES, and they use some netdev
interfaces, so they appear to be more like net devices
than protocols even though they are called
protocols in Kconfig text, so I am leaving them alone
for now.  Don't hesitate to correct me....

Any comments on this new version?

Thanks,
-- 
~Randy


[-- Attachment #2: netconfigs_v4.diff --]
[-- Type: text/x-patch, Size: 24821 bytes --]


A few people dislike that the Networking Options menu is inside
the Device Drivers/Networking menu.  This patch moves the
Networking Options menu to immediately before the Device Drivers
menu, renames it to "Networking options and protocols", & moves
most protocols to more logical places.

Notes:
- IrDA & Bluetooth subsystems include protocols & drivers, yet
  they are displayed under Networking protocols.  I don't see
  much good reason to split them up.  (See, this is an example
  of why the Networking Options and Network Drivers were close
  together....)
- SLIP, PLIP, and PPP option names say that they are protocols,
  but they are sort of a hybrid device and protocol, and they
  use network device interfaces, so they remain listed under
  Network devices.

 drivers/Kconfig              |    4
 drivers/net/Kconfig          |    5
 net/Kconfig                  |  450 ++++++++++++++++++++++---------------------
 net/bridge/netfilter/Kconfig |    1
 4 files changed, 241 insertions(+), 219 deletions(-)

Signed-off-by: Randy Dunlap <rddunlap@osdl.org>

diff -Naurp -X /home/rddunlap/doc/dontdiff-osdl linux-2612-rc1-bk5-pv/drivers/Kconfig linux-2612-rc1-bk5-netconfigs/drivers/Kconfig
--- linux-2612-rc1-bk5-pv/drivers/Kconfig	2005-03-01 23:38:26.000000000 -0800
+++ linux-2612-rc1-bk5-netconfigs/drivers/Kconfig	2005-04-03 19:45:18.330102257 -0700
@@ -1,5 +1,7 @@
 # drivers/Kconfig
 
+source "net/Kconfig"
+
 menu "Device Drivers"
 
 source "drivers/base/Kconfig"
@@ -28,7 +30,7 @@ source "drivers/message/i2o/Kconfig"
 
 source "drivers/macintosh/Kconfig"
 
-source "net/Kconfig"
+source "drivers/net/Kconfig"
 
 source "drivers/isdn/Kconfig"
 
diff -Naurp -X /home/rddunlap/doc/dontdiff-osdl linux-2612-rc1-bk5-pv/drivers/net/Kconfig linux-2612-rc1-bk5-netconfigs/drivers/net/Kconfig
--- linux-2612-rc1-bk5-pv/drivers/net/Kconfig	2005-04-03 19:42:32.000000000 -0700
+++ linux-2612-rc1-bk5-netconfigs/drivers/net/Kconfig	2005-04-03 19:45:18.335101815 -0700
@@ -1,8 +1,9 @@
-
 #
 # Network device configuration
 #
 
+menu "Network device support"
+
 config NETDEVICES
 	depends on NET
 	bool "Network device support"
@@ -2536,3 +2537,5 @@ config NETCONSOLE
 	If you want to log kernel messages over the network, enable this.
 	See <file:Documentation/networking/netconsole.txt> for details.
 
+endmenu
+
diff -Naurp -X /home/rddunlap/doc/dontdiff-osdl linux-2612-rc1-bk5-pv/net/bridge/netfilter/Kconfig linux-2612-rc1-bk5-netconfigs/net/bridge/netfilter/Kconfig
--- linux-2612-rc1-bk5-pv/net/bridge/netfilter/Kconfig	2005-03-01 23:37:50.000000000 -0800
+++ linux-2612-rc1-bk5-netconfigs/net/bridge/netfilter/Kconfig	2005-04-03 19:45:18.000000000 -0700
@@ -139,6 +139,7 @@ config BRIDGE_EBT_VLAN
 config BRIDGE_EBT_ARPREPLY
 	tristate "ebt: arp reply target support"
 	depends on BRIDGE_NF_EBTABLES
+	depends on INET
 	help
 	  This option adds the arp reply target, which allows
 	  automatically sending arp replies to arp requests.
diff -Naurp -X /home/rddunlap/doc/dontdiff-osdl linux-2612-rc1-bk5-pv/net/Kconfig linux-2612-rc1-bk5-netconfigs/net/Kconfig
--- linux-2612-rc1-bk5-pv/net/Kconfig	2005-04-03 19:42:35.000000000 -0700
+++ linux-2612-rc1-bk5-netconfigs/net/Kconfig	2005-04-03 19:45:18.000000000 -0700
@@ -2,7 +2,7 @@
 # Network configuration
 #
 
-menu "Networking support"
+menu "Networking options and protocols"
 
 config NET
 	bool "Networking support"
@@ -10,7 +10,9 @@ config NET
 	  Unless you really know what you are doing, you should say Y here.
 	  The reason is that some programs need kernel networking support even
 	  when running on a stand-alone machine that isn't connected to any
-	  other computer. If you are upgrading from an older kernel, you
+	  other computer.
+
+	  If you are upgrading from an older kernel, you
 	  should consider updating your networking tools too because changes
 	  in the kernel and the tools often go hand in hand. The tools are
 	  contained in the package net-tools, the location and version number
@@ -20,11 +22,9 @@ config NET
 	  recommended to read the NET-HOWTO, available from
 	  <http://www.tldp.org/docs.html#howto>.
 
-menu "Networking options"
-	depends on NET
-
 config PACKET
 	tristate "Packet socket"
+	depends on NET
 	---help---
 	  The Packet protocol is used by applications which communicate
 	  directly with network devices without an intermediate network
@@ -47,6 +47,7 @@ config PACKET_MMAP
 
 config UNIX
 	tristate "Unix domain sockets"
+	depends on NET
 	---help---
 	  If you say Y here, you will include support for Unix domain sockets;
 	  sockets are the standard Unix mechanism for establishing and
@@ -64,6 +65,7 @@ config UNIX
 
 config NET_KEY
 	tristate "PF_KEY sockets"
+	depends on NET
 	select XFRM
 	---help---
 	  PF_KEYv2 socket family, compatible to KAME ones.
@@ -72,8 +74,127 @@ config NET_KEY
 
 	  Say Y unless you know what you are doing.
 
+config NETPOLL
+	depends on NET
+	def_bool NETCONSOLE
+
+config NETPOLL_RX
+	bool "Netpoll support for trapping incoming packets"
+	default n
+	depends on NETPOLL
+
+config NETPOLL_TRAP
+	bool "Netpoll traffic trapping"
+	default n
+	depends on NETPOLL
+
+config NET_POLL_CONTROLLER
+	def_bool NETPOLL
+	depends on NET
+
+config BRIDGE
+	tristate "802.1d Ethernet Bridging"
+	depends on NET
+	---help---
+	  If you say Y here, then your Linux box will be able to act as an
+	  Ethernet bridge, which means that the different Ethernet segments it
+	  is connected to will appear as one Ethernet to the participants.
+	  Several such bridges can work together to create even larger
+	  networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
+	  As this is a standard, Linux bridges will cooperate properly with
+	  other third party bridge products.
+
+	  In order to use the Ethernet bridge, you'll need the bridge
+	  configuration tools; see <file:Documentation/networking/bridge.txt>
+	  for location. Please read the Bridge mini-HOWTO for more
+	  information.
+
+	  If you enable iptables support along with the bridge support then you
+	  turn your bridge into a bridging IP firewall.
+	  iptables will then see the IP packets being bridged, so you need to
+	  take this into account when setting up your firewall rules.
+	  Enabling arptables support when bridging will let arptables see
+	  bridged ARP traffic in the arptables FORWARD chain.
+
+	  To compile this code as a module, choose M here: the module
+	  will be called bridge.
+
+	  If unsure, say N.
+
+config VLAN_8021Q
+	tristate "802.1Q VLAN Support"
+	depends on NET
+	---help---
+	  Select this and you will be able to create 802.1Q VLAN interfaces
+	  on your ethernet interfaces.  802.1Q VLAN supports almost
+	  everything a regular ethernet interface does, including
+	  firewalling, bridging, and of course IP traffic.  You will need
+	  the 'vconfig' tool from the VLAN project in order to effectively
+	  use VLANs.  See the VLAN web page for more information:
+	  <http://www.candelatech.com/~greear/vlan.html>
+
+	  To compile this code as a module, choose M here: the module
+	  will be called 8021q.
+
+	  If unsure, say N.
+
+config NET_DIVERT
+	bool "Frame Diverter (EXPERIMENTAL)"
+	depends on NET && EXPERIMENTAL
+	---help---
+	  The Frame Diverter allows you to divert packets from the
+	  network, that are not aimed at the interface receiving it (in
+	  promisc. mode). Typically, a Linux box setup as an Ethernet bridge
+	  with the Frames Diverter on, can do some *really* transparent www
+	  caching using a Squid proxy for example.
+
+	  This is very useful when you don't want to change your router's
+	  config (or if you simply don't have access to it).
+
+	  The other possible usages of diverting Ethernet Frames are
+	  numberous:
+	  - reroute smtp traffic to another interface
+	  - traffic-shape certain network streams
+	  - transparently proxy smtp connections
+	  - etc...
+
+	  For more informations, please refer to:
+	  <http://diverter.sourceforge.net/>
+	  <http://perso.wanadoo.fr/magpie/EtherDivert.html>
+
+	  If unsure, say N.
+
+config WAN_ROUTER
+	tristate "WAN router"
+	depends on NET && EXPERIMENTAL
+	---help---
+	  Wide Area Networks (WANs), such as X.25, frame relay and leased
+	  lines, are used to interconnect Local Area Networks (LANs) over vast
+	  distances with data transfer rates significantly higher than those
+	  achievable with commonly used asynchronous modem connections.
+	  Usually, a quite expensive external device called a `WAN router' is
+	  needed to connect to a WAN.
+
+	  As an alternative, WAN routing can be built into the Linux kernel.
+	  With relatively inexpensive WAN interface cards available on the
+	  market, a perfectly usable router can be built for less than half
+	  the price of an external router.  If you have one of those cards and
+	  wish to use your Linux box as a WAN router, say Y here and also to
+	  the WAN driver for your card, below.  You will then need the
+	  wan-tools package which is available from <ftp://ftp.sangoma.com/>.
+	  Read <file:Documentation/networking/wan-router.txt> for more
+	  information.
+
+	  To compile WAN routing support as a module, choose M here: the
+	  module will be called wanrouter.
+
+	  If unsure, say N.
+
+menu "Networking protocols"
+
 config INET
 	bool "TCP/IP networking"
+	depends on NET
 	---help---
 	  These are the protocols used on the Internet and on most local
 	  Ethernets. It is highly recommended to say Y here (this will enlarge
@@ -118,105 +239,12 @@ config IPV6
 
 source "net/ipv6/Kconfig"
 
-menuconfig NETFILTER
-	bool "Network packet filtering (replaces ipchains)"
-	---help---
-	  Netfilter is a framework for filtering and mangling network packets
-	  that pass through your Linux box.
-
-	  The most common use of packet filtering is to run your Linux box as
-	  a firewall protecting a local network from the Internet. The type of
-	  firewall provided by this kernel support is called a "packet
-	  filter", which means that it can reject individual network packets
-	  based on type, source, destination etc. The other kind of firewall,
-	  a "proxy-based" one, is more secure but more intrusive and more
-	  bothersome to set up; it inspects the network traffic much more
-	  closely, modifies it and has knowledge about the higher level
-	  protocols, which a packet filter lacks. Moreover, proxy-based
-	  firewalls often require changes to the programs running on the local
-	  clients. Proxy-based firewalls don't need support by the kernel, but
-	  they are often combined with a packet filter, which only works if
-	  you say Y here.
-
-	  You should also say Y here if you intend to use your Linux box as
-	  the gateway to the Internet for a local network of machines without
-	  globally valid IP addresses. This is called "masquerading": if one
-	  of the computers on your local network wants to send something to
-	  the outside, your box can "masquerade" as that computer, i.e. it
-	  forwards the traffic to the intended outside destination, but
-	  modifies the packets to make it look like they came from the
-	  firewall box itself. It works both ways: if the outside host
-	  replies, the Linux box will silently forward the traffic to the
-	  correct local computer. This way, the computers on your local net
-	  are completely invisible to the outside world, even though they can
-	  reach the outside and can receive replies. It is even possible to
-	  run globally visible servers from within a masqueraded local network
-	  using a mechanism called portforwarding. Masquerading is also often
-	  called NAT (Network Address Translation).
-
-	  Another use of Netfilter is in transparent proxying: if a machine on
-	  the local network tries to connect to an outside host, your Linux
-	  box can transparently forward the traffic to a local server,
-	  typically a caching proxy server.
-
-	  Yet another use of Netfilter is building a bridging firewall. Using
-	  a bridge with Network packet filtering enabled makes iptables "see"
-	  the bridged traffic. For filtering on the lower network and Ethernet
-	  protocols over the bridge, use ebtables (under bridge netfilter
-	  configuration).
-
-	  Various modules exist for netfilter which replace the previous
-	  masquerading (ipmasqadm), packet filtering (ipchains), transparent
-	  proxying, and portforwarding mechanisms. Please see
-	  <file:Documentation/Changes> under "iptables" for the location of
-	  these packages.
-
-	  Make sure to say N to "Fast switching" below if you intend to say Y
-	  here, as Fast switching currently bypasses netfilter.
-
-	  Chances are that you should say Y here if you compile a kernel which
-	  will run as a router and N for regular hosts. If unsure, say N.
-
-if NETFILTER
-
-config NETFILTER_DEBUG
-	bool "Network packet filtering debugging"
-	depends on NETFILTER
-	help
-	  You can say Y here if you want to get additional messages useful in
-	  debugging the netfilter code.
-
-config BRIDGE_NETFILTER
-	bool "Bridged IP/ARP packets filtering"
-	depends on BRIDGE && NETFILTER && INET
-	default y
-	---help---
-	  Enabling this option will let arptables resp. iptables see bridged
-	  ARP resp. IP traffic. If you want a bridging firewall, you probably
-	  want this option enabled.
-	  Enabling or disabling this option doesn't enable or disable
-	  ebtables.
-
-	  If unsure, say N.
-
-source "net/ipv4/netfilter/Kconfig"
-source "net/ipv6/netfilter/Kconfig"
-source "net/decnet/netfilter/Kconfig"
-source "net/bridge/netfilter/Kconfig"
-
-endif
-
-config XFRM
-       bool
-       depends on NET
-
-source "net/xfrm/Kconfig"
-
 source "net/sctp/Kconfig"
 
 config ATM
 	tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
 	depends on EXPERIMENTAL
+	depends on NET
 	---help---
 	  ATM is a high-speed networking technology for Local Area Networks
 	  and Wide Area Networks.  It uses a fixed packet size and is
@@ -285,52 +313,9 @@ config ATM_BR2684_IPFILTER
 	  large number of IP-only vcc's.  Do not enable this unless you are sure
 	  you know what you are doing.
 
-config BRIDGE
-	tristate "802.1d Ethernet Bridging"
-	---help---
-	  If you say Y here, then your Linux box will be able to act as an
-	  Ethernet bridge, which means that the different Ethernet segments it
-	  is connected to will appear as one Ethernet to the participants.
-	  Several such bridges can work together to create even larger
-	  networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
-	  As this is a standard, Linux bridges will cooperate properly with
-	  other third party bridge products.
-
-	  In order to use the Ethernet bridge, you'll need the bridge
-	  configuration tools; see <file:Documentation/networking/bridge.txt>
-	  for location. Please read the Bridge mini-HOWTO for more
-	  information.
-
-	  If you enable iptables support along with the bridge support then you
-	  turn your bridge into a bridging IP firewall.
-	  iptables will then see the IP packets being bridged, so you need to
-	  take this into account when setting up your firewall rules.
-	  Enabling arptables support when bridging will let arptables see
-	  bridged ARP traffic in the arptables FORWARD chain.
-
-	  To compile this code as a module, choose M here: the module
-	  will be called bridge.
-
-	  If unsure, say N.
-
-config VLAN_8021Q
-	tristate "802.1Q VLAN Support"
-	---help---
-	  Select this and you will be able to create 802.1Q VLAN interfaces
-	  on your ethernet interfaces.  802.1Q VLAN supports almost
-	  everything a regular ethernet interface does, including
-	  firewalling, bridging, and of course IP traffic.  You will need
-	  the 'vconfig' tool from the VLAN project in order to effectively
-	  use VLANs.  See the VLAN web page for more information:
-	  <http://www.candelatech.com/~greear/vlan.html>
-
-	  To compile this code as a module, choose M here: the module
-	  will be called 8021q.
-
-	  If unsure, say N.
-
 config DECNET
 	tristate "DECnet Support"
+	depends on NET
 	---help---
 	  The DECnet networking protocol was used in many products made by
 	  Digital (now Compaq).  It provides reliable stream and sequenced
@@ -358,6 +343,7 @@ source "net/llc/Kconfig"
 
 config IPX
 	tristate "The IPX protocol"
+	depends on NET
 	select LLC
 	---help---
 	  This is support for the Novell networking protocol, IPX, commonly
@@ -393,6 +379,7 @@ source "net/ipx/Kconfig"
 
 config ATALK
 	tristate "Appletalk protocol support"
+	depends on NET
 	select LLC
 	---help---
 	  AppleTalk is the protocol that Apple computers can use to communicate
@@ -422,7 +409,7 @@ source "drivers/net/appletalk/Kconfig"
 
 config X25
 	tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	depends on NET && EXPERIMENTAL
 	---help---
 	  X.25 is a set of standardized network protocols, similar in scope to
 	  frame relay; the one physical line from your box to the X.25 network
@@ -453,7 +440,7 @@ config X25
 
 config LAPB
 	tristate "LAPB Data Link Driver (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	depends on NET && EXPERIMENTAL
 	---help---
 	  Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
 	  the lower) part of the X.25 protocol. It offers a reliable
@@ -470,32 +457,6 @@ config LAPB
 	  To compile this driver as a module, choose M here: the
 	  module will be called lapb.  If unsure, say N.
 
-config NET_DIVERT
-	bool "Frame Diverter (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  The Frame Diverter allows you to divert packets from the
-	  network, that are not aimed at the interface receiving it (in
-	  promisc. mode). Typically, a Linux box setup as an Ethernet bridge
-	  with the Frames Diverter on, can do some *really* transparent www
-	  caching using a Squid proxy for example.
-
-	  This is very useful when you don't want to change your router's
-	  config (or if you simply don't have access to it).
-
-	  The other possible usages of diverting Ethernet Frames are
-	  numberous:
-	  - reroute smtp traffic to another interface
-	  - traffic-shape certain network streams
-	  - transparently proxy smtp connections
-	  - etc...
-
-	  For more informations, please refer to:
-	  <http://diverter.sourceforge.net/>
-	  <http://perso.wanadoo.fr/magpie/EtherDivert.html>
-
-	  If unsure, say N.
-
 config ECONET
 	tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
 	depends on EXPERIMENTAL && INET
@@ -529,32 +490,109 @@ config ECONET_NATIVE
 	  Say Y here if you have a native Econet network card installed in
 	  your computer.
 
-config WAN_ROUTER
-	tristate "WAN router"
-	depends on EXPERIMENTAL
+source "net/ax25/Kconfig"
+
+source "net/irda/Kconfig"
+
+source "net/bluetooth/Kconfig"
+
+endmenu
+# end options and protocols
+
+menuconfig NETFILTER
+	bool "Network packet filtering (replaces ipchains)"
 	---help---
-	  Wide Area Networks (WANs), such as X.25, frame relay and leased
-	  lines, are used to interconnect Local Area Networks (LANs) over vast
-	  distances with data transfer rates significantly higher than those
-	  achievable with commonly used asynchronous modem connections.
-	  Usually, a quite expensive external device called a `WAN router' is
-	  needed to connect to a WAN.
+	  Netfilter is a framework for filtering and mangling network packets
+	  that pass through your Linux box.
 
-	  As an alternative, WAN routing can be built into the Linux kernel.
-	  With relatively inexpensive WAN interface cards available on the
-	  market, a perfectly usable router can be built for less than half
-	  the price of an external router.  If you have one of those cards and
-	  wish to use your Linux box as a WAN router, say Y here and also to
-	  the WAN driver for your card, below.  You will then need the
-	  wan-tools package which is available from <ftp://ftp.sangoma.com/>.
-	  Read <file:Documentation/networking/wan-router.txt> for more
-	  information.
+	  The most common use of packet filtering is to run your Linux box as
+	  a firewall protecting a local network from the Internet. The type of
+	  firewall provided by this kernel support is called a "packet
+	  filter", which means that it can reject individual network packets
+	  based on type, source, destination etc. The other kind of firewall,
+	  a "proxy-based" one, is more secure but more intrusive and more
+	  bothersome to set up; it inspects the network traffic much more
+	  closely, modifies it and has knowledge about the higher level
+	  protocols, which a packet filter lacks. Moreover, proxy-based
+	  firewalls often require changes to the programs running on the local
+	  clients. Proxy-based firewalls don't need support by the kernel, but
+	  they are often combined with a packet filter, which only works if
+	  you say Y here.
 
-	  To compile WAN routing support as a module, choose M here: the
-	  module will be called wanrouter.
+	  You should also say Y here if you intend to use your Linux box as
+	  the gateway to the Internet for a local network of machines without
+	  globally valid IP addresses. This is called "masquerading": if one
+	  of the computers on your local network wants to send something to
+	  the outside, your box can "masquerade" as that computer, i.e. it
+	  forwards the traffic to the intended outside destination, but
+	  modifies the packets to make it look like they came from the
+	  firewall box itself. It works both ways: if the outside host
+	  replies, the Linux box will silently forward the traffic to the
+	  correct local computer. This way, the computers on your local net
+	  are completely invisible to the outside world, even though they can
+	  reach the outside and can receive replies. It is even possible to
+	  run globally visible servers from within a masqueraded local network
+	  using a mechanism called portforwarding. Masquerading is also often
+	  called NAT (Network Address Translation).
+
+	  Another use of Netfilter is in transparent proxying: if a machine on
+	  the local network tries to connect to an outside host, your Linux
+	  box can transparently forward the traffic to a local server,
+	  typically a caching proxy server.
+
+	  Yet another use of Netfilter is building a bridging firewall. Using
+	  a bridge with Network packet filtering enabled makes iptables "see"
+	  the bridged traffic. For filtering on the lower network and Ethernet
+	  protocols over the bridge, use ebtables (under bridge netfilter
+	  configuration).
+
+	  Various modules exist for netfilter which replace the previous
+	  masquerading (ipmasqadm), packet filtering (ipchains), transparent
+	  proxying, and portforwarding mechanisms. Please see
+	  <file:Documentation/Changes> under "iptables" for the location of
+	  these packages.
+
+	  Make sure to say N to "Fast switching" below if you intend to say Y
+	  here, as Fast switching currently bypasses netfilter.
+
+	  Chances are that you should say Y here if you compile a kernel which
+	  will run as a router and N for regular hosts. If unsure, say N.
+
+if NETFILTER
+
+config NETFILTER_DEBUG
+	bool "Network packet filtering debugging"
+	depends on NETFILTER
+	help
+	  You can say Y here if you want to get additional messages useful in
+	  debugging the netfilter code.
+
+config BRIDGE_NETFILTER
+	bool "Bridged IP/ARP packets filtering"
+	depends on BRIDGE && NETFILTER && INET
+	default y
+	---help---
+	  Enabling this option will let arptables resp. iptables see bridged
+	  ARP resp. IP traffic. If you want a bridging firewall, you probably
+	  want this option enabled.
+	  Enabling or disabling this option doesn't enable or disable
+	  ebtables.
 
 	  If unsure, say N.
 
+source "net/ipv4/netfilter/Kconfig"
+source "net/ipv6/netfilter/Kconfig"
+source "net/decnet/netfilter/Kconfig"
+source "net/bridge/netfilter/Kconfig"
+
+endif
+# NETFILTER
+
+config XFRM
+       bool
+
+source "net/xfrm/Kconfig"
+
 menu "QoS and/or fair queueing"
 
 config NET_SCHED
@@ -596,12 +634,14 @@ config NET_SCHED
 source "net/sched/Kconfig"
 
 endmenu
+# end SCHED
 
 menu "Network testing"
 
 config NET_PKTGEN
 	tristate "Packet Generator (USE WITH CAUTION)"
 	depends on PROC_FS
+	depends on INET
 	---help---
 	  This module will inject preconfigured packets, at a configurable
 	  rate, out of a given interface.  It is used for network interface
@@ -615,32 +655,8 @@ config NET_PKTGEN
 	  module will be called pktgen.
 
 endmenu
+# end PKTGEN
 
 endmenu
-
-config NETPOLL
-	def_bool NETCONSOLE
-
-config NETPOLL_RX
-	bool "Netpoll support for trapping incoming packets"
-	default n
-	depends on NETPOLL
-
-config NETPOLL_TRAP
-	bool "Netpoll traffic trapping"
-	default n
-	depends on NETPOLL
-
-config NET_POLL_CONTROLLER
-	def_bool NETPOLL
-
-source "net/ax25/Kconfig"
-
-source "net/irda/Kconfig"
-
-source "net/bluetooth/Kconfig"
-
-source "drivers/net/Kconfig"
-
-endmenu
+# end top support: options and protocols
 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH] network configs: disconnect network options from drivers
  2005-04-04  3:30       ` [PATCH] " Randy.Dunlap
@ 2005-04-04 19:50         ` Sam Ravnborg
  2005-04-04 20:48           ` Randy.Dunlap
  2005-04-05 17:42           ` [PATCH] network configs: disconnect network options from drivers Sridhar Samudrala
  0 siblings, 2 replies; 18+ messages in thread
From: Sam Ravnborg @ 2005-04-04 19:50 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

On Sun, Apr 03, 2005 at 08:30:13PM -0700, Randy.Dunlap wrote:
> Any comments on this new version?
The new Networking menu looks unstructured.
And the net/Kconfig file contains a lot of config snippets that does not
belong there.
So I took a stamp on it with focus on:
- Move config bits to appropriate places, creating several new Kconfig
  files
- Made uses of menus more consistent at least on first and second level
- Move submenu to the top
- Rename top menu to "Networking" and located it just before
 "File systems"


The patch became much larger. The win is that the top-level
net/Kconfig contains much less cruft.

Many of the 56 lines added are due to the additional files.
I did not (on purpose) change any functionality.

Only bit that I am worried about is the statement in SCTP:
	depends on IPV6 || IPV6=n

That looked like a noop to me. It had the sideeffect that SCTP
menu entries where idented an extra level which was not desireable
with currect layout.

Comments appreciated.

Patch on top of rc2.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
---


	Sam
	
 drivers/Kconfig               |    5 
 drivers/net/Kconfig           |    5 
 drivers/net/appletalk/Kconfig |   28 ++
 net/8021q/Kconfig             |   21 +
 net/Kconfig                   |  541 +++---------------------------------------
 net/atm/Kconfig               |   77 +++++
 net/bridge/Kconfig            |   32 ++
 net/bridge/netfilter/Kconfig  |    1 
 net/core/Kconfig              |   67 +++++
 net/decnet/Kconfig            |   24 +
 net/econet/Kconfig            |   34 ++
 net/ipv4/netfilter/Kconfig    |    5 
 net/ipv6/Kconfig              |   20 +
 net/ipx/Kconfig               |   33 ++
 net/lapb/Kconfig              |   24 +
 net/packet/Kconfig            |   26 ++
 net/sched/Kconfig             |   40 +++
 net/sctp/Kconfig              |    5 
 net/unix/Kconfig              |   22 +
 net/wanrouter/Kconfig         |   31 ++
 net/x25/Kconfig               |   35 ++
 21 files changed, 567 insertions(+), 509 deletions(-)

 
diff -Nru a/drivers/Kconfig b/drivers/Kconfig
--- a/drivers/Kconfig	2005-04-04 21:41:57 +02:00
+++ b/drivers/Kconfig	2005-04-04 21:41:57 +02:00
@@ -28,7 +28,7 @@
 
 source "drivers/macintosh/Kconfig"
 
-source "net/Kconfig"
+source "drivers/net/Kconfig"
 
 source "drivers/isdn/Kconfig"
 
@@ -59,3 +59,6 @@
 source "drivers/infiniband/Kconfig"
 
 endmenu
+
+source "net/Kconfig"
+
diff -Nru a/drivers/net/Kconfig b/drivers/net/Kconfig
--- a/drivers/net/Kconfig	2005-04-04 21:41:57 +02:00
+++ b/drivers/net/Kconfig	2005-04-04 21:41:57 +02:00
@@ -1,8 +1,9 @@
-
 #
 # Network device configuration
 #
 
+menu "Network device support"
+
 config NETDEVICES
 	depends on NET
 	bool "Network device support"
@@ -2535,4 +2536,6 @@
 	---help---
 	If you want to log kernel messages over the network, enable this.
 	See <file:Documentation/networking/netconsole.txt> for details.
+
+endmenu
 
diff -Nru a/drivers/net/appletalk/Kconfig b/drivers/net/appletalk/Kconfig
--- a/drivers/net/appletalk/Kconfig	2005-04-04 21:41:57 +02:00
+++ b/drivers/net/appletalk/Kconfig	2005-04-04 21:41:57 +02:00
@@ -1,6 +1,34 @@
 #
 # Appletalk driver configuration
 #
+config ATALK
+	tristate "Appletalk protocol support"
+	depends on NET
+	select LLC
+	---help---
+	  AppleTalk is the protocol that Apple computers can use to communicate
+	  on a network.  If your Linux box is connected to such a network and you
+	  wish to connect to it, say Y.  You will need to use the netatalk package
+	  so that your Linux box can act as a print and file server for Macs as
+	  well as access AppleTalk printers.  Check out
+	  <http://www.zettabyte.net/netatalk/> on the WWW for details.
+	  EtherTalk is the name used for AppleTalk over Ethernet and the
+	  cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
+	  network using serial links.  EtherTalk and LocalTalk are fully
+	  supported by Linux.
+
+	  General information about how to connect Linux, Windows machines and
+	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.  The
+	  NET-3-HOWTO, available from
+	  <http://www.tldp.org/docs.html#howto>, contains valuable
+	  information as well.
+
+	  To compile this driver as a module, choose M here: the module will be
+	  called appletalk. You almost certainly want to compile it as a
+	  module so you can restart your AppleTalk stack without rebooting
+	  your machine. I hear that the GNU boycott of Apple is over, so
+	  even politically correct people are allowed to say Y here.
+
 config DEV_APPLETALK
 	bool "Appletalk interfaces support"
 	depends on ATALK
diff -Nru a/net/8021q/Kconfig b/net/8021q/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/8021q/Kconfig	2005-04-04 21:41:57 +02:00
@@ -0,0 +1,21 @@
+#
+# Configuration for 802.1Q VLAN support
+#
+
+config VLAN_8021Q
+	tristate "802.1Q VLAN Support"
+	---help---
+	  Select this and you will be able to create 802.1Q VLAN interfaces
+	  on your ethernet interfaces.  802.1Q VLAN supports almost
+	  everything a regular ethernet interface does, including
+	  firewalling, bridging, and of course IP traffic.  You will need
+	  the 'vconfig' tool from the VLAN project in order to effectively
+	  use VLANs.  See the VLAN web page for more information:
+	  <http://www.candelatech.com/~greear/vlan.html>
+
+	  To compile this code as a module, choose M here: the module
+	  will be called 8021q.
+
+	  If unsure, say N.
+
+
diff -Nru a/net/Kconfig b/net/Kconfig
--- a/net/Kconfig	2005-04-04 21:41:57 +02:00
+++ b/net/Kconfig	2005-04-04 21:41:57 +02:00
@@ -2,7 +2,7 @@
 # Network configuration
 #
 
-menu "Networking support"
+menu "Networking"
 
 config NET
 	bool "Networking support"
@@ -10,7 +10,9 @@
 	  Unless you really know what you are doing, you should say Y here.
 	  The reason is that some programs need kernel networking support even
 	  when running on a stand-alone machine that isn't connected to any
-	  other computer. If you are upgrading from an older kernel, you
+	  other computer.
+
+	  If you are upgrading from an older kernel, you
 	  should consider updating your networking tools too because changes
 	  in the kernel and the tools often go hand in hand. The tools are
 	  contained in the package net-tools, the location and version number
@@ -20,57 +22,9 @@
 	  recommended to read the NET-HOWTO, available from
 	  <http://www.tldp.org/docs.html#howto>.
 
-menu "Networking options"
-	depends on NET
-
-config PACKET
-	tristate "Packet socket"
-	---help---
-	  The Packet protocol is used by applications which communicate
-	  directly with network devices without an intermediate network
-	  protocol implemented in the kernel, e.g. tcpdump.  If you want them
-	  to work, choose Y.
-
-	  To compile this driver as a module, choose M here: the module will
-	  be called af_packet.
-
-	  If unsure, say Y.
-
-config PACKET_MMAP
-	bool "Packet socket: mmapped IO"
-	depends on PACKET
-	help
-	  If you say Y here, the Packet protocol driver will use an IO
-	  mechanism that results in faster communication.
-
-	  If unsure, say N.
-
-config UNIX
-	tristate "Unix domain sockets"
-	---help---
-	  If you say Y here, you will include support for Unix domain sockets;
-	  sockets are the standard Unix mechanism for establishing and
-	  accessing network connections.  Many commonly used programs such as
-	  the X Window system and syslog use these sockets even if your
-	  machine is not connected to any network.  Unless you are working on
-	  an embedded system or something similar, you therefore definitely
-	  want to say Y here.
-
-	  To compile this driver as a module, choose M here: the module will be
-	  called unix.  Note that several important services won't work
-	  correctly if you say M here and then neglect to load the module.
-
-	  Say Y unless you know what you are doing.
-
-config NET_KEY
-	tristate "PF_KEY sockets"
-	select XFRM
-	---help---
-	  PF_KEYv2 socket family, compatible to KAME ones.
-	  They are required if you are going to use IPsec tools ported
-	  from KAME.
+if NET
 
-	  Say Y unless you know what you are doing.
+menu "Networking protocols"
 
 config INET
 	bool "TCP/IP networking"
@@ -94,31 +48,29 @@
 
 	  Short answer: say Y.
 
+if INET
 source "net/ipv4/Kconfig"
+source "net/ipv6/Kconfig"
+source "net/sctp/Kconfig"
+endif
 
-#   IPv6 as module will cause a CRASH if you try to unload it
-config IPV6
-	tristate "The IPv6 protocol"
-	depends on INET
-	default m
-	select CRYPTO if IPV6_PRIVACY
-	select CRYPTO_MD5 if IPV6_PRIVACY
-	---help---
-	  This is complemental support for the IP version 6.
-	  You will still be able to do traditional IPv4 networking as well.
-
-	  For general information about IPv6, see
-	  <http://playground.sun.com/pub/ipng/html/ipng-main.html>.
-	  For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
-	  For specific information about IPv6 under Linux, read the HOWTO at
-	  <http://www.bieringer.de/linux/IPv6/>.
+source "net/decnet/Kconfig"
+source "net/llc/Kconfig"
+source "net/ipx/Kconfig"
+source "drivers/net/appletalk/Kconfig"
+source "net/x25/Kconfig"
+source "net/lapb/Kconfig"
+source "net/econet/Kconfig"
+source "net/ax25/Kconfig"
+source "net/irda/Kconfig"
+source "net/bluetooth/Kconfig"
 
-	  To compile this protocol support as a module, choose M here: the 
-	  module will be called ipv6.
+endmenu
+# end options and protocols
 
-source "net/ipv6/Kconfig"
+menu "Network packet filtering"
 
-menuconfig NETFILTER
+config NETFILTER
 	bool "Network packet filtering (replaces ipchains)"
 	---help---
 	  Netfilter is a framework for filtering and mangling network packets
@@ -205,442 +157,37 @@
 source "net/bridge/netfilter/Kconfig"
 
 endif
+endmenu
+# end netfilter
+
+source "net/sched/Kconfig"
+source "net/core/Kconfig"
+
 
 config XFRM
        bool
-       depends on NET
 
 source "net/xfrm/Kconfig"
 
-source "net/sctp/Kconfig"
-
-config ATM
-	tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  ATM is a high-speed networking technology for Local Area Networks
-	  and Wide Area Networks.  It uses a fixed packet size and is
-	  connection oriented, allowing for the negotiation of minimum
-	  bandwidth requirements.
-
-	  In order to participate in an ATM network, your Linux box needs an
-	  ATM networking card. If you have that, say Y here and to the driver
-	  of your ATM card below.
-
-	  Note that you need a set of user-space programs to actually make use
-	  of ATM.  See the file <file:Documentation/networking/atm.txt> for
-	  further details.
-
-config ATM_CLIP
-	tristate "Classical IP over ATM (EXPERIMENTAL)"
-	depends on ATM && INET
-	help
-	  Classical IP over ATM for PVCs and SVCs, supporting InARP and
-	  ATMARP. If you want to communication with other IP hosts on your ATM
-	  network, you will typically either say Y here or to "LAN Emulation
-	  (LANE)" below.
-
-config ATM_CLIP_NO_ICMP
-	bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
-	depends on ATM_CLIP
-	help
-	  Normally, an "ICMP host unreachable" message is sent if a neighbour
-	  cannot be reached because there is no VC to it in the kernel's
-	  ATMARP table. This may cause problems when ATMARP table entries are
-	  briefly removed during revalidation. If you say Y here, packets to
-	  such neighbours are silently discarded instead.
-
-config ATM_LANE
-	tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
-	depends on ATM
-	help
-	  LAN Emulation emulates services of existing LANs across an ATM
-	  network. Besides operating as a normal ATM end station client, Linux
-	  LANE client can also act as an proxy client bridging packets between
-	  ELAN and Ethernet segments. You need LANE if you want to try MPOA.
-
-config ATM_MPOA
-	tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
-	depends on ATM && INET && ATM_LANE!=n
-	help
-	  Multi-Protocol Over ATM allows ATM edge devices such as routers,
-	  bridges and ATM attached hosts establish direct ATM VCs across
-	  subnetwork boundaries. These shortcut connections bypass routers
-	  enhancing overall network performance.
-
-config ATM_BR2684
-	tristate "RFC1483/2684 Bridged protocols"
-	depends on ATM && INET
-	help
-	  ATM PVCs can carry ethernet PDUs according to rfc2684 (formerly 1483)
-	  This device will act like an ethernet from the kernels point of view,
-	  with the traffic being carried by ATM PVCs (currently 1 PVC/device).
-	  This is sometimes used over DSL lines.  If in doubt, say N.
-
-config ATM_BR2684_IPFILTER
-	bool "Per-VC IP filter kludge"
-	depends on ATM_BR2684
-	help
-	  This is an experimental mechanism for users who need to terminating a
-	  large number of IP-only vcc's.  Do not enable this unless you are sure
-	  you know what you are doing.
-
-config BRIDGE
-	tristate "802.1d Ethernet Bridging"
-	---help---
-	  If you say Y here, then your Linux box will be able to act as an
-	  Ethernet bridge, which means that the different Ethernet segments it
-	  is connected to will appear as one Ethernet to the participants.
-	  Several such bridges can work together to create even larger
-	  networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
-	  As this is a standard, Linux bridges will cooperate properly with
-	  other third party bridge products.
-
-	  In order to use the Ethernet bridge, you'll need the bridge
-	  configuration tools; see <file:Documentation/networking/bridge.txt>
-	  for location. Please read the Bridge mini-HOWTO for more
-	  information.
-
-	  If you enable iptables support along with the bridge support then you
-	  turn your bridge into a bridging IP firewall.
-	  iptables will then see the IP packets being bridged, so you need to
-	  take this into account when setting up your firewall rules.
-	  Enabling arptables support when bridging will let arptables see
-	  bridged ARP traffic in the arptables FORWARD chain.
-
-	  To compile this code as a module, choose M here: the module
-	  will be called bridge.
-
-	  If unsure, say N.
-
-config VLAN_8021Q
-	tristate "802.1Q VLAN Support"
-	---help---
-	  Select this and you will be able to create 802.1Q VLAN interfaces
-	  on your ethernet interfaces.  802.1Q VLAN supports almost
-	  everything a regular ethernet interface does, including
-	  firewalling, bridging, and of course IP traffic.  You will need
-	  the 'vconfig' tool from the VLAN project in order to effectively
-	  use VLANs.  See the VLAN web page for more information:
-	  <http://www.candelatech.com/~greear/vlan.html>
-
-	  To compile this code as a module, choose M here: the module
-	  will be called 8021q.
-
-	  If unsure, say N.
-
-config DECNET
-	tristate "DECnet Support"
-	---help---
-	  The DECnet networking protocol was used in many products made by
-	  Digital (now Compaq).  It provides reliable stream and sequenced
-	  packet communications over which run a variety of services similar
-	  to those which run over TCP/IP.
-
-	  To find some tools to use with the kernel layer support, please
-	  look at Patrick Caulfield's web site:
-	  <http://linux-decnet.sourceforge.net/>.
-
-	  More detailed documentation is available in
-	  <file:Documentation/networking/decnet.txt>.
-
-	  Be sure to say Y to "/proc file system support" and "Sysctl support"
-	  below when using DECnet, since you will need sysctl support to aid
-	  in configuration at run time.
-
-	  The DECnet code is also available as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want).
-	  The module is called decnet.
-
-source "net/decnet/Kconfig"
-
-source "net/llc/Kconfig"
-
-config IPX
-	tristate "The IPX protocol"
-	select LLC
-	---help---
-	  This is support for the Novell networking protocol, IPX, commonly
-	  used for local networks of Windows machines.  You need it if you
-	  want to access Novell NetWare file or print servers using the Linux
-	  Novell client ncpfs (available from
-	  <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
-	  within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
-	  available from <http://www.tldp.org/docs.html#howto>).  In order
-	  to do the former, you'll also have to say Y to "NCP file system
-	  support", below.
-
-	  IPX is similar in scope to IP, while SPX, which runs on top of IPX,
-	  is similar to TCP. There is also experimental support for SPX in
-	  Linux (see "SPX networking", below).
-
-	  To turn your Linux box into a fully featured NetWare file server and
-	  IPX router, say Y here and fetch either lwared from
-	  <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
-	  mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
-	  information, read the IPX-HOWTO available from
-	  <http://www.tldp.org/docs.html#howto>.
-
-	  General information about how to connect Linux, Windows machines and
-	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
-
-	  The IPX driver would enlarge your kernel by about 16 KB. To compile
-	  this driver as a module, choose M here: the module will be called ipx.
-	  Unless you want to integrate your Linux box with a local Novell
-	  network, say N.
-
-source "net/ipx/Kconfig"
-
-config ATALK
-	tristate "Appletalk protocol support"
-	select LLC
-	---help---
-	  AppleTalk is the protocol that Apple computers can use to communicate
-	  on a network.  If your Linux box is connected to such a network and you
-	  wish to connect to it, say Y.  You will need to use the netatalk package
-	  so that your Linux box can act as a print and file server for Macs as
-	  well as access AppleTalk printers.  Check out
-	  <http://www.zettabyte.net/netatalk/> on the WWW for details.
-	  EtherTalk is the name used for AppleTalk over Ethernet and the
-	  cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
-	  network using serial links.  EtherTalk and LocalTalk are fully
-	  supported by Linux.
-
-	  General information about how to connect Linux, Windows machines and
-	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.  The
-	  NET-3-HOWTO, available from
-	  <http://www.tldp.org/docs.html#howto>, contains valuable
-	  information as well.
-
-	  To compile this driver as a module, choose M here: the module will be
-	  called appletalk. You almost certainly want to compile it as a
-	  module so you can restart your AppleTalk stack without rebooting
-	  your machine. I hear that the GNU boycott of Apple is over, so
-	  even politically correct people are allowed to say Y here.
-
-source "drivers/net/appletalk/Kconfig"
-
-config X25
-	tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  X.25 is a set of standardized network protocols, similar in scope to
-	  frame relay; the one physical line from your box to the X.25 network
-	  entry point can carry several logical point-to-point connections
-	  (called "virtual circuits") to other computers connected to the X.25
-	  network. Governments, banks, and other organizations tend to use it
-	  to connect to each other or to form Wide Area Networks (WANs). Many
-	  countries have public X.25 networks. X.25 consists of two
-	  protocols: the higher level Packet Layer Protocol (PLP) (say Y here
-	  if you want that) and the lower level data link layer protocol LAPB
-	  (say Y to "LAPB Data Link Driver" below if you want that).
-
-	  You can read more about X.25 at <http://www.sangoma.com/x25.htm> and
-	  <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>.
-	  Information about X.25 for Linux is contained in the files
-	  <file:Documentation/networking/x25.txt> and
-	  <file:Documentation/networking/x25-iface.txt>.
-
-	  One connects to an X.25 network either with a dedicated network card
-	  using the X.21 protocol (not yet supported by Linux) or one can do
-	  X.25 over a standard telephone line using an ordinary modem (say Y
-	  to "X.25 async driver" below) or over Ethernet using an ordinary
-	  Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link
-	  Driver" and "LAPB over Ethernet driver" below).
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called x25. If unsure, say N.
-
-config LAPB
-	tristate "LAPB Data Link Driver (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
-	  the lower) part of the X.25 protocol. It offers a reliable
-	  connection service to exchange data frames with one other host, and
-	  it is used to transport higher level protocols (mostly X.25 Packet
-	  Layer, the higher part of X.25, but others are possible as well).
-	  Usually, LAPB is used with specialized X.21 network cards, but Linux
-	  currently supports LAPB only over Ethernet connections. If you want
-	  to use LAPB connections over Ethernet, say Y here and to "LAPB over
-	  Ethernet driver" below. Read
-	  <file:Documentation/networking/lapb-module.txt> for technical
-	  details.
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called lapb.  If unsure, say N.
-
-config NET_DIVERT
-	bool "Frame Diverter (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  The Frame Diverter allows you to divert packets from the
-	  network, that are not aimed at the interface receiving it (in
-	  promisc. mode). Typically, a Linux box setup as an Ethernet bridge
-	  with the Frames Diverter on, can do some *really* transparent www
-	  caching using a Squid proxy for example.
-
-	  This is very useful when you don't want to change your router's
-	  config (or if you simply don't have access to it).
-
-	  The other possible usages of diverting Ethernet Frames are
-	  numberous:
-	  - reroute smtp traffic to another interface
-	  - traffic-shape certain network streams
-	  - transparently proxy smtp connections
-	  - etc...
-
-	  For more informations, please refer to:
-	  <http://diverter.sourceforge.net/>
-	  <http://perso.wanadoo.fr/magpie/EtherDivert.html>
-
-	  If unsure, say N.
-
-config ECONET
-	tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
-	depends on EXPERIMENTAL && INET
-	---help---
-	  Econet is a fairly old and slow networking protocol mainly used by
-	  Acorn computers to access file and print servers. It uses native
-	  Econet network cards. AUN is an implementation of the higher level
-	  parts of Econet that runs over ordinary Ethernet connections, on
-	  top of the UDP packet protocol, which in turn runs on top of the
-	  Internet protocol IP.
-
-	  If you say Y here, you can choose with the next two options whether
-	  to send Econet/AUN traffic over a UDP Ethernet connection or over
-	  a native Econet network card.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called econet.
-
-config ECONET_AUNUDP
-	bool "AUN over UDP"
-	depends on ECONET
-	help
-	  Say Y here if you want to send Econet/AUN traffic over a UDP
-	  connection (UDP is a packet based protocol that runs on top of the
-	  Internet protocol IP) using an ordinary Ethernet network card.
-
-config ECONET_NATIVE
-	bool "Native Econet"
-	depends on ECONET
-	help
-	  Say Y here if you have a native Econet network card installed in
-	  your computer.
-
-config WAN_ROUTER
-	tristate "WAN router"
-	depends on EXPERIMENTAL
-	---help---
-	  Wide Area Networks (WANs), such as X.25, frame relay and leased
-	  lines, are used to interconnect Local Area Networks (LANs) over vast
-	  distances with data transfer rates significantly higher than those
-	  achievable with commonly used asynchronous modem connections.
-	  Usually, a quite expensive external device called a `WAN router' is
-	  needed to connect to a WAN.
-
-	  As an alternative, WAN routing can be built into the Linux kernel.
-	  With relatively inexpensive WAN interface cards available on the
-	  market, a perfectly usable router can be built for less than half
-	  the price of an external router.  If you have one of those cards and
-	  wish to use your Linux box as a WAN router, say Y here and also to
-	  the WAN driver for your card, below.  You will then need the
-	  wan-tools package which is available from <ftp://ftp.sangoma.com/>.
-	  Read <file:Documentation/networking/wan-router.txt> for more
-	  information.
-
-	  To compile WAN routing support as a module, choose M here: the
-	  module will be called wanrouter.
-
-	  If unsure, say N.
-
-menu "QoS and/or fair queueing"
-
-config NET_SCHED
-	bool "QoS and/or fair queueing"
-	---help---
-	  When the kernel has several packets to send out over a network
-	  device, it has to decide which ones to send first, which ones to
-	  delay, and which ones to drop. This is the job of the packet
-	  scheduler, and several different algorithms for how to do this
-	  "fairly" have been proposed.
-
-	  If you say N here, you will get the standard packet scheduler, which
-	  is a FIFO (first come, first served). If you say Y here, you will be
-	  able to choose from among several alternative algorithms which can
-	  then be attached to different network devices. This is useful for
-	  example if some of your network devices are real time devices that
-	  need a certain minimum data flow rate, or if you need to limit the
-	  maximum data flow rate for traffic which matches specified criteria.
-	  This code is considered to be experimental.
-
-	  To administer these schedulers, you'll need the user-level utilities
-	  from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
-	  That package also contains some documentation; for more, check out
-	  <http://snafu.freedom.org/linux2.2/iproute-notes.html>.
-
-	  This Quality of Service (QoS) support will enable you to use
-	  Differentiated Services (diffserv) and Resource Reservation Protocol
-	  (RSVP) on your Linux router if you also say Y to "QoS support",
-	  "Packet classifier API" and to some classifiers below. Documentation
-	  and software is at <http://diffserv.sourceforge.net/>.
-
-	  If you say Y here and to "/proc file system" below, you will be able
-	  to read status information about packet schedulers from the file
-	  /proc/net/psched.
-
-	  The available schedulers are listed in the following questions; you
-	  can say Y to as many as you like. If unsure, say N now.
-
-source "net/sched/Kconfig"
-
-endmenu
-
-menu "Network testing"
-
-config NET_PKTGEN
-	tristate "Packet Generator (USE WITH CAUTION)"
-	depends on PROC_FS
+config NET_KEY
+	tristate "PF_KEY sockets"
+	select XFRM
 	---help---
-	  This module will inject preconfigured packets, at a configurable
-	  rate, out of a given interface.  It is used for network interface
-	  stress testing and performance analysis.  If you don't understand
-	  what was just said, you don't need it: say N.
-
-	  Documentation on how to use the packet generator can be found
-	  at <file:Documentation/networking/pktgen.txt>.
-
-	  To compile this code as a module, choose M here: the
-	  module will be called pktgen.
-
-endmenu
-
-endmenu
-
-config NETPOLL
-	def_bool NETCONSOLE
-
-config NETPOLL_RX
-	bool "Netpoll support for trapping incoming packets"
-	default n
-	depends on NETPOLL
-
-config NETPOLL_TRAP
-	bool "Netpoll traffic trapping"
-	default n
-	depends on NETPOLL
-
-config NET_POLL_CONTROLLER
-	def_bool NETPOLL
+	  PF_KEYv2 socket family, compatible to KAME ones.
+	  They are required if you are going to use IPsec tools ported
+	  from KAME.
 
-source "net/ax25/Kconfig"
+	  Say Y unless you know what you are doing.
 
-source "net/irda/Kconfig"
 
-source "net/bluetooth/Kconfig"
+source "net/packet/Kconfig"
+source "net/unix/Kconfig"
+source "net/bridge/Kconfig"
+source "net/8021q/Kconfig"
+source "net/wanrouter/Kconfig"
 
-source "drivers/net/Kconfig"
+endif
+# NET
 
 endmenu
 
diff -Nru a/net/atm/Kconfig b/net/atm/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/atm/Kconfig	2005-04-04 21:41:57 +02:00
@@ -0,0 +1,77 @@
+#
+# ATM Configarition
+#
+
+config ATM
+	tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	depends on NET
+	---help---
+	  ATM is a high-speed networking technology for Local Area Networks
+	  and Wide Area Networks.  It uses a fixed packet size and is
+	  connection oriented, allowing for the negotiation of minimum
+	  bandwidth requirements.
+
+	  In order to participate in an ATM network, your Linux box needs an
+	  ATM networking card. If you have that, say Y here and to the driver
+	  of your ATM card below.
+
+	  Note that you need a set of user-space programs to actually make use
+	  of ATM.  See the file <file:Documentation/networking/atm.txt> for
+	  further details.
+
+config ATM_CLIP
+	tristate "Classical IP over ATM (EXPERIMENTAL)"
+	depends on ATM && INET
+	help
+	  Classical IP over ATM for PVCs and SVCs, supporting InARP and
+	  ATMARP. If you want to communication with other IP hosts on your ATM
+	  network, you will typically either say Y here or to "LAN Emulation
+	  (LANE)" below.
+
+config ATM_CLIP_NO_ICMP
+	bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
+	depends on ATM_CLIP
+	help
+	  Normally, an "ICMP host unreachable" message is sent if a neighbour
+	  cannot be reached because there is no VC to it in the kernel's
+	  ATMARP table. This may cause problems when ATMARP table entries are
+	  briefly removed during revalidation. If you say Y here, packets to
+	  such neighbours are silently discarded instead.
+
+config ATM_LANE
+	tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
+	depends on ATM
+	help
+	  LAN Emulation emulates services of existing LANs across an ATM
+	  network. Besides operating as a normal ATM end station client, Linux
+	  LANE client can also act as an proxy client bridging packets between
+	  ELAN and Ethernet segments. You need LANE if you want to try MPOA.
+
+config ATM_MPOA
+	tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
+	depends on ATM && INET && ATM_LANE!=n
+	help
+	  Multi-Protocol Over ATM allows ATM edge devices such as routers,
+	  bridges and ATM attached hosts establish direct ATM VCs across
+	  subnetwork boundaries. These shortcut connections bypass routers
+	  enhancing overall network performance.
+
+config ATM_BR2684
+	tristate "RFC1483/2684 Bridged protocols"
+	depends on ATM && INET
+	help
+	  ATM PVCs can carry ethernet PDUs according to rfc2684 (formerly 1483)
+	  This device will act like an ethernet from the kernels point of view,
+	  with the traffic being carried by ATM PVCs (currently 1 PVC/device).
+	  This is sometimes used over DSL lines.  If in doubt, say N.
+
+config ATM_BR2684_IPFILTER
+	bool "Per-VC IP filter kludge"
+	depends on ATM_BR2684
+	help
+	  This is an experimental mechanism for users who need to terminating a
+	  large number of IP-only vcc's.  Do not enable this unless you are sure
+	  you know what you are doing.
+
+
diff -Nru a/net/bridge/Kconfig b/net/bridge/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/bridge/Kconfig	2005-04-04 21:41:57 +02:00
@@ -0,0 +1,32 @@
+#
+# Configuration for Ethernet bridging
+#
+
+config BRIDGE
+	tristate "802.1d Ethernet Bridging"
+	---help---
+	  If you say Y here, then your Linux box will be able to act as an
+	  Ethernet bridge, which means that the different Ethernet segments it
+	  is connected to will appear as one Ethernet to the participants.
+	  Several such bridges can work together to create even larger
+	  networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
+	  As this is a standard, Linux bridges will cooperate properly with
+	  other third party bridge products.
+
+	  In order to use the Ethernet bridge, you'll need the bridge
+	  configuration tools; see <file:Documentation/networking/bridge.txt>
+	  for location. Please read the Bridge mini-HOWTO for more
+	  information.
+
+	  If you enable iptables support along with the bridge support then you
+	  turn your bridge into a bridging IP firewall.
+	  iptables will then see the IP packets being bridged, so you need to
+	  take this into account when setting up your firewall rules.
+	  Enabling arptables support when bridging will let arptables see
+	  bridged ARP traffic in the arptables FORWARD chain.
+
+	  To compile this code as a module, choose M here: the module
+	  will be called bridge.
+
+	  If unsure, say N.
+
diff -Nru a/net/bridge/netfilter/Kconfig b/net/bridge/netfilter/Kconfig
--- a/net/bridge/netfilter/Kconfig	2005-04-04 21:41:57 +02:00
+++ b/net/bridge/netfilter/Kconfig	2005-04-04 21:41:57 +02:00
@@ -139,6 +139,7 @@
 config BRIDGE_EBT_ARPREPLY
 	tristate "ebt: arp reply target support"
 	depends on BRIDGE_NF_EBTABLES
+	depends on INET
 	help
 	  This option adds the arp reply target, which allows
 	  automatically sending arp replies to arp requests.
diff -Nru a/net/core/Kconfig b/net/core/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/core/Kconfig	2005-04-04 21:41:57 +02:00
@@ -0,0 +1,67 @@
+#
+# Core configuration
+#
+
+menu "Network testing"
+
+config NET_PKTGEN
+	tristate "Packet Generator (USE WITH CAUTION)"
+	depends on PROC_FS
+	depends on INET
+	---help---
+	  This module will inject preconfigured packets, at a configurable
+	  rate, out of a given interface.  It is used for network interface
+	  stress testing and performance analysis.  If you don't understand
+	  what was just said, you don't need it: say N.
+
+	  Documentation on how to use the packet generator can be found
+	  at <file:Documentation/networking/pktgen.txt>.
+
+	  To compile this code as a module, choose M here: the
+	  module will be called pktgen.
+
+endmenu
+
+config NETPOLL
+	def_bool NETCONSOLE
+
+config NETPOLL_RX
+	bool "Netpoll support for trapping incoming packets"
+	default n
+	depends on NETPOLL
+
+config NETPOLL_TRAP
+	bool "Netpoll traffic trapping"
+	default n
+	depends on NETPOLL
+
+config NET_POLL_CONTROLLER
+	def_bool NETPOLL
+
+config NET_DIVERT
+	bool "Frame Diverter (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	---help---
+	  The Frame Diverter allows you to divert packets from the
+	  network, that are not aimed at the interface receiving it (in
+	  promisc. mode). Typically, a Linux box setup as an Ethernet bridge
+	  with the Frames Diverter on, can do some *really* transparent www
+	  caching using a Squid proxy for example.
+
+	  This is very useful when you don't want to change your router's
+	  config (or if you simply don't have access to it).
+
+	  The other possible usages of diverting Ethernet Frames are
+	  numberous:
+	  - reroute smtp traffic to another interface
+	  - traffic-shape certain network streams
+	  - transparently proxy smtp connections
+	  - etc...
+
+	  For more informations, please refer to:
+	  <http://diverter.sourceforge.net/>
+	  <http://perso.wanadoo.fr/magpie/EtherDivert.html>
+
+	  If unsure, say N.
+
+
diff -Nru a/net/decnet/Kconfig b/net/decnet/Kconfig
--- a/net/decnet/Kconfig	2005-04-04 21:41:57 +02:00
+++ b/net/decnet/Kconfig	2005-04-04 21:41:57 +02:00
@@ -1,6 +1,30 @@
 #
 # DECnet configuration
 #
+
+config DECNET
+	tristate "DECnet Support"
+	---help---
+	  The DECnet networking protocol was used in many products made by
+	  Digital (now Compaq).  It provides reliable stream and sequenced
+	  packet communications over which run a variety of services similar
+	  to those which run over TCP/IP.
+
+	  To find some tools to use with the kernel layer support, please
+	  look at Patrick Caulfield's web site:
+	  <http://linux-decnet.sourceforge.net/>.
+
+	  More detailed documentation is available in
+	  <file:Documentation/networking/decnet.txt>.
+
+	  Be sure to say Y to "/proc file system support" and "Sysctl support"
+	  below when using DECnet, since you will need sysctl support to aid
+	  in configuration at run time.
+
+	  The DECnet code is also available as a module ( = code which can be
+	  inserted in and removed from the running kernel whenever you want).
+	  The module is called decnet.
+
 config DECNET_ROUTER
 	bool "DECnet: router support (EXPERIMENTAL)"
 	depends on DECNET && EXPERIMENTAL
diff -Nru a/net/econet/Kconfig b/net/econet/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/econet/Kconfig	2005-04-04 21:41:57 +02:00
@@ -0,0 +1,34 @@
+
+config ECONET
+	tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
+	depends on EXPERIMENTAL && INET
+	---help---
+	  Econet is a fairly old and slow networking protocol mainly used by
+	  Acorn computers to access file and print servers. It uses native
+	  Econet network cards. AUN is an implementation of the higher level
+	  parts of Econet that runs over ordinary Ethernet connections, on
+	  top of the UDP packet protocol, which in turn runs on top of the
+	  Internet protocol IP.
+
+	  If you say Y here, you can choose with the next two options whether
+	  to send Econet/AUN traffic over a UDP Ethernet connection or over
+	  a native Econet network card.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called econet.
+
+config ECONET_AUNUDP
+	bool "AUN over UDP"
+	depends on ECONET
+	help
+	  Say Y here if you want to send Econet/AUN traffic over a UDP
+	  connection (UDP is a packet based protocol that runs on top of the
+	  Internet protocol IP) using an ordinary Ethernet network card.
+
+config ECONET_NATIVE
+	bool "Native Econet"
+	depends on ECONET
+	help
+	  Say Y here if you have a native Econet network card installed in
+	  your computer.
+
diff -Nru a/net/ipv4/netfilter/Kconfig b/net/ipv4/netfilter/Kconfig
--- a/net/ipv4/netfilter/Kconfig	2005-04-04 21:41:57 +02:00
+++ b/net/ipv4/netfilter/Kconfig	2005-04-04 21:41:57 +02:00
@@ -2,9 +2,6 @@
 # IP netfilter configuration
 #
 
-menu "IP: Netfilter Configuration"
-	depends on INET && NETFILTER
-
 # connection tracking, helpers and protocols
 config IP_NF_CONNTRACK
 	tristate "Connection tracking (required for masq/NAT)"
@@ -691,6 +688,4 @@
 	help
 	  Allows altering the ARP packet payload: source and destination
 	  hardware and network addresses.
-
-endmenu
 
diff -Nru a/net/ipv6/Kconfig b/net/ipv6/Kconfig
--- a/net/ipv6/Kconfig	2005-04-04 21:41:57 +02:00
+++ b/net/ipv6/Kconfig	2005-04-04 21:41:57 +02:00
@@ -1,6 +1,26 @@
 #
 # IPv6 configuration
 # 
+
+#   IPv6 as module will cause a CRASH if you try to unload it
+config IPV6
+	tristate "The IPv6 protocol"
+	default m
+	select CRYPTO if IPV6_PRIVACY
+	select CRYPTO_MD5 if IPV6_PRIVACY
+	---help---
+	  This is complemental support for the IP version 6.
+	  You will still be able to do traditional IPv4 networking as well.
+
+	  For general information about IPv6, see
+	  <http://playground.sun.com/pub/ipng/html/ipng-main.html>.
+	  For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
+	  For specific information about IPv6 under Linux, read the HOWTO at
+	  <http://www.bieringer.de/linux/IPv6/>.
+
+	  To compile this protocol support as a module, choose M here: the 
+	  module will be called ipv6.
+
 config IPV6_PRIVACY
 	bool "IPv6: Privacy Extensions (RFC 3041) support"
 	depends on IPV6
diff -Nru a/net/ipx/Kconfig b/net/ipx/Kconfig
--- a/net/ipx/Kconfig	2005-04-04 21:41:57 +02:00
+++ b/net/ipx/Kconfig	2005-04-04 21:41:57 +02:00
@@ -1,6 +1,39 @@
 #
 # IPX configuration
 #
+config IPX
+	tristate "The IPX protocol"
+	select LLC
+	---help---
+	  This is support for the Novell networking protocol, IPX, commonly
+	  used for local networks of Windows machines.  You need it if you
+	  want to access Novell NetWare file or print servers using the Linux
+	  Novell client ncpfs (available from
+	  <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
+	  within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
+	  available from <http://www.tldp.org/docs.html#howto>).  In order
+	  to do the former, you'll also have to say Y to "NCP file system
+	  support", below.
+
+	  IPX is similar in scope to IP, while SPX, which runs on top of IPX,
+	  is similar to TCP. There is also experimental support for SPX in
+	  Linux (see "SPX networking", below).
+
+	  To turn your Linux box into a fully featured NetWare file server and
+	  IPX router, say Y here and fetch either lwared from
+	  <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
+	  mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
+	  information, read the IPX-HOWTO available from
+	  <http://www.tldp.org/docs.html#howto>.
+
+	  General information about how to connect Linux, Windows machines and
+	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
+
+	  The IPX driver would enlarge your kernel by about 16 KB. To compile
+	  this driver as a module, choose M here: the module will be called ipx.
+	  Unless you want to integrate your Linux box with a local Novell
+	  network, say N.
+
 config IPX_INTERN
 	bool "IPX: Full internal IPX network"
 	depends on IPX
diff -Nru a/net/lapb/Kconfig b/net/lapb/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/lapb/Kconfig	2005-04-04 21:41:57 +02:00
@@ -0,0 +1,24 @@
+#
+# LAPB Configuration
+#
+
+config LAPB
+	tristate "LAPB Data Link Driver (EXPERIMENTAL)"
+	depends on NET && EXPERIMENTAL
+	---help---
+	  Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
+	  the lower) part of the X.25 protocol. It offers a reliable
+	  connection service to exchange data frames with one other host, and
+	  it is used to transport higher level protocols (mostly X.25 Packet
+	  Layer, the higher part of X.25, but others are possible as well).
+	  Usually, LAPB is used with specialized X.21 network cards, but Linux
+	  currently supports LAPB only over Ethernet connections. If you want
+	  to use LAPB connections over Ethernet, say Y here and to "LAPB over
+	  Ethernet driver" below. Read
+	  <file:Documentation/networking/lapb-module.txt> for technical
+	  details.
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called lapb.  If unsure, say N.
+
+
diff -Nru a/net/packet/Kconfig b/net/packet/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/packet/Kconfig	2005-04-04 21:41:57 +02:00
@@ -0,0 +1,26 @@
+#
+# Packet configuration
+#
+
+config PACKET
+	tristate "Packet socket"
+	---help---
+	  The Packet protocol is used by applications which communicate
+	  directly with network devices without an intermediate network
+	  protocol implemented in the kernel, e.g. tcpdump.  If you want them
+	  to work, choose Y.
+
+	  To compile this driver as a module, choose M here: the module will
+	  be called af_packet.
+
+	  If unsure, say Y.
+
+config PACKET_MMAP
+	bool "Packet socket: mmapped IO"
+	depends on PACKET
+	help
+	  If you say Y here, the Packet protocol driver will use an IO
+	  mechanism that results in faster communication.
+
+	  If unsure, say N.
+
diff -Nru a/net/sched/Kconfig b/net/sched/Kconfig
--- a/net/sched/Kconfig	2005-04-04 21:41:57 +02:00
+++ b/net/sched/Kconfig	2005-04-04 21:41:57 +02:00
@@ -1,6 +1,45 @@
 #
 # Traffic control configuration.
 # 
+
+menu "QoS and/or fair quiueing"
+
+config NET_SCHED
+	bool "QoS and/or fair queueing"
+	---help---
+	  When the kernel has several packets to send out over a network
+	  device, it has to decide which ones to send first, which ones to
+	  delay, and which ones to drop. This is the job of the packet
+	  scheduler, and several different algorithms for how to do this
+	  "fairly" have been proposed.
+
+	  If you say N here, you will get the standard packet scheduler, which
+	  is a FIFO (first come, first served). If you say Y here, you will be
+	  able to choose from among several alternative algorithms which can
+	  then be attached to different network devices. This is useful for
+	  example if some of your network devices are real time devices that
+	  need a certain minimum data flow rate, or if you need to limit the
+	  maximum data flow rate for traffic which matches specified criteria.
+	  This code is considered to be experimental.
+
+	  To administer these schedulers, you'll need the user-level utilities
+	  from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
+	  That package also contains some documentation; for more, check out
+	  <http://snafu.freedom.org/linux2.2/iproute-notes.html>.
+
+	  This Quality of Service (QoS) support will enable you to use
+	  Differentiated Services (diffserv) and Resource Reservation Protocol
+	  (RSVP) on your Linux router if you also say Y to "QoS support",
+	  "Packet classifier API" and to some classifiers below. Documentation
+	  and software is at <http://diffserv.sourceforge.net/>.
+
+	  If you say Y here and to "/proc file system" below, you will be able
+	  to read status information about packet schedulers from the file
+	  /proc/net/psched.
+
+	  The available schedulers are listed in the following questions; you
+	  can say Y to as many as you like. If unsure, say N now.
+
 choice
 	prompt "Packet scheduler clock source"
 	depends on NET_SCHED
@@ -506,3 +545,4 @@
 	  Say Y to support traffic policing (bandwidth limits).  Needed for
 	  ingress and egress rate limiting.
 
+endmenu
diff -Nru a/net/sctp/Kconfig b/net/sctp/Kconfig
--- a/net/sctp/Kconfig	2005-04-04 21:41:57 +02:00
+++ b/net/sctp/Kconfig	2005-04-04 21:41:57 +02:00
@@ -2,12 +2,8 @@
 # SCTP configuration
 #
 
-menu "SCTP Configuration (EXPERIMENTAL)"
-	depends on INET && EXPERIMENTAL
-
 config IP_SCTP
 	tristate "The SCTP Protocol (EXPERIMENTAL)"
-	depends on IPV6 || IPV6=n
 	select CRYPTO if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5
 	select CRYPTO_HMAC if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5
 	select CRYPTO_SHA1 if SCTP_HMAC_SHA1
@@ -86,4 +82,3 @@
 	  advised to use either HMAC-MD5 or HMAC-SHA1.
 
 endchoice
-endmenu
diff -Nru a/net/unix/Kconfig b/net/unix/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/unix/Kconfig	2005-04-04 21:41:57 +02:00
@@ -0,0 +1,22 @@
+#
+# Configuration for Unix domain sockets
+#
+
+config UNIX
+	tristate "Unix domain sockets"
+	---help---
+	  If you say Y here, you will include support for Unix domain sockets;
+	  sockets are the standard Unix mechanism for establishing and
+	  accessing network connections.  Many commonly used programs such as
+	  the X Window system and syslog use these sockets even if your
+	  machine is not connected to any network.  Unless you are working on
+	  an embedded system or something similar, you therefore definitely
+	  want to say Y here.
+
+	  To compile this driver as a module, choose M here: the module will be
+	  called unix.  Note that several important services won't work
+	  correctly if you say M here and then neglect to load the module.
+
+	  Say Y unless you know what you are doing.
+
+
diff -Nru a/net/wanrouter/Kconfig b/net/wanrouter/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/wanrouter/Kconfig	2005-04-04 21:41:57 +02:00
@@ -0,0 +1,31 @@
+#
+# Configuration for WAN Router
+#
+
+config WAN_ROUTER
+	tristate "WAN router"
+	depends on EXPERIMENTAL
+	---help---
+	  Wide Area Networks (WANs), such as X.25, frame relay and leased
+	  lines, are used to interconnect Local Area Networks (LANs) over vast
+	  distances with data transfer rates significantly higher than those
+	  achievable with commonly used asynchronous modem connections.
+	  Usually, a quite expensive external device called a `WAN router' is
+	  needed to connect to a WAN.
+
+	  As an alternative, WAN routing can be built into the Linux kernel.
+	  With relatively inexpensive WAN interface cards available on the
+	  market, a perfectly usable router can be built for less than half
+	  the price of an external router.  If you have one of those cards and
+	  wish to use your Linux box as a WAN router, say Y here and also to
+	  the WAN driver for your card, below.  You will then need the
+	  wan-tools package which is available from <ftp://ftp.sangoma.com/>.
+	  Read <file:Documentation/networking/wan-router.txt> for more
+	  information.
+
+	  To compile WAN routing support as a module, choose M here: the
+	  module will be called wanrouter.
+
+	  If unsure, say N.
+
+
diff -Nru a/net/x25/Kconfig b/net/x25/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/x25/Kconfig	2005-04-04 21:41:57 +02:00
@@ -0,0 +1,35 @@
+#
+# X25 Configuration
+#
+
+config X25
+	tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
+	depends on NET && EXPERIMENTAL
+	---help---
+	  X.25 is a set of standardized network protocols, similar in scope to
+	  frame relay; the one physical line from your box to the X.25 network
+	  entry point can carry several logical point-to-point connections
+	  (called "virtual circuits") to other computers connected to the X.25
+	  network. Governments, banks, and other organizations tend to use it
+	  to connect to each other or to form Wide Area Networks (WANs). Many
+	  countries have public X.25 networks. X.25 consists of two
+	  protocols: the higher level Packet Layer Protocol (PLP) (say Y here
+	  if you want that) and the lower level data link layer protocol LAPB
+	  (say Y to "LAPB Data Link Driver" below if you want that).
+
+	  You can read more about X.25 at <http://www.sangoma.com/x25.htm> and
+	  <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>.
+	  Information about X.25 for Linux is contained in the files
+	  <file:Documentation/networking/x25.txt> and
+	  <file:Documentation/networking/x25-iface.txt>.
+
+	  One connects to an X.25 network either with a dedicated network card
+	  using the X.21 protocol (not yet supported by Linux) or one can do
+	  X.25 over a standard telephone line using an ordinary modem (say Y
+	  to "X.25 async driver" below) or over Ethernet using an ordinary
+	  Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link
+	  Driver" and "LAPB over Ethernet driver" below).
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called x25. If unsure, say N.
+

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH] network configs: disconnect network options from drivers
  2005-04-04 19:50         ` Sam Ravnborg
@ 2005-04-04 20:48           ` Randy.Dunlap
  2005-04-04 21:55             ` Sam Ravnborg
  2005-04-05 17:42           ` [PATCH] network configs: disconnect network options from drivers Sridhar Samudrala
  1 sibling, 1 reply; 18+ messages in thread
From: Randy.Dunlap @ 2005-04-04 20:48 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

Hi Sam-

Sam Ravnborg wrote:
> On Sun, Apr 03, 2005 at 08:30:13PM -0700, Randy.Dunlap wrote:
> 
>>Any comments on this new version?
> 
> The new Networking menu looks unstructured.
> And the net/Kconfig file contains a lot of config snippets that does not
> belong there.
> So I took a stamp on it with focus on:
> - Move config bits to appropriate places, creating several new Kconfig
>   files
Very Good.

> - Made uses of menus more consistent at least on first and second level
Very Good again.

> - Move submenu to the top
> - Rename top menu to "Networking" and located it just before
>  "File systems"

I still prefer Networking to come before Device Drivers FWIW.
Just makes some kind of hierarchical sense to me.

> The patch became much larger. The win is that the top-level
> net/Kconfig contains much less cruft.
> 
> Many of the 56 lines added are due to the additional files.
> I did not (on purpose) change any functionality.
> 
> Only bit that I am worried about is the statement in SCTP:
> 	depends on IPV6 || IPV6=n
> 
> That looked like a noop to me. It had the sideeffect that SCTP
> menu entries where idented an extra level which was not desireable
> with currect layout.

Yeah, I was having several identation problems.

> Comments appreciated.

Nice job overall.  Especially nice to move ATM, bridge, DECNET,
ECONET, etc., to their own Kconfig files so that they are more
manageable.

I propose that the new file net/atm/Kconfig be sourced somewhere.

I'll look at it more to see if I have any other comments.

> Patch on top of rc2.
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> ---
> 
> 
> 	Sam
> 	
>  drivers/Kconfig               |    5 
>  drivers/net/Kconfig           |    5 
>  drivers/net/appletalk/Kconfig |   28 ++
>  net/8021q/Kconfig             |   21 +
>  net/Kconfig                   |  541 +++---------------------------------------
>  net/atm/Kconfig               |   77 +++++
>  net/bridge/Kconfig            |   32 ++
>  net/bridge/netfilter/Kconfig  |    1 
>  net/core/Kconfig              |   67 +++++
>  net/decnet/Kconfig            |   24 +
>  net/econet/Kconfig            |   34 ++
>  net/ipv4/netfilter/Kconfig    |    5 
>  net/ipv6/Kconfig              |   20 +
>  net/ipx/Kconfig               |   33 ++
>  net/lapb/Kconfig              |   24 +
>  net/packet/Kconfig            |   26 ++
>  net/sched/Kconfig             |   40 +++
>  net/sctp/Kconfig              |    5 
>  net/unix/Kconfig              |   22 +
>  net/wanrouter/Kconfig         |   31 ++
>  net/x25/Kconfig               |   35 ++
>  21 files changed, 567 insertions(+), 509 deletions(-)

Thanks!

-- 
~Randy

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH] network configs: disconnect network options from drivers
  2005-04-04 20:48           ` Randy.Dunlap
@ 2005-04-04 21:55             ` Sam Ravnborg
  2005-04-04 23:11               ` Randy.Dunlap
  0 siblings, 1 reply; 18+ messages in thread
From: Sam Ravnborg @ 2005-04-04 21:55 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

 
> >- Move submenu to the top
> >- Rename top menu to "Networking" and located it just before
> > "File systems"
> 
> I still prefer Networking to come before Device Drivers FWIW.
> Just makes some kind of hierarchical sense to me.
Moved up as suggested.

> I propose that the new file net/atm/Kconfig be sourced somewhere.
Thanks, I have missed that one - added just before wanrouter.
 
> I'll look at it more to see if I have any other comments.
OK. I will await and post an updated patch if you do not beat me.

	Sam

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH] network configs: disconnect network options from drivers
  2005-04-04 21:55             ` Sam Ravnborg
@ 2005-04-04 23:11               ` Randy.Dunlap
  2005-04-05 15:45                 ` Sam Ravnborg
  0 siblings, 1 reply; 18+ messages in thread
From: Randy.Dunlap @ 2005-04-04 23:11 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

Sam Ravnborg wrote:
> 
>>>- Move submenu to the top
>>>- Rename top menu to "Networking" and located it just before
>>>"File systems"
>>
>>I still prefer Networking to come before Device Drivers FWIW.
>>Just makes some kind of hierarchical sense to me.
> 
> Moved up as suggested.
> 
> 
>>I propose that the new file net/atm/Kconfig be sourced somewhere.
> 
> Thanks, I have missed that one - added just before wanrouter.
>  
> 
>>I'll look at it more to see if I have any other comments.
> 
> OK. I will await and post an updated patch if you do not beat me.

Sam,
Here are a few more suggestions for you to consider.

- in Networking support, move Network testing and Netpoll
support to the end of the menu (basically put the devel.
tools toward the bottom of the menu)

- I would rather not "hide" Amateur Radio, IrDA, and
Bluetooth in the Networking protocols area, but have them
near 802.1x and ATM in the top-level Networking support
menu.  How does that sound to you?

Thanks.

-- 
~Randy

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH] network configs: disconnect network options from drivers
  2005-04-04 23:11               ` Randy.Dunlap
@ 2005-04-05 15:45                 ` Sam Ravnborg
  2005-04-05 18:46                   ` Randy.Dunlap
  0 siblings, 1 reply; 18+ messages in thread
From: Sam Ravnborg @ 2005-04-05 15:45 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

On Mon, Apr 04, 2005 at 04:11:33PM -0700, Randy.Dunlap wrote:
> 
> - in Networking support, move Network testing and Netpoll
> support to the end of the menu (basically put the devel.
> tools toward the bottom of the menu)
Done

> - I would rather not "hide" Amateur Radio, IrDA, and
> Bluetooth in the Networking protocols area, but have them
> near 802.1x and ATM in the top-level Networking support
> menu.  How does that sound to you?
Done

I've made them with separate menu's that you have to enter to enable
them.
Also pushed out xfrm stuff to net/xfrm/Kconfig
Several other small adjustments.
In the Networking menu the submenu's are grouped in beginning and in the
end now.

I thought of creating a Kconfig.netfilter for the common netfilter
stuff. But in the end did not do it - felt there was plenty of new small
files being created already.

Comments welcome.

	Sam

	
 drivers/Kconfig              |    4 
 drivers/net/Kconfig          |    5 
 net/Kconfig                  |  541 ++-----------------------------------------
 net/ax25/Kconfig             |    5 
 net/bluetooth/Kconfig        |    6 
 net/bridge/netfilter/Kconfig |    1 
 net/decnet/Kconfig           |   24 +
 net/ipv4/netfilter/Kconfig   |    5 
 net/ipv6/Kconfig             |   20 +
 net/ipx/Kconfig              |   33 ++
 net/irda/Kconfig             |    5 
 net/sched/Kconfig            |   40 +++
 net/sctp/Kconfig             |    5 
 net/xfrm/Kconfig             |   14 +
 v2.6/net/8021q/Kconfig       |   21 +
 v2.6/net/appletalk/Kconfig   |   33 ++
 v2.6/net/atm/Kconfig         |   79 ++++++
 v2.6/net/bridge/Kconfig      |   32 ++
 v2.6/net/core/Kconfig        |   67 +++++
 v2.6/net/econet/Kconfig      |   34 ++
 v2.6/net/lapb/Kconfig        |   24 +
 v2.6/net/packet/Kconfig      |   26 ++
 v2.6/net/unix/Kconfig        |   22 +
 v2.6/net/wanrouter/Kconfig   |   31 ++
 v2.6/net/x25/Kconfig         |   35 ++
 25 files changed, 590 insertions(+), 522 deletions(-)

 
===== drivers/Kconfig 1.7 vs edited =====
--- 1.7/drivers/Kconfig	2004-12-28 07:01:46 +01:00
+++ edited/drivers/Kconfig	2005-04-04 23:49:50 +02:00
@@ -1,5 +1,7 @@
 # drivers/Kconfig
 
+source "net/Kconfig"
+
 menu "Device Drivers"
 
 source "drivers/base/Kconfig"
@@ -28,7 +30,7 @@
 
 source "drivers/macintosh/Kconfig"
 
-source "net/Kconfig"
+source "drivers/net/Kconfig"
 
 source "drivers/isdn/Kconfig"
 
===== drivers/net/Kconfig 1.113 vs edited =====
--- 1.113/drivers/net/Kconfig	2005-03-29 22:48:24 +02:00
+++ edited/drivers/net/Kconfig	2005-04-04 22:06:34 +02:00
@@ -1,8 +1,9 @@
-
 #
 # Network device configuration
 #
 
+menu "Network device support"
+
 config NETDEVICES
 	depends on NET
 	bool "Network device support"
@@ -2535,4 +2536,6 @@
 	---help---
 	If you want to log kernel messages over the network, enable this.
 	See <file:Documentation/networking/netconsole.txt> for details.
+
+endmenu
 
===== net/Kconfig 1.43 vs edited =====
--- 1.43/net/Kconfig	2005-03-23 04:20:04 +01:00
+++ edited/net/Kconfig	2005-04-05 17:03:51 +02:00
@@ -2,7 +2,7 @@
 # Network configuration
 #
 
-menu "Networking support"
+menu "Networking"
 
 config NET
 	bool "Networking support"
@@ -10,7 +10,9 @@
 	  Unless you really know what you are doing, you should say Y here.
 	  The reason is that some programs need kernel networking support even
 	  when running on a stand-alone machine that isn't connected to any
-	  other computer. If you are upgrading from an older kernel, you
+	  other computer.
+
+	  If you are upgrading from an older kernel, you
 	  should consider updating your networking tools too because changes
 	  in the kernel and the tools often go hand in hand. The tools are
 	  contained in the package net-tools, the location and version number
@@ -20,57 +22,9 @@
 	  recommended to read the NET-HOWTO, available from
 	  <http://www.tldp.org/docs.html#howto>.
 
-menu "Networking options"
-	depends on NET
-
-config PACKET
-	tristate "Packet socket"
-	---help---
-	  The Packet protocol is used by applications which communicate
-	  directly with network devices without an intermediate network
-	  protocol implemented in the kernel, e.g. tcpdump.  If you want them
-	  to work, choose Y.
-
-	  To compile this driver as a module, choose M here: the module will
-	  be called af_packet.
-
-	  If unsure, say Y.
-
-config PACKET_MMAP
-	bool "Packet socket: mmapped IO"
-	depends on PACKET
-	help
-	  If you say Y here, the Packet protocol driver will use an IO
-	  mechanism that results in faster communication.
-
-	  If unsure, say N.
-
-config UNIX
-	tristate "Unix domain sockets"
-	---help---
-	  If you say Y here, you will include support for Unix domain sockets;
-	  sockets are the standard Unix mechanism for establishing and
-	  accessing network connections.  Many commonly used programs such as
-	  the X Window system and syslog use these sockets even if your
-	  machine is not connected to any network.  Unless you are working on
-	  an embedded system or something similar, you therefore definitely
-	  want to say Y here.
-
-	  To compile this driver as a module, choose M here: the module will be
-	  called unix.  Note that several important services won't work
-	  correctly if you say M here and then neglect to load the module.
-
-	  Say Y unless you know what you are doing.
-
-config NET_KEY
-	tristate "PF_KEY sockets"
-	select XFRM
-	---help---
-	  PF_KEYv2 socket family, compatible to KAME ones.
-	  They are required if you are going to use IPsec tools ported
-	  from KAME.
+if NET
 
-	  Say Y unless you know what you are doing.
+menu "Networking protocols"
 
 config INET
 	bool "TCP/IP networking"
@@ -94,31 +48,26 @@
 
 	  Short answer: say Y.
 
+if INET
 source "net/ipv4/Kconfig"
+source "net/ipv6/Kconfig"
+source "net/sctp/Kconfig"
+endif
 
-#   IPv6 as module will cause a CRASH if you try to unload it
-config IPV6
-	tristate "The IPv6 protocol"
-	depends on INET
-	default m
-	select CRYPTO if IPV6_PRIVACY
-	select CRYPTO_MD5 if IPV6_PRIVACY
-	---help---
-	  This is complemental support for the IP version 6.
-	  You will still be able to do traditional IPv4 networking as well.
-
-	  For general information about IPv6, see
-	  <http://playground.sun.com/pub/ipng/html/ipng-main.html>.
-	  For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
-	  For specific information about IPv6 under Linux, read the HOWTO at
-	  <http://www.bieringer.de/linux/IPv6/>.
+source "net/decnet/Kconfig"
+source "net/llc/Kconfig"
+source "net/ipx/Kconfig"
+source "net/appletalk/Kconfig"
+source "net/x25/Kconfig"
+source "net/lapb/Kconfig"
+source "net/econet/Kconfig"
 
-	  To compile this protocol support as a module, choose M here: the 
-	  module will be called ipv6.
+endmenu
+# end options and protocols
 
-source "net/ipv6/Kconfig"
+menu "Network packet filtering"
 
-menuconfig NETFILTER
+config NETFILTER
 	bool "Network packet filtering (replaces ipchains)"
 	---help---
 	  Netfilter is a framework for filtering and mangling network packets
@@ -181,14 +130,13 @@
 
 config NETFILTER_DEBUG
 	bool "Network packet filtering debugging"
-	depends on NETFILTER
 	help
 	  You can say Y here if you want to get additional messages useful in
 	  debugging the netfilter code.
 
 config BRIDGE_NETFILTER
 	bool "Bridged IP/ARP packets filtering"
-	depends on BRIDGE && NETFILTER && INET
+	depends on BRIDGE && INET
 	default y
 	---help---
 	  Enabling this option will let arptables resp. iptables see bridged
@@ -204,443 +152,22 @@
 source "net/decnet/netfilter/Kconfig"
 source "net/bridge/netfilter/Kconfig"
 
-endif
-
-config XFRM
-       bool
-       depends on NET
-
-source "net/xfrm/Kconfig"
-
-source "net/sctp/Kconfig"
-
-config ATM
-	tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  ATM is a high-speed networking technology for Local Area Networks
-	  and Wide Area Networks.  It uses a fixed packet size and is
-	  connection oriented, allowing for the negotiation of minimum
-	  bandwidth requirements.
-
-	  In order to participate in an ATM network, your Linux box needs an
-	  ATM networking card. If you have that, say Y here and to the driver
-	  of your ATM card below.
-
-	  Note that you need a set of user-space programs to actually make use
-	  of ATM.  See the file <file:Documentation/networking/atm.txt> for
-	  further details.
-
-config ATM_CLIP
-	tristate "Classical IP over ATM (EXPERIMENTAL)"
-	depends on ATM && INET
-	help
-	  Classical IP over ATM for PVCs and SVCs, supporting InARP and
-	  ATMARP. If you want to communication with other IP hosts on your ATM
-	  network, you will typically either say Y here or to "LAN Emulation
-	  (LANE)" below.
-
-config ATM_CLIP_NO_ICMP
-	bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
-	depends on ATM_CLIP
-	help
-	  Normally, an "ICMP host unreachable" message is sent if a neighbour
-	  cannot be reached because there is no VC to it in the kernel's
-	  ATMARP table. This may cause problems when ATMARP table entries are
-	  briefly removed during revalidation. If you say Y here, packets to
-	  such neighbours are silently discarded instead.
-
-config ATM_LANE
-	tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
-	depends on ATM
-	help
-	  LAN Emulation emulates services of existing LANs across an ATM
-	  network. Besides operating as a normal ATM end station client, Linux
-	  LANE client can also act as an proxy client bridging packets between
-	  ELAN and Ethernet segments. You need LANE if you want to try MPOA.
-
-config ATM_MPOA
-	tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
-	depends on ATM && INET && ATM_LANE!=n
-	help
-	  Multi-Protocol Over ATM allows ATM edge devices such as routers,
-	  bridges and ATM attached hosts establish direct ATM VCs across
-	  subnetwork boundaries. These shortcut connections bypass routers
-	  enhancing overall network performance.
-
-config ATM_BR2684
-	tristate "RFC1483/2684 Bridged protocols"
-	depends on ATM && INET
-	help
-	  ATM PVCs can carry ethernet PDUs according to rfc2684 (formerly 1483)
-	  This device will act like an ethernet from the kernels point of view,
-	  with the traffic being carried by ATM PVCs (currently 1 PVC/device).
-	  This is sometimes used over DSL lines.  If in doubt, say N.
-
-config ATM_BR2684_IPFILTER
-	bool "Per-VC IP filter kludge"
-	depends on ATM_BR2684
-	help
-	  This is an experimental mechanism for users who need to terminating a
-	  large number of IP-only vcc's.  Do not enable this unless you are sure
-	  you know what you are doing.
-
-config BRIDGE
-	tristate "802.1d Ethernet Bridging"
-	---help---
-	  If you say Y here, then your Linux box will be able to act as an
-	  Ethernet bridge, which means that the different Ethernet segments it
-	  is connected to will appear as one Ethernet to the participants.
-	  Several such bridges can work together to create even larger
-	  networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
-	  As this is a standard, Linux bridges will cooperate properly with
-	  other third party bridge products.
-
-	  In order to use the Ethernet bridge, you'll need the bridge
-	  configuration tools; see <file:Documentation/networking/bridge.txt>
-	  for location. Please read the Bridge mini-HOWTO for more
-	  information.
-
-	  If you enable iptables support along with the bridge support then you
-	  turn your bridge into a bridging IP firewall.
-	  iptables will then see the IP packets being bridged, so you need to
-	  take this into account when setting up your firewall rules.
-	  Enabling arptables support when bridging will let arptables see
-	  bridged ARP traffic in the arptables FORWARD chain.
-
-	  To compile this code as a module, choose M here: the module
-	  will be called bridge.
-
-	  If unsure, say N.
-
-config VLAN_8021Q
-	tristate "802.1Q VLAN Support"
-	---help---
-	  Select this and you will be able to create 802.1Q VLAN interfaces
-	  on your ethernet interfaces.  802.1Q VLAN supports almost
-	  everything a regular ethernet interface does, including
-	  firewalling, bridging, and of course IP traffic.  You will need
-	  the 'vconfig' tool from the VLAN project in order to effectively
-	  use VLANs.  See the VLAN web page for more information:
-	  <http://www.candelatech.com/~greear/vlan.html>
-
-	  To compile this code as a module, choose M here: the module
-	  will be called 8021q.
-
-	  If unsure, say N.
-
-config DECNET
-	tristate "DECnet Support"
-	---help---
-	  The DECnet networking protocol was used in many products made by
-	  Digital (now Compaq).  It provides reliable stream and sequenced
-	  packet communications over which run a variety of services similar
-	  to those which run over TCP/IP.
-
-	  To find some tools to use with the kernel layer support, please
-	  look at Patrick Caulfield's web site:
-	  <http://linux-decnet.sourceforge.net/>.
-
-	  More detailed documentation is available in
-	  <file:Documentation/networking/decnet.txt>.
-
-	  Be sure to say Y to "/proc file system support" and "Sysctl support"
-	  below when using DECnet, since you will need sysctl support to aid
-	  in configuration at run time.
-
-	  The DECnet code is also available as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want).
-	  The module is called decnet.
-
-source "net/decnet/Kconfig"
-
-source "net/llc/Kconfig"
-
-config IPX
-	tristate "The IPX protocol"
-	select LLC
-	---help---
-	  This is support for the Novell networking protocol, IPX, commonly
-	  used for local networks of Windows machines.  You need it if you
-	  want to access Novell NetWare file or print servers using the Linux
-	  Novell client ncpfs (available from
-	  <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
-	  within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
-	  available from <http://www.tldp.org/docs.html#howto>).  In order
-	  to do the former, you'll also have to say Y to "NCP file system
-	  support", below.
-
-	  IPX is similar in scope to IP, while SPX, which runs on top of IPX,
-	  is similar to TCP. There is also experimental support for SPX in
-	  Linux (see "SPX networking", below).
-
-	  To turn your Linux box into a fully featured NetWare file server and
-	  IPX router, say Y here and fetch either lwared from
-	  <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
-	  mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
-	  information, read the IPX-HOWTO available from
-	  <http://www.tldp.org/docs.html#howto>.
-
-	  General information about how to connect Linux, Windows machines and
-	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
-
-	  The IPX driver would enlarge your kernel by about 16 KB. To compile
-	  this driver as a module, choose M here: the module will be called ipx.
-	  Unless you want to integrate your Linux box with a local Novell
-	  network, say N.
-
-source "net/ipx/Kconfig"
-
-config ATALK
-	tristate "Appletalk protocol support"
-	select LLC
-	---help---
-	  AppleTalk is the protocol that Apple computers can use to communicate
-	  on a network.  If your Linux box is connected to such a network and you
-	  wish to connect to it, say Y.  You will need to use the netatalk package
-	  so that your Linux box can act as a print and file server for Macs as
-	  well as access AppleTalk printers.  Check out
-	  <http://www.zettabyte.net/netatalk/> on the WWW for details.
-	  EtherTalk is the name used for AppleTalk over Ethernet and the
-	  cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
-	  network using serial links.  EtherTalk and LocalTalk are fully
-	  supported by Linux.
-
-	  General information about how to connect Linux, Windows machines and
-	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.  The
-	  NET-3-HOWTO, available from
-	  <http://www.tldp.org/docs.html#howto>, contains valuable
-	  information as well.
-
-	  To compile this driver as a module, choose M here: the module will be
-	  called appletalk. You almost certainly want to compile it as a
-	  module so you can restart your AppleTalk stack without rebooting
-	  your machine. I hear that the GNU boycott of Apple is over, so
-	  even politically correct people are allowed to say Y here.
-
-source "drivers/net/appletalk/Kconfig"
-
-config X25
-	tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  X.25 is a set of standardized network protocols, similar in scope to
-	  frame relay; the one physical line from your box to the X.25 network
-	  entry point can carry several logical point-to-point connections
-	  (called "virtual circuits") to other computers connected to the X.25
-	  network. Governments, banks, and other organizations tend to use it
-	  to connect to each other or to form Wide Area Networks (WANs). Many
-	  countries have public X.25 networks. X.25 consists of two
-	  protocols: the higher level Packet Layer Protocol (PLP) (say Y here
-	  if you want that) and the lower level data link layer protocol LAPB
-	  (say Y to "LAPB Data Link Driver" below if you want that).
-
-	  You can read more about X.25 at <http://www.sangoma.com/x25.htm> and
-	  <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>.
-	  Information about X.25 for Linux is contained in the files
-	  <file:Documentation/networking/x25.txt> and
-	  <file:Documentation/networking/x25-iface.txt>.
-
-	  One connects to an X.25 network either with a dedicated network card
-	  using the X.21 protocol (not yet supported by Linux) or one can do
-	  X.25 over a standard telephone line using an ordinary modem (say Y
-	  to "X.25 async driver" below) or over Ethernet using an ordinary
-	  Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link
-	  Driver" and "LAPB over Ethernet driver" below).
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called x25. If unsure, say N.
-
-config LAPB
-	tristate "LAPB Data Link Driver (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
-	  the lower) part of the X.25 protocol. It offers a reliable
-	  connection service to exchange data frames with one other host, and
-	  it is used to transport higher level protocols (mostly X.25 Packet
-	  Layer, the higher part of X.25, but others are possible as well).
-	  Usually, LAPB is used with specialized X.21 network cards, but Linux
-	  currently supports LAPB only over Ethernet connections. If you want
-	  to use LAPB connections over Ethernet, say Y here and to "LAPB over
-	  Ethernet driver" below. Read
-	  <file:Documentation/networking/lapb-module.txt> for technical
-	  details.
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called lapb.  If unsure, say N.
-
-config NET_DIVERT
-	bool "Frame Diverter (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  The Frame Diverter allows you to divert packets from the
-	  network, that are not aimed at the interface receiving it (in
-	  promisc. mode). Typically, a Linux box setup as an Ethernet bridge
-	  with the Frames Diverter on, can do some *really* transparent www
-	  caching using a Squid proxy for example.
-
-	  This is very useful when you don't want to change your router's
-	  config (or if you simply don't have access to it).
-
-	  The other possible usages of diverting Ethernet Frames are
-	  numberous:
-	  - reroute smtp traffic to another interface
-	  - traffic-shape certain network streams
-	  - transparently proxy smtp connections
-	  - etc...
-
-	  For more informations, please refer to:
-	  <http://diverter.sourceforge.net/>
-	  <http://perso.wanadoo.fr/magpie/EtherDivert.html>
-
-	  If unsure, say N.
-
-config ECONET
-	tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
-	depends on EXPERIMENTAL && INET
-	---help---
-	  Econet is a fairly old and slow networking protocol mainly used by
-	  Acorn computers to access file and print servers. It uses native
-	  Econet network cards. AUN is an implementation of the higher level
-	  parts of Econet that runs over ordinary Ethernet connections, on
-	  top of the UDP packet protocol, which in turn runs on top of the
-	  Internet protocol IP.
-
-	  If you say Y here, you can choose with the next two options whether
-	  to send Econet/AUN traffic over a UDP Ethernet connection or over
-	  a native Econet network card.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called econet.
-
-config ECONET_AUNUDP
-	bool "AUN over UDP"
-	depends on ECONET
-	help
-	  Say Y here if you want to send Econet/AUN traffic over a UDP
-	  connection (UDP is a packet based protocol that runs on top of the
-	  Internet protocol IP) using an ordinary Ethernet network card.
-
-config ECONET_NATIVE
-	bool "Native Econet"
-	depends on ECONET
-	help
-	  Say Y here if you have a native Econet network card installed in
-	  your computer.
-
-config WAN_ROUTER
-	tristate "WAN router"
-	depends on EXPERIMENTAL
-	---help---
-	  Wide Area Networks (WANs), such as X.25, frame relay and leased
-	  lines, are used to interconnect Local Area Networks (LANs) over vast
-	  distances with data transfer rates significantly higher than those
-	  achievable with commonly used asynchronous modem connections.
-	  Usually, a quite expensive external device called a `WAN router' is
-	  needed to connect to a WAN.
-
-	  As an alternative, WAN routing can be built into the Linux kernel.
-	  With relatively inexpensive WAN interface cards available on the
-	  market, a perfectly usable router can be built for less than half
-	  the price of an external router.  If you have one of those cards and
-	  wish to use your Linux box as a WAN router, say Y here and also to
-	  the WAN driver for your card, below.  You will then need the
-	  wan-tools package which is available from <ftp://ftp.sangoma.com/>.
-	  Read <file:Documentation/networking/wan-router.txt> for more
-	  information.
-
-	  To compile WAN routing support as a module, choose M here: the
-	  module will be called wanrouter.
-
-	  If unsure, say N.
-
-menu "QoS and/or fair queueing"
-
-config NET_SCHED
-	bool "QoS and/or fair queueing"
-	---help---
-	  When the kernel has several packets to send out over a network
-	  device, it has to decide which ones to send first, which ones to
-	  delay, and which ones to drop. This is the job of the packet
-	  scheduler, and several different algorithms for how to do this
-	  "fairly" have been proposed.
-
-	  If you say N here, you will get the standard packet scheduler, which
-	  is a FIFO (first come, first served). If you say Y here, you will be
-	  able to choose from among several alternative algorithms which can
-	  then be attached to different network devices. This is useful for
-	  example if some of your network devices are real time devices that
-	  need a certain minimum data flow rate, or if you need to limit the
-	  maximum data flow rate for traffic which matches specified criteria.
-	  This code is considered to be experimental.
-
-	  To administer these schedulers, you'll need the user-level utilities
-	  from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
-	  That package also contains some documentation; for more, check out
-	  <http://snafu.freedom.org/linux2.2/iproute-notes.html>.
-
-	  This Quality of Service (QoS) support will enable you to use
-	  Differentiated Services (diffserv) and Resource Reservation Protocol
-	  (RSVP) on your Linux router if you also say Y to "QoS support",
-	  "Packet classifier API" and to some classifiers below. Documentation
-	  and software is at <http://diffserv.sourceforge.net/>.
-
-	  If you say Y here and to "/proc file system" below, you will be able
-	  to read status information about packet schedulers from the file
-	  /proc/net/psched.
-
-	  The available schedulers are listed in the following questions; you
-	  can say Y to as many as you like. If unsure, say N now.
+endif # if NETFILTER
+endmenu # "Network packet filtering"
 
 source "net/sched/Kconfig"
-
-endmenu
-
-menu "Network testing"
-
-config NET_PKTGEN
-	tristate "Packet Generator (USE WITH CAUTION)"
-	depends on PROC_FS
-	---help---
-	  This module will inject preconfigured packets, at a configurable
-	  rate, out of a given interface.  It is used for network interface
-	  stress testing and performance analysis.  If you don't understand
-	  what was just said, you don't need it: say N.
-
-	  Documentation on how to use the packet generator can be found
-	  at <file:Documentation/networking/pktgen.txt>.
-
-	  To compile this code as a module, choose M here: the
-	  module will be called pktgen.
-
-endmenu
-
-endmenu
-
-config NETPOLL
-	def_bool NETCONSOLE
-
-config NETPOLL_RX
-	bool "Netpoll support for trapping incoming packets"
-	default n
-	depends on NETPOLL
-
-config NETPOLL_TRAP
-	bool "Netpoll traffic trapping"
-	default n
-	depends on NETPOLL
-
-config NET_POLL_CONTROLLER
-	def_bool NETPOLL
-
+source "net/xfrm/Kconfig"
+source "net/packet/Kconfig"
+source "net/unix/Kconfig"
+source "net/bridge/Kconfig"
+source "net/8021q/Kconfig"
 source "net/ax25/Kconfig"
-
 source "net/irda/Kconfig"
-
 source "net/bluetooth/Kconfig"
+source "net/atm/Kconfig"
+source "net/wanrouter/Kconfig"
+source "net/core/Kconfig"
 
-source "drivers/net/Kconfig"
-
-endmenu
+endif # if NET
+endmenu # "Networking"
 
===== net/ax25/Kconfig 1.5 vs edited =====
--- 1.5/net/ax25/Kconfig	2004-04-06 00:22:50 +02:00
+++ edited/net/ax25/Kconfig	2005-04-05 06:26:26 +02:00
@@ -6,7 +6,9 @@
 #		Joerg Reuter DL1BKE <jreuter@yaina.de>
 # 19980129	Moved to net/ax25/Config.in, sourcing device drivers.
 
-menuconfig HAMRADIO
+menu "Amateur Radio support"
+
+config HAMRADIO
 	depends on NET
 	bool "Amateur Radio support"
 	help
@@ -107,4 +109,5 @@
 source "drivers/net/hamradio/Kconfig"
 
 endmenu
+endmenu # "Amateur Radio support"
 
===== net/bluetooth/Kconfig 1.8 vs edited =====
--- 1.8/net/bluetooth/Kconfig	2004-07-16 13:25:28 +02:00
+++ edited/net/bluetooth/Kconfig	2005-04-05 06:28:35 +02:00
@@ -2,7 +2,9 @@
 # Bluetooth subsystem configuration
 #
 
-menuconfig BT
+menu "Bluetooth subsystem support"
+
+config BT
 	depends on NET
 	tristate "Bluetooth subsystem support"
 	help
@@ -60,4 +62,6 @@
 source "net/bluetooth/hidp/Kconfig"
 
 source "drivers/bluetooth/Kconfig"
+
+endmenu # "Bluetooth subsystem support"
 
===== net/bridge/netfilter/Kconfig 1.12 vs edited =====
--- 1.12/net/bridge/netfilter/Kconfig	2004-11-24 08:46:46 +01:00
+++ edited/net/bridge/netfilter/Kconfig	2005-04-04 22:06:36 +02:00
@@ -139,6 +139,7 @@
 config BRIDGE_EBT_ARPREPLY
 	tristate "ebt: arp reply target support"
 	depends on BRIDGE_NF_EBTABLES
+	depends on INET
 	help
 	  This option adds the arp reply target, which allows
 	  automatically sending arp replies to arp requests.
===== net/decnet/Kconfig 1.5 vs edited =====
--- 1.5/net/decnet/Kconfig	2004-11-18 22:42:11 +01:00
+++ edited/net/decnet/Kconfig	2005-04-04 22:06:37 +02:00
@@ -1,6 +1,30 @@
 #
 # DECnet configuration
 #
+
+config DECNET
+	tristate "DECnet Support"
+	---help---
+	  The DECnet networking protocol was used in many products made by
+	  Digital (now Compaq).  It provides reliable stream and sequenced
+	  packet communications over which run a variety of services similar
+	  to those which run over TCP/IP.
+
+	  To find some tools to use with the kernel layer support, please
+	  look at Patrick Caulfield's web site:
+	  <http://linux-decnet.sourceforge.net/>.
+
+	  More detailed documentation is available in
+	  <file:Documentation/networking/decnet.txt>.
+
+	  Be sure to say Y to "/proc file system support" and "Sysctl support"
+	  below when using DECnet, since you will need sysctl support to aid
+	  in configuration at run time.
+
+	  The DECnet code is also available as a module ( = code which can be
+	  inserted in and removed from the running kernel whenever you want).
+	  The module is called decnet.
+
 config DECNET_ROUTER
 	bool "DECnet: router support (EXPERIMENTAL)"
 	depends on DECNET && EXPERIMENTAL
===== net/ipv4/netfilter/Kconfig 1.35 vs edited =====
--- 1.35/net/ipv4/netfilter/Kconfig	2005-01-15 23:31:06 +01:00
+++ edited/net/ipv4/netfilter/Kconfig	2005-04-04 22:06:38 +02:00
@@ -2,9 +2,6 @@
 # IP netfilter configuration
 #
 
-menu "IP: Netfilter Configuration"
-	depends on INET && NETFILTER
-
 # connection tracking, helpers and protocols
 config IP_NF_CONNTRACK
 	tristate "Connection tracking (required for masq/NAT)"
@@ -691,6 +688,4 @@
 	help
 	  Allows altering the ARP packet payload: source and destination
 	  hardware and network addresses.
-
-endmenu
 
===== net/ipv6/Kconfig 1.12 vs edited =====
--- 1.12/net/ipv6/Kconfig	2004-10-26 21:32:29 +02:00
+++ edited/net/ipv6/Kconfig	2005-04-04 22:06:38 +02:00
@@ -1,6 +1,26 @@
 #
 # IPv6 configuration
 # 
+
+#   IPv6 as module will cause a CRASH if you try to unload it
+config IPV6
+	tristate "The IPv6 protocol"
+	default m
+	select CRYPTO if IPV6_PRIVACY
+	select CRYPTO_MD5 if IPV6_PRIVACY
+	---help---
+	  This is complemental support for the IP version 6.
+	  You will still be able to do traditional IPv4 networking as well.
+
+	  For general information about IPv6, see
+	  <http://playground.sun.com/pub/ipng/html/ipng-main.html>.
+	  For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
+	  For specific information about IPv6 under Linux, read the HOWTO at
+	  <http://www.bieringer.de/linux/IPv6/>.
+
+	  To compile this protocol support as a module, choose M here: the 
+	  module will be called ipv6.
+
 config IPV6_PRIVACY
 	bool "IPv6: Privacy Extensions (RFC 3041) support"
 	depends on IPV6
===== net/ipx/Kconfig 1.2 vs edited =====
--- 1.2/net/ipx/Kconfig	2003-04-20 21:56:51 +02:00
+++ edited/net/ipx/Kconfig	2005-04-04 22:06:39 +02:00
@@ -1,6 +1,39 @@
 #
 # IPX configuration
 #
+config IPX
+	tristate "The IPX protocol"
+	select LLC
+	---help---
+	  This is support for the Novell networking protocol, IPX, commonly
+	  used for local networks of Windows machines.  You need it if you
+	  want to access Novell NetWare file or print servers using the Linux
+	  Novell client ncpfs (available from
+	  <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
+	  within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
+	  available from <http://www.tldp.org/docs.html#howto>).  In order
+	  to do the former, you'll also have to say Y to "NCP file system
+	  support", below.
+
+	  IPX is similar in scope to IP, while SPX, which runs on top of IPX,
+	  is similar to TCP. There is also experimental support for SPX in
+	  Linux (see "SPX networking", below).
+
+	  To turn your Linux box into a fully featured NetWare file server and
+	  IPX router, say Y here and fetch either lwared from
+	  <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
+	  mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
+	  information, read the IPX-HOWTO available from
+	  <http://www.tldp.org/docs.html#howto>.
+
+	  General information about how to connect Linux, Windows machines and
+	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
+
+	  The IPX driver would enlarge your kernel by about 16 KB. To compile
+	  this driver as a module, choose M here: the module will be called ipx.
+	  Unless you want to integrate your Linux box with a local Novell
+	  network, say N.
+
 config IPX_INTERN
 	bool "IPX: Full internal IPX network"
 	depends on IPX
===== net/irda/Kconfig 1.7 vs edited =====
--- 1.7/net/irda/Kconfig	2004-07-11 10:54:26 +02:00
+++ edited/net/irda/Kconfig	2005-04-05 06:27:43 +02:00
@@ -1,8 +1,9 @@
 #
 # IrDA protocol configuration
 #
+menu "IrDA (infrared) subsystem support"
 
-menuconfig IRDA
+config IRDA
 	depends on NET
 	tristate "IrDA (infrared) subsystem support"
 	select CRC_CCITT
@@ -93,4 +94,6 @@
 	  If unsure, say Y (since it makes it easier to find the bugs).
 
 source "drivers/net/irda/Kconfig"
+
+endmenu # "IrDA (infrared) subsystem support"
 
===== net/sched/Kconfig 1.33 vs edited =====
--- 1.33/net/sched/Kconfig	2005-02-15 21:20:47 +01:00
+++ edited/net/sched/Kconfig	2005-04-05 17:34:38 +02:00
@@ -1,6 +1,45 @@
 #
 # Traffic control configuration.
 # 
+
+menu "QoS and/or fair queueing"
+
+config NET_SCHED
+	bool "QoS and/or fair queueing"
+	---help---
+	  When the kernel has several packets to send out over a network
+	  device, it has to decide which ones to send first, which ones to
+	  delay, and which ones to drop. This is the job of the packet
+	  scheduler, and several different algorithms for how to do this
+	  "fairly" have been proposed.
+
+	  If you say N here, you will get the standard packet scheduler, which
+	  is a FIFO (first come, first served). If you say Y here, you will be
+	  able to choose from among several alternative algorithms which can
+	  then be attached to different network devices. This is useful for
+	  example if some of your network devices are real time devices that
+	  need a certain minimum data flow rate, or if you need to limit the
+	  maximum data flow rate for traffic which matches specified criteria.
+	  This code is considered to be experimental.
+
+	  To administer these schedulers, you'll need the user-level utilities
+	  from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
+	  That package also contains some documentation; for more, check out
+	  <http://snafu.freedom.org/linux2.2/iproute-notes.html>.
+
+	  This Quality of Service (QoS) support will enable you to use
+	  Differentiated Services (diffserv) and Resource Reservation Protocol
+	  (RSVP) on your Linux router if you also say Y to "QoS support",
+	  "Packet classifier API" and to some classifiers below. Documentation
+	  and software is at <http://diffserv.sourceforge.net/>.
+
+	  If you say Y here and to "/proc file system" below, you will be able
+	  to read status information about packet schedulers from the file
+	  /proc/net/psched.
+
+	  The available schedulers are listed in the following questions; you
+	  can say Y to as many as you like. If unsure, say N now.
+
 choice
 	prompt "Packet scheduler clock source"
 	depends on NET_SCHED
@@ -506,3 +545,4 @@
 	  Say Y to support traffic policing (bandwidth limits).  Needed for
 	  ingress and egress rate limiting.
 
+endmenu
===== net/sctp/Kconfig 1.13 vs edited =====
--- 1.13/net/sctp/Kconfig	2004-07-30 00:48:33 +02:00
+++ edited/net/sctp/Kconfig	2005-04-04 22:06:40 +02:00
@@ -2,12 +2,8 @@
 # SCTP configuration
 #
 
-menu "SCTP Configuration (EXPERIMENTAL)"
-	depends on INET && EXPERIMENTAL
-
 config IP_SCTP
 	tristate "The SCTP Protocol (EXPERIMENTAL)"
-	depends on IPV6 || IPV6=n
 	select CRYPTO if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5
 	select CRYPTO_HMAC if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5
 	select CRYPTO_SHA1 if SCTP_HMAC_SHA1
@@ -86,4 +82,3 @@
 	  advised to use either HMAC-MD5 or HMAC-SHA1.
 
 endchoice
-endmenu
===== net/xfrm/Kconfig 1.3 vs edited =====
--- 1.3/net/xfrm/Kconfig	2004-11-02 02:15:57 +01:00
+++ edited/net/xfrm/Kconfig	2005-04-05 17:01:24 +02:00
@@ -1,6 +1,10 @@
 #
 # XFRM configuration
 #
+
+config XFRM
+       bool
+
 config XFRM_USER
 	tristate "IPsec user configuration interface"
 	depends on INET && XFRM
@@ -9,4 +13,14 @@
 	  by native Linux tools.
 
 	  If unsure, say Y.
+
+config NET_KEY
+	tristate "PF_KEY sockets"
+	select XFRM
+	---help---
+	  PF_KEYv2 socket family, compatible to KAME ones.
+	  They are required if you are going to use IPsec tools ported
+	  from KAME.
+
+	  Say Y unless you know what you are doing.
 
--- /dev/null	2004-06-15 23:54:05.000000000 +0200
+++ v2.6/net/8021q/Kconfig	2005-04-04 22:06:34.000000000 +0200
@@ -0,0 +1,21 @@
+#
+# Configuration for 802.1Q VLAN support
+#
+
+config VLAN_8021Q
+	tristate "802.1Q VLAN Support"
+	---help---
+	  Select this and you will be able to create 802.1Q VLAN interfaces
+	  on your ethernet interfaces.  802.1Q VLAN supports almost
+	  everything a regular ethernet interface does, including
+	  firewalling, bridging, and of course IP traffic.  You will need
+	  the 'vconfig' tool from the VLAN project in order to effectively
+	  use VLANs.  See the VLAN web page for more information:
+	  <http://www.candelatech.com/~greear/vlan.html>
+
+	  To compile this code as a module, choose M here: the module
+	  will be called 8021q.
+
+	  If unsure, say N.
+
+
--- /dev/null	2004-06-15 23:54:05.000000000 +0200
+++ v2.6/net/appletalk/Kconfig	2005-04-04 22:09:15.000000000 +0200
@@ -0,0 +1,33 @@
+#
+# Appletalk configuration
+#
+
+config ATALK
+	tristate "Appletalk protocol support"
+	depends on NET
+	select LLC
+	---help---
+	  AppleTalk is the protocol that Apple computers can use to communicate
+	  on a network.  If your Linux box is connected to such a network and you
+	  wish to connect to it, say Y.  You will need to use the netatalk package
+	  so that your Linux box can act as a print and file server for Macs as
+	  well as access AppleTalk printers.  Check out
+	  <http://www.zettabyte.net/netatalk/> on the WWW for details.
+	  EtherTalk is the name used for AppleTalk over Ethernet and the
+	  cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
+	  network using serial links.  EtherTalk and LocalTalk are fully
+	  supported by Linux.
+
+	  General information about how to connect Linux, Windows machines and
+	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.  The
+	  NET-3-HOWTO, available from
+	  <http://www.tldp.org/docs.html#howto>, contains valuable
+	  information as well.
+
+	  To compile this driver as a module, choose M here: the module will be
+	  called appletalk. You almost certainly want to compile it as a
+	  module so you can restart your AppleTalk stack without rebooting
+	  your machine. I hear that the GNU boycott of Apple is over, so
+	  even politically correct people are allowed to say Y here.
+
+source "drivers/net/appletalk/Kconfig"
--- /dev/null	2004-06-15 23:54:05.000000000 +0200
+++ v2.6/net/atm/Kconfig	2005-04-05 17:32:12.000000000 +0200
@@ -0,0 +1,79 @@
+#
+# ATM Configarition
+#
+
+menu "Asynchronous Transfer Mode (ATM)"
+
+config ATM
+	tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	---help---
+	  ATM is a high-speed networking technology for Local Area Networks
+	  and Wide Area Networks.  It uses a fixed packet size and is
+	  connection oriented, allowing for the negotiation of minimum
+	  bandwidth requirements.
+
+	  In order to participate in an ATM network, your Linux box needs an
+	  ATM networking card. If you have that, say Y here and to the driver
+	  of your ATM card below.
+
+	  Note that you need a set of user-space programs to actually make use
+	  of ATM.  See the file <file:Documentation/networking/atm.txt> for
+	  further details.
+
+config ATM_CLIP
+	tristate "Classical IP over ATM (EXPERIMENTAL)"
+	depends on ATM && INET
+	help
+	  Classical IP over ATM for PVCs and SVCs, supporting InARP and
+	  ATMARP. If you want to communication with other IP hosts on your ATM
+	  network, you will typically either say Y here or to "LAN Emulation
+	  (LANE)" below.
+
+config ATM_CLIP_NO_ICMP
+	bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
+	depends on ATM_CLIP
+	help
+	  Normally, an "ICMP host unreachable" message is sent if a neighbour
+	  cannot be reached because there is no VC to it in the kernel's
+	  ATMARP table. This may cause problems when ATMARP table entries are
+	  briefly removed during revalidation. If you say Y here, packets to
+	  such neighbours are silently discarded instead.
+
+config ATM_LANE
+	tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
+	depends on ATM
+	help
+	  LAN Emulation emulates services of existing LANs across an ATM
+	  network. Besides operating as a normal ATM end station client, Linux
+	  LANE client can also act as an proxy client bridging packets between
+	  ELAN and Ethernet segments. You need LANE if you want to try MPOA.
+
+config ATM_MPOA
+	tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
+	depends on ATM && INET && ATM_LANE!=n
+	help
+	  Multi-Protocol Over ATM allows ATM edge devices such as routers,
+	  bridges and ATM attached hosts establish direct ATM VCs across
+	  subnetwork boundaries. These shortcut connections bypass routers
+	  enhancing overall network performance.
+
+config ATM_BR2684
+	tristate "RFC1483/2684 Bridged protocols"
+	depends on ATM && INET
+	help
+	  ATM PVCs can carry ethernet PDUs according to rfc2684 (formerly 1483)
+	  This device will act like an ethernet from the kernels point of view,
+	  with the traffic being carried by ATM PVCs (currently 1 PVC/device).
+	  This is sometimes used over DSL lines.  If in doubt, say N.
+
+config ATM_BR2684_IPFILTER
+	bool "Per-VC IP filter kludge"
+	depends on ATM_BR2684
+	help
+	  This is an experimental mechanism for users who need to terminating a
+	  large number of IP-only vcc's.  Do not enable this unless you are sure
+	  you know what you are doing.
+
+endmenu # "Asynchronous Transfer Mode (ATM)"
+
--- /dev/null	2004-06-15 23:54:05.000000000 +0200
+++ v2.6/net/bridge/Kconfig	2005-04-04 22:06:35.000000000 +0200
@@ -0,0 +1,32 @@
+#
+# Configuration for Ethernet bridging
+#
+
+config BRIDGE
+	tristate "802.1d Ethernet Bridging"
+	---help---
+	  If you say Y here, then your Linux box will be able to act as an
+	  Ethernet bridge, which means that the different Ethernet segments it
+	  is connected to will appear as one Ethernet to the participants.
+	  Several such bridges can work together to create even larger
+	  networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
+	  As this is a standard, Linux bridges will cooperate properly with
+	  other third party bridge products.
+
+	  In order to use the Ethernet bridge, you'll need the bridge
+	  configuration tools; see <file:Documentation/networking/bridge.txt>
+	  for location. Please read the Bridge mini-HOWTO for more
+	  information.
+
+	  If you enable iptables support along with the bridge support then you
+	  turn your bridge into a bridging IP firewall.
+	  iptables will then see the IP packets being bridged, so you need to
+	  take this into account when setting up your firewall rules.
+	  Enabling arptables support when bridging will let arptables see
+	  bridged ARP traffic in the arptables FORWARD chain.
+
+	  To compile this code as a module, choose M here: the module
+	  will be called bridge.
+
+	  If unsure, say N.
+
--- /dev/null	2004-06-15 23:54:05.000000000 +0200
+++ v2.6/net/core/Kconfig	2005-04-04 22:06:36.000000000 +0200
@@ -0,0 +1,67 @@
+#
+# Core configuration
+#
+
+menu "Network testing"
+
+config NET_PKTGEN
+	tristate "Packet Generator (USE WITH CAUTION)"
+	depends on PROC_FS
+	depends on INET
+	---help---
+	  This module will inject preconfigured packets, at a configurable
+	  rate, out of a given interface.  It is used for network interface
+	  stress testing and performance analysis.  If you don't understand
+	  what was just said, you don't need it: say N.
+
+	  Documentation on how to use the packet generator can be found
+	  at <file:Documentation/networking/pktgen.txt>.
+
+	  To compile this code as a module, choose M here: the
+	  module will be called pktgen.
+
+endmenu
+
+config NETPOLL
+	def_bool NETCONSOLE
+
+config NETPOLL_RX
+	bool "Netpoll support for trapping incoming packets"
+	default n
+	depends on NETPOLL
+
+config NETPOLL_TRAP
+	bool "Netpoll traffic trapping"
+	default n
+	depends on NETPOLL
+
+config NET_POLL_CONTROLLER
+	def_bool NETPOLL
+
+config NET_DIVERT
+	bool "Frame Diverter (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	---help---
+	  The Frame Diverter allows you to divert packets from the
+	  network, that are not aimed at the interface receiving it (in
+	  promisc. mode). Typically, a Linux box setup as an Ethernet bridge
+	  with the Frames Diverter on, can do some *really* transparent www
+	  caching using a Squid proxy for example.
+
+	  This is very useful when you don't want to change your router's
+	  config (or if you simply don't have access to it).
+
+	  The other possible usages of diverting Ethernet Frames are
+	  numberous:
+	  - reroute smtp traffic to another interface
+	  - traffic-shape certain network streams
+	  - transparently proxy smtp connections
+	  - etc...
+
+	  For more informations, please refer to:
+	  <http://diverter.sourceforge.net/>
+	  <http://perso.wanadoo.fr/magpie/EtherDivert.html>
+
+	  If unsure, say N.
+
+
--- /dev/null	2004-06-15 23:54:05.000000000 +0200
+++ v2.6/net/econet/Kconfig	2005-04-04 22:06:37.000000000 +0200
@@ -0,0 +1,34 @@
+
+config ECONET
+	tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
+	depends on EXPERIMENTAL && INET
+	---help---
+	  Econet is a fairly old and slow networking protocol mainly used by
+	  Acorn computers to access file and print servers. It uses native
+	  Econet network cards. AUN is an implementation of the higher level
+	  parts of Econet that runs over ordinary Ethernet connections, on
+	  top of the UDP packet protocol, which in turn runs on top of the
+	  Internet protocol IP.
+
+	  If you say Y here, you can choose with the next two options whether
+	  to send Econet/AUN traffic over a UDP Ethernet connection or over
+	  a native Econet network card.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called econet.
+
+config ECONET_AUNUDP
+	bool "AUN over UDP"
+	depends on ECONET
+	help
+	  Say Y here if you want to send Econet/AUN traffic over a UDP
+	  connection (UDP is a packet based protocol that runs on top of the
+	  Internet protocol IP) using an ordinary Ethernet network card.
+
+config ECONET_NATIVE
+	bool "Native Econet"
+	depends on ECONET
+	help
+	  Say Y here if you have a native Econet network card installed in
+	  your computer.
+
--- /dev/null	2004-06-15 23:54:05.000000000 +0200
+++ v2.6/net/lapb/Kconfig	2005-04-04 22:06:39.000000000 +0200
@@ -0,0 +1,24 @@
+#
+# LAPB Configuration
+#
+
+config LAPB
+	tristate "LAPB Data Link Driver (EXPERIMENTAL)"
+	depends on NET && EXPERIMENTAL
+	---help---
+	  Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
+	  the lower) part of the X.25 protocol. It offers a reliable
+	  connection service to exchange data frames with one other host, and
+	  it is used to transport higher level protocols (mostly X.25 Packet
+	  Layer, the higher part of X.25, but others are possible as well).
+	  Usually, LAPB is used with specialized X.21 network cards, but Linux
+	  currently supports LAPB only over Ethernet connections. If you want
+	  to use LAPB connections over Ethernet, say Y here and to "LAPB over
+	  Ethernet driver" below. Read
+	  <file:Documentation/networking/lapb-module.txt> for technical
+	  details.
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called lapb.  If unsure, say N.
+
+
--- /dev/null	2004-06-15 23:54:05.000000000 +0200
+++ v2.6/net/packet/Kconfig	2005-04-04 22:06:39.000000000 +0200
@@ -0,0 +1,26 @@
+#
+# Packet configuration
+#
+
+config PACKET
+	tristate "Packet socket"
+	---help---
+	  The Packet protocol is used by applications which communicate
+	  directly with network devices without an intermediate network
+	  protocol implemented in the kernel, e.g. tcpdump.  If you want them
+	  to work, choose Y.
+
+	  To compile this driver as a module, choose M here: the module will
+	  be called af_packet.
+
+	  If unsure, say Y.
+
+config PACKET_MMAP
+	bool "Packet socket: mmapped IO"
+	depends on PACKET
+	help
+	  If you say Y here, the Packet protocol driver will use an IO
+	  mechanism that results in faster communication.
+
+	  If unsure, say N.
+
--- /dev/null	2004-06-15 23:54:05.000000000 +0200
+++ v2.6/net/unix/Kconfig	2005-04-04 22:06:40.000000000 +0200
@@ -0,0 +1,22 @@
+#
+# Configuration for Unix domain sockets
+#
+
+config UNIX
+	tristate "Unix domain sockets"
+	---help---
+	  If you say Y here, you will include support for Unix domain sockets;
+	  sockets are the standard Unix mechanism for establishing and
+	  accessing network connections.  Many commonly used programs such as
+	  the X Window system and syslog use these sockets even if your
+	  machine is not connected to any network.  Unless you are working on
+	  an embedded system or something similar, you therefore definitely
+	  want to say Y here.
+
+	  To compile this driver as a module, choose M here: the module will be
+	  called unix.  Note that several important services won't work
+	  correctly if you say M here and then neglect to load the module.
+
+	  Say Y unless you know what you are doing.
+
+
--- /dev/null	2004-06-15 23:54:05.000000000 +0200
+++ v2.6/net/wanrouter/Kconfig	2005-04-04 22:06:40.000000000 +0200
@@ -0,0 +1,31 @@
+#
+# Configuration for WAN Router
+#
+
+config WAN_ROUTER
+	tristate "WAN router"
+	depends on EXPERIMENTAL
+	---help---
+	  Wide Area Networks (WANs), such as X.25, frame relay and leased
+	  lines, are used to interconnect Local Area Networks (LANs) over vast
+	  distances with data transfer rates significantly higher than those
+	  achievable with commonly used asynchronous modem connections.
+	  Usually, a quite expensive external device called a `WAN router' is
+	  needed to connect to a WAN.
+
+	  As an alternative, WAN routing can be built into the Linux kernel.
+	  With relatively inexpensive WAN interface cards available on the
+	  market, a perfectly usable router can be built for less than half
+	  the price of an external router.  If you have one of those cards and
+	  wish to use your Linux box as a WAN router, say Y here and also to
+	  the WAN driver for your card, below.  You will then need the
+	  wan-tools package which is available from <ftp://ftp.sangoma.com/>.
+	  Read <file:Documentation/networking/wan-router.txt> for more
+	  information.
+
+	  To compile WAN routing support as a module, choose M here: the
+	  module will be called wanrouter.
+
+	  If unsure, say N.
+
+
--- /dev/null	2004-06-15 23:54:05.000000000 +0200
+++ v2.6/net/x25/Kconfig	2005-04-04 22:06:40.000000000 +0200
@@ -0,0 +1,35 @@
+#
+# X25 Configuration
+#
+
+config X25
+	tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
+	depends on NET && EXPERIMENTAL
+	---help---
+	  X.25 is a set of standardized network protocols, similar in scope to
+	  frame relay; the one physical line from your box to the X.25 network
+	  entry point can carry several logical point-to-point connections
+	  (called "virtual circuits") to other computers connected to the X.25
+	  network. Governments, banks, and other organizations tend to use it
+	  to connect to each other or to form Wide Area Networks (WANs). Many
+	  countries have public X.25 networks. X.25 consists of two
+	  protocols: the higher level Packet Layer Protocol (PLP) (say Y here
+	  if you want that) and the lower level data link layer protocol LAPB
+	  (say Y to "LAPB Data Link Driver" below if you want that).
+
+	  You can read more about X.25 at <http://www.sangoma.com/x25.htm> and
+	  <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>.
+	  Information about X.25 for Linux is contained in the files
+	  <file:Documentation/networking/x25.txt> and
+	  <file:Documentation/networking/x25-iface.txt>.
+
+	  One connects to an X.25 network either with a dedicated network card
+	  using the X.21 protocol (not yet supported by Linux) or one can do
+	  X.25 over a standard telephone line using an ordinary modem (say Y
+	  to "X.25 async driver" below) or over Ethernet using an ordinary
+	  Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link
+	  Driver" and "LAPB over Ethernet driver" below).
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called x25. If unsure, say N.
+

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH] network configs: disconnect network options from drivers
  2005-04-04 19:50         ` Sam Ravnborg
  2005-04-04 20:48           ` Randy.Dunlap
@ 2005-04-05 17:42           ` Sridhar Samudrala
  2005-04-05 21:04             ` Sam Ravnborg
  1 sibling, 1 reply; 18+ messages in thread
From: Sridhar Samudrala @ 2005-04-05 17:42 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Randy.Dunlap, ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

On Mon, 4 Apr 2005, Sam Ravnborg wrote:

>
> Only bit that I am worried about is the statement in SCTP:
> 	depends on IPV6 || IPV6=n
>
> That looked like a noop to me. It had the sideeffect that SCTP
> menu entries where idented an extra level which was not desireable
> with currect layout.
>

No. This is not a noop. This is required to restrict SCTP configured as
static when IPV6 is configured as module.

Thanks
Sridhar

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH] network configs: disconnect network options from drivers
  2005-04-05 15:45                 ` Sam Ravnborg
@ 2005-04-05 18:46                   ` Randy.Dunlap
  2005-04-05 21:11                     ` [PATCH] networking: restructuring of net/ kconfig Sam Ravnborg
  0 siblings, 1 reply; 18+ messages in thread
From: Randy.Dunlap @ 2005-04-05 18:46 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

Sam Ravnborg wrote:
> On Mon, Apr 04, 2005 at 04:11:33PM -0700, Randy.Dunlap wrote:
> 
>>- in Networking support, move Network testing and Netpoll
>>support to the end of the menu (basically put the devel.
>>tools toward the bottom of the menu)
> 
> Done
> 
> 
>>- I would rather not "hide" Amateur Radio, IrDA, and
>>Bluetooth in the Networking protocols area, but have them
>>near 802.1x and ATM in the top-level Networking support
>>menu.  How does that sound to you?
> 
> Done
> 
> I've made them with separate menu's that you have to enter to enable
> them.
> Also pushed out xfrm stuff to net/xfrm/Kconfig
> Several other small adjustments.
> In the Networking menu the submenu's are grouped in beginning and in the
> end now.
> 
> I thought of creating a Kconfig.netfilter for the common netfilter
> stuff. But in the end did not do it - felt there was plenty of new small
> files being created already.

It would make sense to isolate the netfilter options, but that can
be done later.
But you are right about "plenty of new small files."

I would move Frame Diverter (NET_DIVERT) from the end of the
net/core/Kconfig file to the top of the same file....
and then ship it.  :)


> Comments welcome.

Thanks for doing this.

-- 
~Randy

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH] network configs: disconnect network options from drivers
  2005-04-05 17:42           ` [PATCH] network configs: disconnect network options from drivers Sridhar Samudrala
@ 2005-04-05 21:04             ` Sam Ravnborg
  0 siblings, 0 replies; 18+ messages in thread
From: Sam Ravnborg @ 2005-04-05 21:04 UTC (permalink / raw)
  To: Sridhar Samudrala
  Cc: Randy.Dunlap, ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

On Tue, Apr 05, 2005 at 10:42:25AM -0700, Sridhar Samudrala wrote:
> On Mon, 4 Apr 2005, Sam Ravnborg wrote:
> 
> >
> >Only bit that I am worried about is the statement in SCTP:
> >	depends on IPV6 || IPV6=n
> >
> >That looked like a noop to me. It had the sideeffect that SCTP
> >menu entries where idented an extra level which was not desireable
> >with currect layout.
> >
> 
> No. This is not a noop. This is required to restrict SCTP configured as
> static when IPV6 is configured as module.

I see now - thanks.

	Sam

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH] networking: restructuring of net/ kconfig
  2005-04-05 18:46                   ` Randy.Dunlap
@ 2005-04-05 21:11                     ` Sam Ravnborg
  0 siblings, 0 replies; 18+ messages in thread
From: Sam Ravnborg @ 2005-04-05 21:11 UTC (permalink / raw)
  To: Randy.Dunlap, davem
  Cc: ioe-lkml, matthew, lkml, netdev, hadi, cfriesen, tgraf

Hi Rany et all.

I have committed the following patch and it will be present in next -mm.

It is present (as the only additional cset) in
bk://linux-sam.bkbits.net/kconfig

davem - any suggestion for next step.
Preferably this goes to Linus via you - or?

	Sam

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2005/04/05 22:59:54+02:00 sam@mars.ravnborg.org 
#   networking: restructure kconfig for net/
#   
#   Based on patch and several rounds of comments from:
#   "Randy.Dunlap" <rddunlap@osdl.org>
#   
#   Restructure Networking menu structure creating a separate menu
#   just before Device Drivers.
#   Device drivers for ordinary NIC's are still to be found
#   in the Device Drivers section, but Bluetooth, IrDA and ax25
#   are located with their corresponding menu entries.
#   
#   The patch does the following:
#   o Create a new "Networking" menu just before "Device Drivers"
#   o push all config bits to relevant Kconfig files in net/ hirachy
#   o create new Kconfig files for some subsystem to further push config
#     bits out of net/Kconfig
#   o Make more consistent use of menu's avoiding the menuconfig statement
#   o Fix all menu indention for net/
#   
#   No intentional functional changes introduced.
#   
#   Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
# 
# net/x25/Kconfig
#   2005/04/05 22:59:31+02:00 sam@mars.ravnborg.org +35 -0
# 
# net/x25/Kconfig
#   2005/04/05 22:59:31+02:00 sam@mars.ravnborg.org +0 -0
#   BitKeeper file /home/sam/bk/v2.6/net/x25/Kconfig
# 
# net/wanrouter/Kconfig
#   2005/04/05 22:59:30+02:00 sam@mars.ravnborg.org +31 -0
# 
# net/wanrouter/Kconfig
#   2005/04/05 22:59:30+02:00 sam@mars.ravnborg.org +0 -0
#   BitKeeper file /home/sam/bk/v2.6/net/wanrouter/Kconfig
# 
# net/unix/Kconfig
#   2005/04/05 22:59:28+02:00 sam@mars.ravnborg.org +22 -0
# 
# net/unix/Kconfig
#   2005/04/05 22:59:28+02:00 sam@mars.ravnborg.org +0 -0
#   BitKeeper file /home/sam/bk/v2.6/net/unix/Kconfig
# 
# net/packet/Kconfig
#   2005/04/05 22:59:26+02:00 sam@mars.ravnborg.org +26 -0
# 
# net/packet/Kconfig
#   2005/04/05 22:59:26+02:00 sam@mars.ravnborg.org +0 -0
#   BitKeeper file /home/sam/bk/v2.6/net/packet/Kconfig
# 
# net/lapb/Kconfig
#   2005/04/05 22:59:24+02:00 sam@mars.ravnborg.org +24 -0
# 
# net/lapb/Kconfig
#   2005/04/05 22:59:24+02:00 sam@mars.ravnborg.org +0 -0
#   BitKeeper file /home/sam/bk/v2.6/net/lapb/Kconfig
# 
# net/econet/Kconfig
#   2005/04/05 22:59:22+02:00 sam@mars.ravnborg.org +34 -0
# 
# net/econet/Kconfig
#   2005/04/05 22:59:22+02:00 sam@mars.ravnborg.org +0 -0
#   BitKeeper file /home/sam/bk/v2.6/net/econet/Kconfig
# 
# net/core/Kconfig
#   2005/04/05 22:59:21+02:00 sam@mars.ravnborg.org +67 -0
# 
# net/core/Kconfig
#   2005/04/05 22:59:21+02:00 sam@mars.ravnborg.org +0 -0
#   BitKeeper file /home/sam/bk/v2.6/net/core/Kconfig
# 
# net/bridge/Kconfig
#   2005/04/05 22:59:19+02:00 sam@mars.ravnborg.org +32 -0
# 
# net/bridge/Kconfig
#   2005/04/05 22:59:19+02:00 sam@mars.ravnborg.org +0 -0
#   BitKeeper file /home/sam/bk/v2.6/net/bridge/Kconfig
# 
# net/atm/Kconfig
#   2005/04/05 22:59:17+02:00 sam@mars.ravnborg.org +79 -0
# 
# net/atm/Kconfig
#   2005/04/05 22:59:17+02:00 sam@mars.ravnborg.org +0 -0
#   BitKeeper file /home/sam/bk/v2.6/net/atm/Kconfig
# 
# net/appletalk/Kconfig
#   2005/04/05 22:59:16+02:00 sam@mars.ravnborg.org +33 -0
# 
# net/appletalk/Kconfig
#   2005/04/05 22:59:16+02:00 sam@mars.ravnborg.org +0 -0
#   BitKeeper file /home/sam/bk/v2.6/net/appletalk/Kconfig
# 
# net/8021q/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +21 -0
# 
# net/xfrm/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +14 -0
#   Move top-level config options from net/Kconfig
# 
# net/sctp/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +6 -3
#   Skip menu - no longer relevant
#   Added config option to fix indention in menuconfig
# 
# net/sched/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +40 -0
#   Move top-level config option from net/Kconfig
#   Wrap it in a menu
# 
# net/irda/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +4 -1
#   Use a real menu for IrDA"
# 
# net/ipx/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +33 -0
#   Move top-level config option from net/Kconfig
# 
# net/ipv6/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +20 -0
#   Move top-level config option from net/Kconfig
# 
# net/ipv4/netfilter/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +0 -5
#   Skip menu - no longer relevant
# 
# net/decnet/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +24 -0
#   Include high level config option from net/Kconfig
# 
# net/bridge/netfilter/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +1 -0
#   BRIDGE depends on INET
# 
# net/bluetooth/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +5 -1
#   Use a real menu for "Bluetooth"
# 
# net/ax25/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +4 -1
#   Use a real menu for "Amateur Radio Support"
# 
# net/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +34 -507
#   Push out all config bits to relevant Kconfig files.
#   Use if XXX / endif to make all depencies correct.
#   source a lot of new Kconfig files
# 
# net/8021q/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +0 -0
#   BitKeeper file /home/sam/bk/v2.6/net/8021q/Kconfig
# 
# drivers/net/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +4 -1
#   Add all net drivers in a new menu "Network device support"
# 
# drivers/Kconfig
#   2005/04/05 22:59:14+02:00 sam@mars.ravnborg.org +3 -1
#   Move "Networking" menu up before "Device Drivers"
#   Explicit include net drivers
# 
diff -Nru a/drivers/Kconfig b/drivers/Kconfig
--- a/drivers/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/drivers/Kconfig	2005-04-05 23:02:06 +02:00
@@ -1,5 +1,7 @@
 # drivers/Kconfig
 
+source "net/Kconfig"
+
 menu "Device Drivers"
 
 source "drivers/base/Kconfig"
@@ -28,7 +30,7 @@
 
 source "drivers/macintosh/Kconfig"
 
-source "net/Kconfig"
+source "drivers/net/Kconfig"
 
 source "drivers/isdn/Kconfig"
 
diff -Nru a/drivers/net/Kconfig b/drivers/net/Kconfig
--- a/drivers/net/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/drivers/net/Kconfig	2005-04-05 23:02:06 +02:00
@@ -1,8 +1,9 @@
-
 #
 # Network device configuration
 #
 
+menu "Network device support"
+
 config NETDEVICES
 	depends on NET
 	bool "Network device support"
@@ -2535,4 +2536,6 @@
 	---help---
 	If you want to log kernel messages over the network, enable this.
 	See <file:Documentation/networking/netconsole.txt> for details.
+
+endmenu
 
diff -Nru a/net/8021q/Kconfig b/net/8021q/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/8021q/Kconfig	2005-04-05 23:02:06 +02:00
@@ -0,0 +1,21 @@
+#
+# Configuration for 802.1Q VLAN support
+#
+
+config VLAN_8021Q
+	tristate "802.1Q VLAN Support"
+	---help---
+	  Select this and you will be able to create 802.1Q VLAN interfaces
+	  on your ethernet interfaces.  802.1Q VLAN supports almost
+	  everything a regular ethernet interface does, including
+	  firewalling, bridging, and of course IP traffic.  You will need
+	  the 'vconfig' tool from the VLAN project in order to effectively
+	  use VLANs.  See the VLAN web page for more information:
+	  <http://www.candelatech.com/~greear/vlan.html>
+
+	  To compile this code as a module, choose M here: the module
+	  will be called 8021q.
+
+	  If unsure, say N.
+
+
diff -Nru a/net/Kconfig b/net/Kconfig
--- a/net/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/Kconfig	2005-04-05 23:02:06 +02:00
@@ -2,7 +2,7 @@
 # Network configuration
 #
 
-menu "Networking support"
+menu "Networking"
 
 config NET
 	bool "Networking support"
@@ -10,7 +10,9 @@
 	  Unless you really know what you are doing, you should say Y here.
 	  The reason is that some programs need kernel networking support even
 	  when running on a stand-alone machine that isn't connected to any
-	  other computer. If you are upgrading from an older kernel, you
+	  other computer.
+
+	  If you are upgrading from an older kernel, you
 	  should consider updating your networking tools too because changes
 	  in the kernel and the tools often go hand in hand. The tools are
 	  contained in the package net-tools, the location and version number
@@ -20,57 +22,9 @@
 	  recommended to read the NET-HOWTO, available from
 	  <http://www.tldp.org/docs.html#howto>.
 
-menu "Networking options"
-	depends on NET
-
-config PACKET
-	tristate "Packet socket"
-	---help---
-	  The Packet protocol is used by applications which communicate
-	  directly with network devices without an intermediate network
-	  protocol implemented in the kernel, e.g. tcpdump.  If you want them
-	  to work, choose Y.
-
-	  To compile this driver as a module, choose M here: the module will
-	  be called af_packet.
-
-	  If unsure, say Y.
-
-config PACKET_MMAP
-	bool "Packet socket: mmapped IO"
-	depends on PACKET
-	help
-	  If you say Y here, the Packet protocol driver will use an IO
-	  mechanism that results in faster communication.
-
-	  If unsure, say N.
-
-config UNIX
-	tristate "Unix domain sockets"
-	---help---
-	  If you say Y here, you will include support for Unix domain sockets;
-	  sockets are the standard Unix mechanism for establishing and
-	  accessing network connections.  Many commonly used programs such as
-	  the X Window system and syslog use these sockets even if your
-	  machine is not connected to any network.  Unless you are working on
-	  an embedded system or something similar, you therefore definitely
-	  want to say Y here.
-
-	  To compile this driver as a module, choose M here: the module will be
-	  called unix.  Note that several important services won't work
-	  correctly if you say M here and then neglect to load the module.
-
-	  Say Y unless you know what you are doing.
-
-config NET_KEY
-	tristate "PF_KEY sockets"
-	select XFRM
-	---help---
-	  PF_KEYv2 socket family, compatible to KAME ones.
-	  They are required if you are going to use IPsec tools ported
-	  from KAME.
+if NET
 
-	  Say Y unless you know what you are doing.
+menu "Networking protocols"
 
 config INET
 	bool "TCP/IP networking"
@@ -94,31 +48,26 @@
 
 	  Short answer: say Y.
 
+if INET
 source "net/ipv4/Kconfig"
+source "net/ipv6/Kconfig"
+source "net/sctp/Kconfig"
+endif
 
-#   IPv6 as module will cause a CRASH if you try to unload it
-config IPV6
-	tristate "The IPv6 protocol"
-	depends on INET
-	default m
-	select CRYPTO if IPV6_PRIVACY
-	select CRYPTO_MD5 if IPV6_PRIVACY
-	---help---
-	  This is complemental support for the IP version 6.
-	  You will still be able to do traditional IPv4 networking as well.
-
-	  For general information about IPv6, see
-	  <http://playground.sun.com/pub/ipng/html/ipng-main.html>.
-	  For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
-	  For specific information about IPv6 under Linux, read the HOWTO at
-	  <http://www.bieringer.de/linux/IPv6/>.
+source "net/decnet/Kconfig"
+source "net/llc/Kconfig"
+source "net/ipx/Kconfig"
+source "net/appletalk/Kconfig"
+source "net/x25/Kconfig"
+source "net/lapb/Kconfig"
+source "net/econet/Kconfig"
 
-	  To compile this protocol support as a module, choose M here: the 
-	  module will be called ipv6.
+endmenu
+# end options and protocols
 
-source "net/ipv6/Kconfig"
+menu "Network packet filtering"
 
-menuconfig NETFILTER
+config NETFILTER
 	bool "Network packet filtering (replaces ipchains)"
 	---help---
 	  Netfilter is a framework for filtering and mangling network packets
@@ -181,14 +130,13 @@
 
 config NETFILTER_DEBUG
 	bool "Network packet filtering debugging"
-	depends on NETFILTER
 	help
 	  You can say Y here if you want to get additional messages useful in
 	  debugging the netfilter code.
 
 config BRIDGE_NETFILTER
 	bool "Bridged IP/ARP packets filtering"
-	depends on BRIDGE && NETFILTER && INET
+	depends on BRIDGE && INET
 	default y
 	---help---
 	  Enabling this option will let arptables resp. iptables see bridged
@@ -204,443 +152,22 @@
 source "net/decnet/netfilter/Kconfig"
 source "net/bridge/netfilter/Kconfig"
 
-endif
-
-config XFRM
-       bool
-       depends on NET
-
-source "net/xfrm/Kconfig"
-
-source "net/sctp/Kconfig"
-
-config ATM
-	tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  ATM is a high-speed networking technology for Local Area Networks
-	  and Wide Area Networks.  It uses a fixed packet size and is
-	  connection oriented, allowing for the negotiation of minimum
-	  bandwidth requirements.
-
-	  In order to participate in an ATM network, your Linux box needs an
-	  ATM networking card. If you have that, say Y here and to the driver
-	  of your ATM card below.
-
-	  Note that you need a set of user-space programs to actually make use
-	  of ATM.  See the file <file:Documentation/networking/atm.txt> for
-	  further details.
-
-config ATM_CLIP
-	tristate "Classical IP over ATM (EXPERIMENTAL)"
-	depends on ATM && INET
-	help
-	  Classical IP over ATM for PVCs and SVCs, supporting InARP and
-	  ATMARP. If you want to communication with other IP hosts on your ATM
-	  network, you will typically either say Y here or to "LAN Emulation
-	  (LANE)" below.
-
-config ATM_CLIP_NO_ICMP
-	bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
-	depends on ATM_CLIP
-	help
-	  Normally, an "ICMP host unreachable" message is sent if a neighbour
-	  cannot be reached because there is no VC to it in the kernel's
-	  ATMARP table. This may cause problems when ATMARP table entries are
-	  briefly removed during revalidation. If you say Y here, packets to
-	  such neighbours are silently discarded instead.
-
-config ATM_LANE
-	tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
-	depends on ATM
-	help
-	  LAN Emulation emulates services of existing LANs across an ATM
-	  network. Besides operating as a normal ATM end station client, Linux
-	  LANE client can also act as an proxy client bridging packets between
-	  ELAN and Ethernet segments. You need LANE if you want to try MPOA.
-
-config ATM_MPOA
-	tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
-	depends on ATM && INET && ATM_LANE!=n
-	help
-	  Multi-Protocol Over ATM allows ATM edge devices such as routers,
-	  bridges and ATM attached hosts establish direct ATM VCs across
-	  subnetwork boundaries. These shortcut connections bypass routers
-	  enhancing overall network performance.
-
-config ATM_BR2684
-	tristate "RFC1483/2684 Bridged protocols"
-	depends on ATM && INET
-	help
-	  ATM PVCs can carry ethernet PDUs according to rfc2684 (formerly 1483)
-	  This device will act like an ethernet from the kernels point of view,
-	  with the traffic being carried by ATM PVCs (currently 1 PVC/device).
-	  This is sometimes used over DSL lines.  If in doubt, say N.
-
-config ATM_BR2684_IPFILTER
-	bool "Per-VC IP filter kludge"
-	depends on ATM_BR2684
-	help
-	  This is an experimental mechanism for users who need to terminating a
-	  large number of IP-only vcc's.  Do not enable this unless you are sure
-	  you know what you are doing.
-
-config BRIDGE
-	tristate "802.1d Ethernet Bridging"
-	---help---
-	  If you say Y here, then your Linux box will be able to act as an
-	  Ethernet bridge, which means that the different Ethernet segments it
-	  is connected to will appear as one Ethernet to the participants.
-	  Several such bridges can work together to create even larger
-	  networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
-	  As this is a standard, Linux bridges will cooperate properly with
-	  other third party bridge products.
-
-	  In order to use the Ethernet bridge, you'll need the bridge
-	  configuration tools; see <file:Documentation/networking/bridge.txt>
-	  for location. Please read the Bridge mini-HOWTO for more
-	  information.
-
-	  If you enable iptables support along with the bridge support then you
-	  turn your bridge into a bridging IP firewall.
-	  iptables will then see the IP packets being bridged, so you need to
-	  take this into account when setting up your firewall rules.
-	  Enabling arptables support when bridging will let arptables see
-	  bridged ARP traffic in the arptables FORWARD chain.
-
-	  To compile this code as a module, choose M here: the module
-	  will be called bridge.
-
-	  If unsure, say N.
-
-config VLAN_8021Q
-	tristate "802.1Q VLAN Support"
-	---help---
-	  Select this and you will be able to create 802.1Q VLAN interfaces
-	  on your ethernet interfaces.  802.1Q VLAN supports almost
-	  everything a regular ethernet interface does, including
-	  firewalling, bridging, and of course IP traffic.  You will need
-	  the 'vconfig' tool from the VLAN project in order to effectively
-	  use VLANs.  See the VLAN web page for more information:
-	  <http://www.candelatech.com/~greear/vlan.html>
-
-	  To compile this code as a module, choose M here: the module
-	  will be called 8021q.
-
-	  If unsure, say N.
-
-config DECNET
-	tristate "DECnet Support"
-	---help---
-	  The DECnet networking protocol was used in many products made by
-	  Digital (now Compaq).  It provides reliable stream and sequenced
-	  packet communications over which run a variety of services similar
-	  to those which run over TCP/IP.
-
-	  To find some tools to use with the kernel layer support, please
-	  look at Patrick Caulfield's web site:
-	  <http://linux-decnet.sourceforge.net/>.
-
-	  More detailed documentation is available in
-	  <file:Documentation/networking/decnet.txt>.
-
-	  Be sure to say Y to "/proc file system support" and "Sysctl support"
-	  below when using DECnet, since you will need sysctl support to aid
-	  in configuration at run time.
-
-	  The DECnet code is also available as a module ( = code which can be
-	  inserted in and removed from the running kernel whenever you want).
-	  The module is called decnet.
-
-source "net/decnet/Kconfig"
-
-source "net/llc/Kconfig"
-
-config IPX
-	tristate "The IPX protocol"
-	select LLC
-	---help---
-	  This is support for the Novell networking protocol, IPX, commonly
-	  used for local networks of Windows machines.  You need it if you
-	  want to access Novell NetWare file or print servers using the Linux
-	  Novell client ncpfs (available from
-	  <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
-	  within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
-	  available from <http://www.tldp.org/docs.html#howto>).  In order
-	  to do the former, you'll also have to say Y to "NCP file system
-	  support", below.
-
-	  IPX is similar in scope to IP, while SPX, which runs on top of IPX,
-	  is similar to TCP. There is also experimental support for SPX in
-	  Linux (see "SPX networking", below).
-
-	  To turn your Linux box into a fully featured NetWare file server and
-	  IPX router, say Y here and fetch either lwared from
-	  <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
-	  mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
-	  information, read the IPX-HOWTO available from
-	  <http://www.tldp.org/docs.html#howto>.
-
-	  General information about how to connect Linux, Windows machines and
-	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
-
-	  The IPX driver would enlarge your kernel by about 16 KB. To compile
-	  this driver as a module, choose M here: the module will be called ipx.
-	  Unless you want to integrate your Linux box with a local Novell
-	  network, say N.
-
-source "net/ipx/Kconfig"
-
-config ATALK
-	tristate "Appletalk protocol support"
-	select LLC
-	---help---
-	  AppleTalk is the protocol that Apple computers can use to communicate
-	  on a network.  If your Linux box is connected to such a network and you
-	  wish to connect to it, say Y.  You will need to use the netatalk package
-	  so that your Linux box can act as a print and file server for Macs as
-	  well as access AppleTalk printers.  Check out
-	  <http://www.zettabyte.net/netatalk/> on the WWW for details.
-	  EtherTalk is the name used for AppleTalk over Ethernet and the
-	  cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
-	  network using serial links.  EtherTalk and LocalTalk are fully
-	  supported by Linux.
-
-	  General information about how to connect Linux, Windows machines and
-	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.  The
-	  NET-3-HOWTO, available from
-	  <http://www.tldp.org/docs.html#howto>, contains valuable
-	  information as well.
-
-	  To compile this driver as a module, choose M here: the module will be
-	  called appletalk. You almost certainly want to compile it as a
-	  module so you can restart your AppleTalk stack without rebooting
-	  your machine. I hear that the GNU boycott of Apple is over, so
-	  even politically correct people are allowed to say Y here.
-
-source "drivers/net/appletalk/Kconfig"
-
-config X25
-	tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  X.25 is a set of standardized network protocols, similar in scope to
-	  frame relay; the one physical line from your box to the X.25 network
-	  entry point can carry several logical point-to-point connections
-	  (called "virtual circuits") to other computers connected to the X.25
-	  network. Governments, banks, and other organizations tend to use it
-	  to connect to each other or to form Wide Area Networks (WANs). Many
-	  countries have public X.25 networks. X.25 consists of two
-	  protocols: the higher level Packet Layer Protocol (PLP) (say Y here
-	  if you want that) and the lower level data link layer protocol LAPB
-	  (say Y to "LAPB Data Link Driver" below if you want that).
-
-	  You can read more about X.25 at <http://www.sangoma.com/x25.htm> and
-	  <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>.
-	  Information about X.25 for Linux is contained in the files
-	  <file:Documentation/networking/x25.txt> and
-	  <file:Documentation/networking/x25-iface.txt>.
-
-	  One connects to an X.25 network either with a dedicated network card
-	  using the X.21 protocol (not yet supported by Linux) or one can do
-	  X.25 over a standard telephone line using an ordinary modem (say Y
-	  to "X.25 async driver" below) or over Ethernet using an ordinary
-	  Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link
-	  Driver" and "LAPB over Ethernet driver" below).
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called x25. If unsure, say N.
-
-config LAPB
-	tristate "LAPB Data Link Driver (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
-	  the lower) part of the X.25 protocol. It offers a reliable
-	  connection service to exchange data frames with one other host, and
-	  it is used to transport higher level protocols (mostly X.25 Packet
-	  Layer, the higher part of X.25, but others are possible as well).
-	  Usually, LAPB is used with specialized X.21 network cards, but Linux
-	  currently supports LAPB only over Ethernet connections. If you want
-	  to use LAPB connections over Ethernet, say Y here and to "LAPB over
-	  Ethernet driver" below. Read
-	  <file:Documentation/networking/lapb-module.txt> for technical
-	  details.
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called lapb.  If unsure, say N.
-
-config NET_DIVERT
-	bool "Frame Diverter (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
-	---help---
-	  The Frame Diverter allows you to divert packets from the
-	  network, that are not aimed at the interface receiving it (in
-	  promisc. mode). Typically, a Linux box setup as an Ethernet bridge
-	  with the Frames Diverter on, can do some *really* transparent www
-	  caching using a Squid proxy for example.
-
-	  This is very useful when you don't want to change your router's
-	  config (or if you simply don't have access to it).
-
-	  The other possible usages of diverting Ethernet Frames are
-	  numberous:
-	  - reroute smtp traffic to another interface
-	  - traffic-shape certain network streams
-	  - transparently proxy smtp connections
-	  - etc...
-
-	  For more informations, please refer to:
-	  <http://diverter.sourceforge.net/>
-	  <http://perso.wanadoo.fr/magpie/EtherDivert.html>
-
-	  If unsure, say N.
-
-config ECONET
-	tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
-	depends on EXPERIMENTAL && INET
-	---help---
-	  Econet is a fairly old and slow networking protocol mainly used by
-	  Acorn computers to access file and print servers. It uses native
-	  Econet network cards. AUN is an implementation of the higher level
-	  parts of Econet that runs over ordinary Ethernet connections, on
-	  top of the UDP packet protocol, which in turn runs on top of the
-	  Internet protocol IP.
-
-	  If you say Y here, you can choose with the next two options whether
-	  to send Econet/AUN traffic over a UDP Ethernet connection or over
-	  a native Econet network card.
-
-	  To compile this driver as a module, choose M here: the module
-	  will be called econet.
-
-config ECONET_AUNUDP
-	bool "AUN over UDP"
-	depends on ECONET
-	help
-	  Say Y here if you want to send Econet/AUN traffic over a UDP
-	  connection (UDP is a packet based protocol that runs on top of the
-	  Internet protocol IP) using an ordinary Ethernet network card.
-
-config ECONET_NATIVE
-	bool "Native Econet"
-	depends on ECONET
-	help
-	  Say Y here if you have a native Econet network card installed in
-	  your computer.
-
-config WAN_ROUTER
-	tristate "WAN router"
-	depends on EXPERIMENTAL
-	---help---
-	  Wide Area Networks (WANs), such as X.25, frame relay and leased
-	  lines, are used to interconnect Local Area Networks (LANs) over vast
-	  distances with data transfer rates significantly higher than those
-	  achievable with commonly used asynchronous modem connections.
-	  Usually, a quite expensive external device called a `WAN router' is
-	  needed to connect to a WAN.
-
-	  As an alternative, WAN routing can be built into the Linux kernel.
-	  With relatively inexpensive WAN interface cards available on the
-	  market, a perfectly usable router can be built for less than half
-	  the price of an external router.  If you have one of those cards and
-	  wish to use your Linux box as a WAN router, say Y here and also to
-	  the WAN driver for your card, below.  You will then need the
-	  wan-tools package which is available from <ftp://ftp.sangoma.com/>.
-	  Read <file:Documentation/networking/wan-router.txt> for more
-	  information.
-
-	  To compile WAN routing support as a module, choose M here: the
-	  module will be called wanrouter.
-
-	  If unsure, say N.
-
-menu "QoS and/or fair queueing"
-
-config NET_SCHED
-	bool "QoS and/or fair queueing"
-	---help---
-	  When the kernel has several packets to send out over a network
-	  device, it has to decide which ones to send first, which ones to
-	  delay, and which ones to drop. This is the job of the packet
-	  scheduler, and several different algorithms for how to do this
-	  "fairly" have been proposed.
-
-	  If you say N here, you will get the standard packet scheduler, which
-	  is a FIFO (first come, first served). If you say Y here, you will be
-	  able to choose from among several alternative algorithms which can
-	  then be attached to different network devices. This is useful for
-	  example if some of your network devices are real time devices that
-	  need a certain minimum data flow rate, or if you need to limit the
-	  maximum data flow rate for traffic which matches specified criteria.
-	  This code is considered to be experimental.
-
-	  To administer these schedulers, you'll need the user-level utilities
-	  from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
-	  That package also contains some documentation; for more, check out
-	  <http://snafu.freedom.org/linux2.2/iproute-notes.html>.
-
-	  This Quality of Service (QoS) support will enable you to use
-	  Differentiated Services (diffserv) and Resource Reservation Protocol
-	  (RSVP) on your Linux router if you also say Y to "QoS support",
-	  "Packet classifier API" and to some classifiers below. Documentation
-	  and software is at <http://diffserv.sourceforge.net/>.
-
-	  If you say Y here and to "/proc file system" below, you will be able
-	  to read status information about packet schedulers from the file
-	  /proc/net/psched.
-
-	  The available schedulers are listed in the following questions; you
-	  can say Y to as many as you like. If unsure, say N now.
+endif # if NETFILTER
+endmenu # "Network packet filtering"
 
 source "net/sched/Kconfig"
-
-endmenu
-
-menu "Network testing"
-
-config NET_PKTGEN
-	tristate "Packet Generator (USE WITH CAUTION)"
-	depends on PROC_FS
-	---help---
-	  This module will inject preconfigured packets, at a configurable
-	  rate, out of a given interface.  It is used for network interface
-	  stress testing and performance analysis.  If you don't understand
-	  what was just said, you don't need it: say N.
-
-	  Documentation on how to use the packet generator can be found
-	  at <file:Documentation/networking/pktgen.txt>.
-
-	  To compile this code as a module, choose M here: the
-	  module will be called pktgen.
-
-endmenu
-
-endmenu
-
-config NETPOLL
-	def_bool NETCONSOLE
-
-config NETPOLL_RX
-	bool "Netpoll support for trapping incoming packets"
-	default n
-	depends on NETPOLL
-
-config NETPOLL_TRAP
-	bool "Netpoll traffic trapping"
-	default n
-	depends on NETPOLL
-
-config NET_POLL_CONTROLLER
-	def_bool NETPOLL
-
+source "net/xfrm/Kconfig"
+source "net/packet/Kconfig"
+source "net/unix/Kconfig"
+source "net/bridge/Kconfig"
+source "net/8021q/Kconfig"
+source "net/wanrouter/Kconfig"
 source "net/ax25/Kconfig"
-
 source "net/irda/Kconfig"
-
 source "net/bluetooth/Kconfig"
+source "net/atm/Kconfig"
+source "net/core/Kconfig"
 
-source "drivers/net/Kconfig"
-
-endmenu
+endif # if NET
+endmenu # "Networking"
 
diff -Nru a/net/appletalk/Kconfig b/net/appletalk/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/appletalk/Kconfig	2005-04-05 23:02:06 +02:00
@@ -0,0 +1,33 @@
+#
+# Appletalk configuration
+#
+
+config ATALK
+	tristate "Appletalk protocol support"
+	depends on NET
+	select LLC
+	---help---
+	  AppleTalk is the protocol that Apple computers can use to communicate
+	  on a network.  If your Linux box is connected to such a network and you
+	  wish to connect to it, say Y.  You will need to use the netatalk package
+	  so that your Linux box can act as a print and file server for Macs as
+	  well as access AppleTalk printers.  Check out
+	  <http://www.zettabyte.net/netatalk/> on the WWW for details.
+	  EtherTalk is the name used for AppleTalk over Ethernet and the
+	  cheaper and slower LocalTalk is AppleTalk over a proprietary Apple
+	  network using serial links.  EtherTalk and LocalTalk are fully
+	  supported by Linux.
+
+	  General information about how to connect Linux, Windows machines and
+	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.  The
+	  NET-3-HOWTO, available from
+	  <http://www.tldp.org/docs.html#howto>, contains valuable
+	  information as well.
+
+	  To compile this driver as a module, choose M here: the module will be
+	  called appletalk. You almost certainly want to compile it as a
+	  module so you can restart your AppleTalk stack without rebooting
+	  your machine. I hear that the GNU boycott of Apple is over, so
+	  even politically correct people are allowed to say Y here.
+
+source "drivers/net/appletalk/Kconfig"
diff -Nru a/net/atm/Kconfig b/net/atm/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/atm/Kconfig	2005-04-05 23:02:06 +02:00
@@ -0,0 +1,79 @@
+#
+# ATM Configarition
+#
+
+menu "Asynchronous Transfer Mode (ATM)"
+
+config ATM
+	tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	---help---
+	  ATM is a high-speed networking technology for Local Area Networks
+	  and Wide Area Networks.  It uses a fixed packet size and is
+	  connection oriented, allowing for the negotiation of minimum
+	  bandwidth requirements.
+
+	  In order to participate in an ATM network, your Linux box needs an
+	  ATM networking card. If you have that, say Y here and to the driver
+	  of your ATM card below.
+
+	  Note that you need a set of user-space programs to actually make use
+	  of ATM.  See the file <file:Documentation/networking/atm.txt> for
+	  further details.
+
+config ATM_CLIP
+	tristate "Classical IP over ATM (EXPERIMENTAL)"
+	depends on ATM && INET
+	help
+	  Classical IP over ATM for PVCs and SVCs, supporting InARP and
+	  ATMARP. If you want to communication with other IP hosts on your ATM
+	  network, you will typically either say Y here or to "LAN Emulation
+	  (LANE)" below.
+
+config ATM_CLIP_NO_ICMP
+	bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)"
+	depends on ATM_CLIP
+	help
+	  Normally, an "ICMP host unreachable" message is sent if a neighbour
+	  cannot be reached because there is no VC to it in the kernel's
+	  ATMARP table. This may cause problems when ATMARP table entries are
+	  briefly removed during revalidation. If you say Y here, packets to
+	  such neighbours are silently discarded instead.
+
+config ATM_LANE
+	tristate "LAN Emulation (LANE) support (EXPERIMENTAL)"
+	depends on ATM
+	help
+	  LAN Emulation emulates services of existing LANs across an ATM
+	  network. Besides operating as a normal ATM end station client, Linux
+	  LANE client can also act as an proxy client bridging packets between
+	  ELAN and Ethernet segments. You need LANE if you want to try MPOA.
+
+config ATM_MPOA
+	tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)"
+	depends on ATM && INET && ATM_LANE!=n
+	help
+	  Multi-Protocol Over ATM allows ATM edge devices such as routers,
+	  bridges and ATM attached hosts establish direct ATM VCs across
+	  subnetwork boundaries. These shortcut connections bypass routers
+	  enhancing overall network performance.
+
+config ATM_BR2684
+	tristate "RFC1483/2684 Bridged protocols"
+	depends on ATM && INET
+	help
+	  ATM PVCs can carry ethernet PDUs according to rfc2684 (formerly 1483)
+	  This device will act like an ethernet from the kernels point of view,
+	  with the traffic being carried by ATM PVCs (currently 1 PVC/device).
+	  This is sometimes used over DSL lines.  If in doubt, say N.
+
+config ATM_BR2684_IPFILTER
+	bool "Per-VC IP filter kludge"
+	depends on ATM_BR2684
+	help
+	  This is an experimental mechanism for users who need to terminating a
+	  large number of IP-only vcc's.  Do not enable this unless you are sure
+	  you know what you are doing.
+
+endmenu # "Asynchronous Transfer Mode (ATM)"
+
diff -Nru a/net/ax25/Kconfig b/net/ax25/Kconfig
--- a/net/ax25/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/ax25/Kconfig	2005-04-05 23:02:06 +02:00
@@ -6,7 +6,9 @@
 #		Joerg Reuter DL1BKE <jreuter@yaina.de>
 # 19980129	Moved to net/ax25/Config.in, sourcing device drivers.
 
-menuconfig HAMRADIO
+menu "Amateur Radio support"
+
+config HAMRADIO
 	depends on NET
 	bool "Amateur Radio support"
 	help
@@ -107,4 +109,5 @@
 source "drivers/net/hamradio/Kconfig"
 
 endmenu
+endmenu # "Amateur Radio support"
 
diff -Nru a/net/bluetooth/Kconfig b/net/bluetooth/Kconfig
--- a/net/bluetooth/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/bluetooth/Kconfig	2005-04-05 23:02:06 +02:00
@@ -2,7 +2,9 @@
 # Bluetooth subsystem configuration
 #
 
-menuconfig BT
+menu "Bluetooth subsystem support"
+
+config BT
 	depends on NET
 	tristate "Bluetooth subsystem support"
 	help
@@ -60,4 +62,6 @@
 source "net/bluetooth/hidp/Kconfig"
 
 source "drivers/bluetooth/Kconfig"
+
+endmenu # "Bluetooth subsystem support"
 
diff -Nru a/net/bridge/Kconfig b/net/bridge/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/bridge/Kconfig	2005-04-05 23:02:06 +02:00
@@ -0,0 +1,32 @@
+#
+# Configuration for Ethernet bridging
+#
+
+config BRIDGE
+	tristate "802.1d Ethernet Bridging"
+	---help---
+	  If you say Y here, then your Linux box will be able to act as an
+	  Ethernet bridge, which means that the different Ethernet segments it
+	  is connected to will appear as one Ethernet to the participants.
+	  Several such bridges can work together to create even larger
+	  networks of Ethernets using the IEEE 802.1 spanning tree algorithm.
+	  As this is a standard, Linux bridges will cooperate properly with
+	  other third party bridge products.
+
+	  In order to use the Ethernet bridge, you'll need the bridge
+	  configuration tools; see <file:Documentation/networking/bridge.txt>
+	  for location. Please read the Bridge mini-HOWTO for more
+	  information.
+
+	  If you enable iptables support along with the bridge support then you
+	  turn your bridge into a bridging IP firewall.
+	  iptables will then see the IP packets being bridged, so you need to
+	  take this into account when setting up your firewall rules.
+	  Enabling arptables support when bridging will let arptables see
+	  bridged ARP traffic in the arptables FORWARD chain.
+
+	  To compile this code as a module, choose M here: the module
+	  will be called bridge.
+
+	  If unsure, say N.
+
diff -Nru a/net/bridge/netfilter/Kconfig b/net/bridge/netfilter/Kconfig
--- a/net/bridge/netfilter/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/bridge/netfilter/Kconfig	2005-04-05 23:02:06 +02:00
@@ -139,6 +139,7 @@
 config BRIDGE_EBT_ARPREPLY
 	tristate "ebt: arp reply target support"
 	depends on BRIDGE_NF_EBTABLES
+	depends on INET
 	help
 	  This option adds the arp reply target, which allows
 	  automatically sending arp replies to arp requests.
diff -Nru a/net/core/Kconfig b/net/core/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/core/Kconfig	2005-04-05 23:02:06 +02:00
@@ -0,0 +1,67 @@
+#
+# Core configuration
+#
+
+menu "Network testing"
+
+config NET_DIVERT
+	bool "Frame Diverter (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	---help---
+	  The Frame Diverter allows you to divert packets from the
+	  network, that are not aimed at the interface receiving it (in
+	  promisc. mode). Typically, a Linux box setup as an Ethernet bridge
+	  with the Frames Diverter on, can do some *really* transparent www
+	  caching using a Squid proxy for example.
+
+	  This is very useful when you don't want to change your router's
+	  config (or if you simply don't have access to it).
+
+	  The other possible usages of diverting Ethernet Frames are
+	  numberous:
+	  - reroute smtp traffic to another interface
+	  - traffic-shape certain network streams
+	  - transparently proxy smtp connections
+	  - etc...
+
+	  For more informations, please refer to:
+	  <http://diverter.sourceforge.net/>
+	  <http://perso.wanadoo.fr/magpie/EtherDivert.html>
+
+	  If unsure, say N.
+
+config NET_PKTGEN
+	tristate "Packet Generator (USE WITH CAUTION)"
+	depends on PROC_FS
+	depends on INET
+	---help---
+	  This module will inject preconfigured packets, at a configurable
+	  rate, out of a given interface.  It is used for network interface
+	  stress testing and performance analysis.  If you don't understand
+	  what was just said, you don't need it: say N.
+
+	  Documentation on how to use the packet generator can be found
+	  at <file:Documentation/networking/pktgen.txt>.
+
+	  To compile this code as a module, choose M here: the
+	  module will be called pktgen.
+
+endmenu
+
+config NETPOLL
+	def_bool NETCONSOLE
+
+config NETPOLL_RX
+	bool "Netpoll support for trapping incoming packets"
+	default n
+	depends on NETPOLL
+
+config NETPOLL_TRAP
+	bool "Netpoll traffic trapping"
+	default n
+	depends on NETPOLL
+
+config NET_POLL_CONTROLLER
+	def_bool NETPOLL
+
+
diff -Nru a/net/decnet/Kconfig b/net/decnet/Kconfig
--- a/net/decnet/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/decnet/Kconfig	2005-04-05 23:02:06 +02:00
@@ -1,6 +1,30 @@
 #
 # DECnet configuration
 #
+
+config DECNET
+	tristate "DECnet Support"
+	---help---
+	  The DECnet networking protocol was used in many products made by
+	  Digital (now Compaq).  It provides reliable stream and sequenced
+	  packet communications over which run a variety of services similar
+	  to those which run over TCP/IP.
+
+	  To find some tools to use with the kernel layer support, please
+	  look at Patrick Caulfield's web site:
+	  <http://linux-decnet.sourceforge.net/>.
+
+	  More detailed documentation is available in
+	  <file:Documentation/networking/decnet.txt>.
+
+	  Be sure to say Y to "/proc file system support" and "Sysctl support"
+	  below when using DECnet, since you will need sysctl support to aid
+	  in configuration at run time.
+
+	  The DECnet code is also available as a module ( = code which can be
+	  inserted in and removed from the running kernel whenever you want).
+	  The module is called decnet.
+
 config DECNET_ROUTER
 	bool "DECnet: router support (EXPERIMENTAL)"
 	depends on DECNET && EXPERIMENTAL
diff -Nru a/net/econet/Kconfig b/net/econet/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/econet/Kconfig	2005-04-05 23:02:06 +02:00
@@ -0,0 +1,34 @@
+
+config ECONET
+	tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)"
+	depends on EXPERIMENTAL && INET
+	---help---
+	  Econet is a fairly old and slow networking protocol mainly used by
+	  Acorn computers to access file and print servers. It uses native
+	  Econet network cards. AUN is an implementation of the higher level
+	  parts of Econet that runs over ordinary Ethernet connections, on
+	  top of the UDP packet protocol, which in turn runs on top of the
+	  Internet protocol IP.
+
+	  If you say Y here, you can choose with the next two options whether
+	  to send Econet/AUN traffic over a UDP Ethernet connection or over
+	  a native Econet network card.
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called econet.
+
+config ECONET_AUNUDP
+	bool "AUN over UDP"
+	depends on ECONET
+	help
+	  Say Y here if you want to send Econet/AUN traffic over a UDP
+	  connection (UDP is a packet based protocol that runs on top of the
+	  Internet protocol IP) using an ordinary Ethernet network card.
+
+config ECONET_NATIVE
+	bool "Native Econet"
+	depends on ECONET
+	help
+	  Say Y here if you have a native Econet network card installed in
+	  your computer.
+
diff -Nru a/net/ipv4/netfilter/Kconfig b/net/ipv4/netfilter/Kconfig
--- a/net/ipv4/netfilter/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/ipv4/netfilter/Kconfig	2005-04-05 23:02:06 +02:00
@@ -2,9 +2,6 @@
 # IP netfilter configuration
 #
 
-menu "IP: Netfilter Configuration"
-	depends on INET && NETFILTER
-
 # connection tracking, helpers and protocols
 config IP_NF_CONNTRACK
 	tristate "Connection tracking (required for masq/NAT)"
@@ -691,6 +688,4 @@
 	help
 	  Allows altering the ARP packet payload: source and destination
 	  hardware and network addresses.
-
-endmenu
 
diff -Nru a/net/ipv6/Kconfig b/net/ipv6/Kconfig
--- a/net/ipv6/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/ipv6/Kconfig	2005-04-05 23:02:06 +02:00
@@ -1,6 +1,26 @@
 #
 # IPv6 configuration
 # 
+
+#   IPv6 as module will cause a CRASH if you try to unload it
+config IPV6
+	tristate "The IPv6 protocol"
+	default m
+	select CRYPTO if IPV6_PRIVACY
+	select CRYPTO_MD5 if IPV6_PRIVACY
+	---help---
+	  This is complemental support for the IP version 6.
+	  You will still be able to do traditional IPv4 networking as well.
+
+	  For general information about IPv6, see
+	  <http://playground.sun.com/pub/ipng/html/ipng-main.html>.
+	  For Linux IPv6 development information, see <http://www.linux-ipv6.org>.
+	  For specific information about IPv6 under Linux, read the HOWTO at
+	  <http://www.bieringer.de/linux/IPv6/>.
+
+	  To compile this protocol support as a module, choose M here: the 
+	  module will be called ipv6.
+
 config IPV6_PRIVACY
 	bool "IPv6: Privacy Extensions (RFC 3041) support"
 	depends on IPV6
diff -Nru a/net/ipx/Kconfig b/net/ipx/Kconfig
--- a/net/ipx/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/ipx/Kconfig	2005-04-05 23:02:06 +02:00
@@ -1,6 +1,39 @@
 #
 # IPX configuration
 #
+config IPX
+	tristate "The IPX protocol"
+	select LLC
+	---help---
+	  This is support for the Novell networking protocol, IPX, commonly
+	  used for local networks of Windows machines.  You need it if you
+	  want to access Novell NetWare file or print servers using the Linux
+	  Novell client ncpfs (available from
+	  <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
+	  within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
+	  available from <http://www.tldp.org/docs.html#howto>).  In order
+	  to do the former, you'll also have to say Y to "NCP file system
+	  support", below.
+
+	  IPX is similar in scope to IP, while SPX, which runs on top of IPX,
+	  is similar to TCP. There is also experimental support for SPX in
+	  Linux (see "SPX networking", below).
+
+	  To turn your Linux box into a fully featured NetWare file server and
+	  IPX router, say Y here and fetch either lwared from
+	  <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
+	  mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
+	  information, read the IPX-HOWTO available from
+	  <http://www.tldp.org/docs.html#howto>.
+
+	  General information about how to connect Linux, Windows machines and
+	  Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>.
+
+	  The IPX driver would enlarge your kernel by about 16 KB. To compile
+	  this driver as a module, choose M here: the module will be called ipx.
+	  Unless you want to integrate your Linux box with a local Novell
+	  network, say N.
+
 config IPX_INTERN
 	bool "IPX: Full internal IPX network"
 	depends on IPX
diff -Nru a/net/irda/Kconfig b/net/irda/Kconfig
--- a/net/irda/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/irda/Kconfig	2005-04-05 23:02:06 +02:00
@@ -1,8 +1,9 @@
 #
 # IrDA protocol configuration
 #
+menu "IrDA (infrared) subsystem support"
 
-menuconfig IRDA
+config IRDA
 	depends on NET
 	tristate "IrDA (infrared) subsystem support"
 	select CRC_CCITT
@@ -93,4 +94,6 @@
 	  If unsure, say Y (since it makes it easier to find the bugs).
 
 source "drivers/net/irda/Kconfig"
+
+endmenu # "IrDA (infrared) subsystem support"
 
diff -Nru a/net/lapb/Kconfig b/net/lapb/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/lapb/Kconfig	2005-04-05 23:02:06 +02:00
@@ -0,0 +1,24 @@
+#
+# LAPB Configuration
+#
+
+config LAPB
+	tristate "LAPB Data Link Driver (EXPERIMENTAL)"
+	depends on NET && EXPERIMENTAL
+	---help---
+	  Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
+	  the lower) part of the X.25 protocol. It offers a reliable
+	  connection service to exchange data frames with one other host, and
+	  it is used to transport higher level protocols (mostly X.25 Packet
+	  Layer, the higher part of X.25, but others are possible as well).
+	  Usually, LAPB is used with specialized X.21 network cards, but Linux
+	  currently supports LAPB only over Ethernet connections. If you want
+	  to use LAPB connections over Ethernet, say Y here and to "LAPB over
+	  Ethernet driver" below. Read
+	  <file:Documentation/networking/lapb-module.txt> for technical
+	  details.
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called lapb.  If unsure, say N.
+
+
diff -Nru a/net/packet/Kconfig b/net/packet/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/packet/Kconfig	2005-04-05 23:02:06 +02:00
@@ -0,0 +1,26 @@
+#
+# Packet configuration
+#
+
+config PACKET
+	tristate "Packet socket"
+	---help---
+	  The Packet protocol is used by applications which communicate
+	  directly with network devices without an intermediate network
+	  protocol implemented in the kernel, e.g. tcpdump.  If you want them
+	  to work, choose Y.
+
+	  To compile this driver as a module, choose M here: the module will
+	  be called af_packet.
+
+	  If unsure, say Y.
+
+config PACKET_MMAP
+	bool "Packet socket: mmapped IO"
+	depends on PACKET
+	help
+	  If you say Y here, the Packet protocol driver will use an IO
+	  mechanism that results in faster communication.
+
+	  If unsure, say N.
+
diff -Nru a/net/sched/Kconfig b/net/sched/Kconfig
--- a/net/sched/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/sched/Kconfig	2005-04-05 23:02:06 +02:00
@@ -1,6 +1,45 @@
 #
 # Traffic control configuration.
 # 
+
+menu "QoS and/or fair queueing"
+
+config NET_SCHED
+	bool "QoS and/or fair queueing"
+	---help---
+	  When the kernel has several packets to send out over a network
+	  device, it has to decide which ones to send first, which ones to
+	  delay, and which ones to drop. This is the job of the packet
+	  scheduler, and several different algorithms for how to do this
+	  "fairly" have been proposed.
+
+	  If you say N here, you will get the standard packet scheduler, which
+	  is a FIFO (first come, first served). If you say Y here, you will be
+	  able to choose from among several alternative algorithms which can
+	  then be attached to different network devices. This is useful for
+	  example if some of your network devices are real time devices that
+	  need a certain minimum data flow rate, or if you need to limit the
+	  maximum data flow rate for traffic which matches specified criteria.
+	  This code is considered to be experimental.
+
+	  To administer these schedulers, you'll need the user-level utilities
+	  from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>.
+	  That package also contains some documentation; for more, check out
+	  <http://snafu.freedom.org/linux2.2/iproute-notes.html>.
+
+	  This Quality of Service (QoS) support will enable you to use
+	  Differentiated Services (diffserv) and Resource Reservation Protocol
+	  (RSVP) on your Linux router if you also say Y to "QoS support",
+	  "Packet classifier API" and to some classifiers below. Documentation
+	  and software is at <http://diffserv.sourceforge.net/>.
+
+	  If you say Y here and to "/proc file system" below, you will be able
+	  to read status information about packet schedulers from the file
+	  /proc/net/psched.
+
+	  The available schedulers are listed in the following questions; you
+	  can say Y to as many as you like. If unsure, say N now.
+
 choice
 	prompt "Packet scheduler clock source"
 	depends on NET_SCHED
@@ -506,3 +545,4 @@
 	  Say Y to support traffic policing (bandwidth limits).  Needed for
 	  ingress and egress rate limiting.
 
+endmenu
diff -Nru a/net/sctp/Kconfig b/net/sctp/Kconfig
--- a/net/sctp/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/sctp/Kconfig	2005-04-05 23:02:06 +02:00
@@ -2,11 +2,15 @@
 # SCTP configuration
 #
 
-menu "SCTP Configuration (EXPERIMENTAL)"
-	depends on INET && EXPERIMENTAL
+# Dummy added to make idention correct in menuconfig
+# The depends on IPV6 || IPV6=n causes SCTP to be indented an extra level
+# if following line is omitted
+config IP_SCTP
 
 config IP_SCTP
 	tristate "The SCTP Protocol (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	# Avoid SCTP as built-in if IPV6 is a module
 	depends on IPV6 || IPV6=n
 	select CRYPTO if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5
 	select CRYPTO_HMAC if SCTP_HMAC_SHA1 || SCTP_HMAC_MD5
@@ -86,4 +90,3 @@
 	  advised to use either HMAC-MD5 or HMAC-SHA1.
 
 endchoice
-endmenu
diff -Nru a/net/unix/Kconfig b/net/unix/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/unix/Kconfig	2005-04-05 23:02:06 +02:00
@@ -0,0 +1,22 @@
+#
+# Configuration for Unix domain sockets
+#
+
+config UNIX
+	tristate "Unix domain sockets"
+	---help---
+	  If you say Y here, you will include support for Unix domain sockets;
+	  sockets are the standard Unix mechanism for establishing and
+	  accessing network connections.  Many commonly used programs such as
+	  the X Window system and syslog use these sockets even if your
+	  machine is not connected to any network.  Unless you are working on
+	  an embedded system or something similar, you therefore definitely
+	  want to say Y here.
+
+	  To compile this driver as a module, choose M here: the module will be
+	  called unix.  Note that several important services won't work
+	  correctly if you say M here and then neglect to load the module.
+
+	  Say Y unless you know what you are doing.
+
+
diff -Nru a/net/wanrouter/Kconfig b/net/wanrouter/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/wanrouter/Kconfig	2005-04-05 23:02:06 +02:00
@@ -0,0 +1,31 @@
+#
+# Configuration for WAN Router
+#
+
+config WAN_ROUTER
+	tristate "WAN router"
+	depends on EXPERIMENTAL
+	---help---
+	  Wide Area Networks (WANs), such as X.25, frame relay and leased
+	  lines, are used to interconnect Local Area Networks (LANs) over vast
+	  distances with data transfer rates significantly higher than those
+	  achievable with commonly used asynchronous modem connections.
+	  Usually, a quite expensive external device called a `WAN router' is
+	  needed to connect to a WAN.
+
+	  As an alternative, WAN routing can be built into the Linux kernel.
+	  With relatively inexpensive WAN interface cards available on the
+	  market, a perfectly usable router can be built for less than half
+	  the price of an external router.  If you have one of those cards and
+	  wish to use your Linux box as a WAN router, say Y here and also to
+	  the WAN driver for your card, below.  You will then need the
+	  wan-tools package which is available from <ftp://ftp.sangoma.com/>.
+	  Read <file:Documentation/networking/wan-router.txt> for more
+	  information.
+
+	  To compile WAN routing support as a module, choose M here: the
+	  module will be called wanrouter.
+
+	  If unsure, say N.
+
+
diff -Nru a/net/x25/Kconfig b/net/x25/Kconfig
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/net/x25/Kconfig	2005-04-05 23:02:06 +02:00
@@ -0,0 +1,35 @@
+#
+# X25 Configuration
+#
+
+config X25
+	tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)"
+	depends on NET && EXPERIMENTAL
+	---help---
+	  X.25 is a set of standardized network protocols, similar in scope to
+	  frame relay; the one physical line from your box to the X.25 network
+	  entry point can carry several logical point-to-point connections
+	  (called "virtual circuits") to other computers connected to the X.25
+	  network. Governments, banks, and other organizations tend to use it
+	  to connect to each other or to form Wide Area Networks (WANs). Many
+	  countries have public X.25 networks. X.25 consists of two
+	  protocols: the higher level Packet Layer Protocol (PLP) (say Y here
+	  if you want that) and the lower level data link layer protocol LAPB
+	  (say Y to "LAPB Data Link Driver" below if you want that).
+
+	  You can read more about X.25 at <http://www.sangoma.com/x25.htm> and
+	  <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>.
+	  Information about X.25 for Linux is contained in the files
+	  <file:Documentation/networking/x25.txt> and
+	  <file:Documentation/networking/x25-iface.txt>.
+
+	  One connects to an X.25 network either with a dedicated network card
+	  using the X.21 protocol (not yet supported by Linux) or one can do
+	  X.25 over a standard telephone line using an ordinary modem (say Y
+	  to "X.25 async driver" below) or over Ethernet using an ordinary
+	  Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link
+	  Driver" and "LAPB over Ethernet driver" below).
+
+	  To compile this driver as a module, choose M here: the module
+	  will be called x25. If unsure, say N.
+
diff -Nru a/net/xfrm/Kconfig b/net/xfrm/Kconfig
--- a/net/xfrm/Kconfig	2005-04-05 23:02:06 +02:00
+++ b/net/xfrm/Kconfig	2005-04-05 23:02:06 +02:00
@@ -1,6 +1,10 @@
 #
 # XFRM configuration
 #
+
+config XFRM
+       bool
+
 config XFRM_USER
 	tristate "IPsec user configuration interface"
 	depends on INET && XFRM
@@ -9,4 +13,14 @@
 	  by native Linux tools.
 
 	  If unsure, say Y.
+
+config NET_KEY
+	tristate "PF_KEY sockets"
+	select XFRM
+	---help---
+	  PF_KEYv2 socket family, compatible to KAME ones.
+	  They are required if you are going to use IPsec tools ported
+	  from KAME.
+
+	  Say Y unless you know what you are doing.
 

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2005-04-05 21:24 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-31  7:47 [RFC/PATCH] network configs: disconnect network options from drivers Randy.Dunlap
2005-03-31 11:04 ` jamal
2005-03-31 16:46 ` Chris Friesen
2005-03-31 18:30   ` David S. Miller
2005-03-31 18:22 ` Thomas Graf
2005-03-31 18:52 ` Sam Ravnborg
2005-03-31 20:02   ` Randy.Dunlap
2005-03-31 20:30     ` Sam Ravnborg
2005-04-04  3:30       ` [PATCH] " Randy.Dunlap
2005-04-04 19:50         ` Sam Ravnborg
2005-04-04 20:48           ` Randy.Dunlap
2005-04-04 21:55             ` Sam Ravnborg
2005-04-04 23:11               ` Randy.Dunlap
2005-04-05 15:45                 ` Sam Ravnborg
2005-04-05 18:46                   ` Randy.Dunlap
2005-04-05 21:11                     ` [PATCH] networking: restructuring of net/ kconfig Sam Ravnborg
2005-04-05 17:42           ` [PATCH] network configs: disconnect network options from drivers Sridhar Samudrala
2005-04-05 21:04             ` Sam Ravnborg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).