l2tp: prevent tunnel creation on netns mismatch
[linux-3.10.git] / net / l2tp / Kconfig
index ec88c5c..147a8fd 100644 (file)
@@ -4,6 +4,7 @@
 
 menuconfig L2TP
        tristate "Layer Two Tunneling Protocol (L2TP)"
+       depends on (IPV6 || IPV6=n)
        depends on INET
        ---help---
          Layer Two Tunneling Protocol
@@ -19,6 +20,10 @@ menuconfig L2TP
          connections. L2TP is also used as a VPN protocol, popular
          with home workers to connect to their offices.
 
+         L2TPv3 allows other protocols as well as PPP to be carried
+         over L2TP tunnels. L2TPv3 is defined in RFC 3931
+         <http://www.ietf.org/rfc/rfc3931.txt>.
+
          The kernel component handles only L2TP data packets: a
          userland daemon handles L2TP the control protocol (tunnel
          and session setup). One such daemon is OpenL2TP
@@ -26,3 +31,78 @@ menuconfig L2TP
 
          If you don't need L2TP, say N. To compile all L2TP code as
          modules, choose M here.
+
+config L2TP_DEBUGFS
+       tristate "L2TP debugfs support"
+       depends on L2TP && DEBUG_FS
+       help
+         Support for l2tp directory in debugfs filesystem. This may be
+         used to dump internal state of the l2tp drivers for problem
+         analysis.
+
+         If unsure, say 'Y'.
+
+         To compile this driver as a module, choose M here. The module
+         will be called l2tp_debugfs.
+
+config L2TP_V3
+       bool "L2TPv3 support (EXPERIMENTAL)"
+       depends on EXPERIMENTAL && L2TP
+       help
+         Layer Two Tunneling Protocol Version 3
+
+         From RFC 3931 <http://www.ietf.org/rfc/rfc3931.txt>.
+
+         The Layer Two Tunneling Protocol (L2TP) provides a dynamic
+         mechanism for tunneling Layer 2 (L2) "circuits" across a
+         packet-oriented data network (e.g., over IP).  L2TP, as
+         originally defined in RFC 2661, is a standard method for
+         tunneling Point-to-Point Protocol (PPP) [RFC1661] sessions.
+         L2TP has since been adopted for tunneling a number of other
+         L2 protocols, including ATM, Frame Relay, HDLC and even raw
+         ethernet frames.
+
+         If you are connecting to L2TPv3 equipment, or you want to
+         tunnel raw ethernet frames using L2TP, say Y here. If
+         unsure, say N.
+
+config L2TP_IP
+       tristate "L2TP IP encapsulation for L2TPv3"
+       depends on L2TP_V3
+       help
+         Support for L2TP-over-IP socket family.
+
+         The L2TPv3 protocol defines two possible encapsulations for
+         L2TP frames, namely UDP and plain IP (without UDP). This
+         driver provides a new L2TPIP socket family with which
+         userspace L2TPv3 daemons may create L2TP/IP tunnel sockets
+         when UDP encapsulation is not required. When L2TP is carried
+         in IP packets, it used IP protocol number 115, so this port
+         must be enabled in firewalls.
+
+         To compile this driver as a module, choose M here. The module
+         will be called l2tp_ip.
+
+config L2TP_ETH
+       tristate "L2TP ethernet pseudowire support for L2TPv3"
+       depends on L2TP_V3
+       help
+         Support for carrying raw ethernet frames over L2TPv3.
+
+         From RFC 4719 <http://www.ietf.org/rfc/rfc4719.txt>.
+
+         The Layer 2 Tunneling Protocol, Version 3 (L2TPv3) can be
+         used as a control protocol and for data encapsulation to set
+         up Pseudowires for transporting layer 2 Packet Data Units
+         across an IP network [RFC3931].
+
+         This driver provides an ethernet virtual interface for each
+         L2TP ethernet pseudowire instance. Standard Linux tools may
+         be used to assign an IP address to the local virtual
+         interface, or add the interface to a bridge.
+
+         If you are using L2TPv3, you will almost certainly want to
+         enable this option.
+
+         To compile this driver as a module, choose M here. The module
+         will be called l2tp_eth.