@@ -119,6 +119,26 @@ l2tp" commands). If ``L2TP_ATTR_FD`` is given, it must be a socket fd
that is already bound and connected. There is more information about
unmanaged tunnels later in this document.
+L2TP sessions, or pseudowires, may be of several different types. The
+``L2TP_CMD_SESSION_CREATE`` command specifies the pseudowire type to
+be created.
+
+================== ==================================================
+Pseudowire type Description
+================== ==================================================
+ETH L2TPv3 only. Pseudowire carries Ethernet frames.
+ The session instance is associated with a virtual
+ network device ``l2tpethN``.
+PPP Pseudowire carries PPP frames. The session instance
+ is associated with a virtual network device
+ ``pppN`` which terminates the PPP session locally.
+PPP_AC Pseudowire carries PPP frames which are switched
+ from incoming PPPoE frames into the L2TP tunnel,
+ allowing the PPP session to be terminated at the
+ other end of the tunnel. There is no virtual
+ network device associated with the session instance.
+================== ==================================================
+
``L2TP_CMD_TUNNEL_CREATE`` attributes:-
================== ======== ===
@@ -177,26 +197,35 @@ CONN_ID N Identifies the tunnel id to be queried.
``L2TP_CMD_SESSION_CREATE`` attributes:-
-================== ======== ===
-Attribute Required Use
-================== ======== ===
-CONN_ID Y The parent tunnel id.
-SESSION_ID Y Sets the session id.
-PEER_SESSION_ID Y Sets the parent session id.
-PW_TYPE Y Sets the pseudowire type.
-DEBUG N Debug flags.
-RECV_SEQ N Enable rx data sequence numbers.
-SEND_SEQ N Enable tx data sequence numbers.
-LNS_MODE N Enable LNS mode (auto-enable data sequence
- numbers).
-RECV_TIMEOUT N Timeout to wait when reordering received
- packets.
-L2SPEC_TYPE N Sets layer2-specific-sublayer type (L2TPv3
- only).
-COOKIE N Sets optional cookie (L2TPv3 only).
-PEER_COOKIE N Sets optional peer cookie (L2TPv3 only).
-IFNAME N Sets interface name (L2TPv3 only).
-================== ======== ===
+==================== ======== ===
+Attribute Required Use
+==================== ======== ===
+CONN_ID Y The parent tunnel id.
+SESSION_ID Y Sets the session id.
+PEER_SESSION_ID Y Sets the parent session id.
+PW_TYPE Y Sets the pseudowire type.
+DEBUG N Debug flags.
+RECV_SEQ N Enable rx data sequence numbers.
+SEND_SEQ N Enable tx data sequence numbers.
+LNS_MODE N Enable LNS mode (auto-enable data sequence
+ numbers).
+RECV_TIMEOUT N Timeout to wait when reordering received
+ packets.
+L2SPEC_TYPE N Sets layer2-specific-sublayer type (L2TPv3
+ only).
+COOKIE N Sets optional cookie (L2TPv3 only).
+PEER_COOKIE N Sets optional peer cookie (L2TPv3 only).
+IFNAME N Pseudowire-specific parameter:
+
+ - For Ethernet, IFNAME sets the name to be assigned
+ to the L2TP session network interface.
+ - For AC/PPPoE, IFNAME specifies the name of the
+ interface associated with the PPPoE session.
+ - For PPP pseudowires, IFNAME is ignored.
+
+PPPOE_SESSION_ID N Sets the PPPoE session ID (L2TPv2 AC/PPPoE only).
+PPPOE_PEER_MAC_ADDR N Sets the PPPoE peer MAC address (L2TPv2 AC/PPPoE only).
+==================== ======== ===
For Ethernet session types, this will create an l2tpeth virtual
interface which can then be configured as required. For PPP session
Alongside this, add a bit more of a description of the PPP and ETH pseudowire types. Signed-off-by: Tom Parkin <tparkin@katalix.com> --- Documentation/networking/l2tp.rst | 69 ++++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 20 deletions(-)