From: James Chapman <jchapman@katalix.com>
To: netdev@vger.kernel.org
Subject: [PATCH 0/5 2.6.21-rc7] l2tp: introduce PPP over L2TP driver
Date: Mon, 23 Apr 2007 17:00:03 +0100 [thread overview]
Message-ID: <200704231600.l3NG03gc030147@quickie.katalix.com> (raw)
This patch set adds a driver for PPP over L2TP. Patches to follow.
The following changes have been made since the previous version
submitted 23-MAR-07, addressing review comments received so far:-
- Fold makefile changes into the patches that add new source files.
- Make API structures 64-bit safe by avoiding holes inserted by the
compiler for field alignment.
- Fix list locking.
- Use inlines rather than macros for obtaining local context
pointers. (Previous code obscured use of variables and labels in
macros.)
- Use endian-annotated types where appropriate.
- Use skb_queue_walk() for walking skb lists.
- Add check that session doesn't already exist before allowing it to
be created.
- Remove unnecessary try_module_get() / put_module() calls.
- No need to check for NULL before calling kfree().
- Use macros in jiffies.h for time/jiffy conversion.
- Minimize size of L2TP's private data that is stored in skb->cb[].
- Change transmit path to build UDP header locally and transmit using
ip_queue_xmit() rather than use the UDP socket's sendmsg(). This
change also avoids the use of a kernel thread to do the transmit.
- Fix seq file code to avoid potential buffer overflow when there are
lots of tunnels/sessions.
- Fix some socket refcount/lock bugs. Fixes derived from recent pppoe
patches.
The implementation uses the existing PPPoX subsystem that is currently
used only by PPPoE. A userspace daemon handles all L2TP control
protocol messages, while a PPPoX socket carries user data. The system
architecture is similar to PPPoE, where a pppd plugin uses the PPPoX
socket to send/receive PPP frames over an L2TP tunnel. PPP control
frames are delivered to pppd while data frames are handled entirely by
the kernel.
There are 5 patches in the series:-
1 - Introduce skb_queue_walk_safe() macro.
2 - API changes for L2TP. Adds definitions for L2TP in existing headers.
3 - pppol2tp driver core. New code. Requires patches 1 & 2.
4 - Change to PPPoX core to allow PPPoX protocol modules such as
pppol2tp to be autoloaded via modprobe.conf.
5 - Adds an entry to MAINTAINERS file.
The driver is being used on x86, ia64, ppc, arm, mips32 and possibly
other architectures. It is also known to work on multi-core SMP boxes.
--
James Chapman
Katalix Systems Ltd
http://www.katalix.com
Catalysts for your Embedded Linux software development
next reply other threads:[~2007-04-23 16:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-23 16:00 James Chapman [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-04-23 12:55 [PATCH 0/5 2.6.21-rc7] l2tp: introduce PPP over L2TP driver James Chapman
2007-04-23 15:07 ` Patrick McHardy
2007-04-23 15:58 ` James Chapman
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=200704231600.l3NG03gc030147@quickie.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).