netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Chapman <jchapman@katalix.com>
To: netdev@vger.kernel.org
Subject: [RFC PATCH 0/8] l2tp: introduce L2TPv3 support
Date: Sun, 22 Feb 2009 17:52:20 GMT	[thread overview]
Message-ID: <200902221752.n1MHqK2b006531@bert.katalix.com> (raw)

This patch series implements L2TPv3. It replaces the existing pppol2tp
driver with a number of separate drivers, namely:-

l2tp_core    - L2TP driver core. Always required.
l2tp_ppp     - L2TP PPP
l2tp_eth     - L2TPv3 ethernet pseudowire
l2tp_ip      - L2TPv3 IP encapsulation
l2tp_netlink - L2TPv3 netlink API

The combination of l2tp_core and l2tp_ppp provides
backwards-compatible L2TPv2 pppol2tp functionality.

Except for Patch 6, these patches are not yet ready for the mainline
so don't have my signed-off-by sig. Recently added pppol2tp features
such as namespace support are still to be merged in. I am posting the
patches early to get some feedback before I spend too long
testing. The code is working in basic test setups.

The implementation is as I described in a previous posting to netdev,
archived at http://marc.info/?l=linux-netdev&m=120845482320143&w=4.

The patches are:-

1. Move the existing L2TPv2 pppol2tp driver from drivers/net into a
   new directory, net/l2tp.

2. Split the pppol2tp driver into separate L2TP and PPP parts. This
   is required for L2TPv3 since L2TPv3 can carry protocols other than
   PPP.

3. Add L2TPv3 core protocol support.

4. Update PPP-over-L2TP driver to work over L2TPv3.

5. Add L2TPv3 IP encapsulation (no UDP) support. This creates a new
   L2TPIP socket family. Userspace uses an L2TPIP socket instead of a
   UDP socket when IP encapsulation is required.

6. Small change to genetlink core to export genl_lock/genl_unlock.

7. Add userspace API for L2TPv3 using netlink. Userspace must manage
   L2TPv3 kernel tunnel/session configuration using netlink. The
   previous pppol2tp driver was managed using [gs]etsockopt(), which
   is retained for backwards compatibility. Netlink is used for L2TPv3
   because it is more flexible and the L2TPv3 kernel interface is
   quite complex.

8. Add ethernet pseudowire support. Each ethernet pseudowire has a
   net_device which may be managed by userspace tools.

--
James Chapman
Katalix Systems Ltd
http://www.katalix.com
Catalysts for your Embedded Linux software development 

             reply	other threads:[~2009-02-22 17:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-22 17:52 James Chapman [this message]
2009-02-24  6:39 ` [RFC PATCH 0/8] l2tp: introduce L2TPv3 support Herbert Xu
2009-02-24  9:17   ` James Chapman
2009-02-24  9:24     ` Patrick McHardy
2009-02-24  9:55       ` James Chapman
2009-02-24 10:00         ` Patrick McHardy
2009-02-24  9:45     ` Herbert Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200902221752.n1MHqK2b006531@bert.katalix.com \
    --to=jchapman@katalix.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).