netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5 2.6.21-rc7] l2tp: introduce PPP over L2TP driver
@ 2007-04-23 12:55 James Chapman
  2007-04-23 15:07 ` Patrick McHardy
  0 siblings, 1 reply; 4+ messages in thread
From: James Chapman @ 2007-04-23 12:55 UTC (permalink / raw)
  To: netdev

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 - pppol2tp driver core. New code. Requires patches 2 & 3.

2 - API changes for L2TP. Adds definitions for L2TP in existing headers.

3 - Introduce skb_queue_walk_safe() macro.

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

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

* Re: [PATCH 0/5 2.6.21-rc7] l2tp: introduce PPP over L2TP driver
  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
  0 siblings, 1 reply; 4+ messages in thread
From: Patrick McHardy @ 2007-04-23 15:07 UTC (permalink / raw)
  To: James Chapman; +Cc: netdev

James Chapman wrote:
> 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.


The reason to do this was to keep the tree compiling at all stages,
which this patchset still doesn't do. You should first add your changes
to other files (like skb_queue_walk_safe, ppp headers, ...), then
add the code that uses them.


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

* Re: [PATCH 0/5 2.6.21-rc7] l2tp: introduce PPP over L2TP driver
  2007-04-23 15:07 ` Patrick McHardy
@ 2007-04-23 15:58   ` James Chapman
  0 siblings, 0 replies; 4+ messages in thread
From: James Chapman @ 2007-04-23 15:58 UTC (permalink / raw)
  To: Patrick McHardy; +Cc: netdev

My mistake. I'll reorder the patches and resubmit.

Patrick McHardy wrote:
> James Chapman wrote:
>> 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.
> 
> 
> The reason to do this was to keep the tree compiling at all stages,
> which this patchset still doesn't do. You should first add your changes
> to other files (like skb_queue_walk_safe, ppp headers, ...), then
> add the code that uses them.

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


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

* [PATCH 0/5 2.6.21-rc7] l2tp: introduce PPP over L2TP driver
@ 2007-04-23 16:00 James Chapman
  0 siblings, 0 replies; 4+ messages in thread
From: James Chapman @ 2007-04-23 16:00 UTC (permalink / raw)
  To: netdev

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

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

end of thread, other threads:[~2007-04-23 16:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
  -- strict thread matches above, loose matches on Subject: below --
2007-04-23 16:00 James Chapman

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).