[Openl2tp-users] new l2tp kernel drivers
Status: Inactive
Brought to you by:
jameschapman
From: James C. <jch...@ka...> - 2010-04-06 08:13:26
|
This note is to let everyone know about upcoming changes in the L2TP drivers of the Linux kernel. New L2TP drivers were recently merged upstream and should be available from 2.6.35. The changes are to add support for the L2TPv3 protocol. This required splitting the existing pppol2tp driver to separate its L2TP and PPP parts. As a result, users who are manually installing the pppol2tp driver will now need to install l2tp_ppp and l2tp_core instead of pppol2tp. This is handled already by the startup scripts of openl2tp-1.7 Debian and Fedora packages, but users who install from source or manage their own startup scripts may need to make changes. Please try out the new drivers and post info about any problems here so that they can be fixed before 2.6.35 is released. The new drivers are already in the latest "netdev" development kernel source tree, which will be merged into the mainline Linux source tree later. To checkout the netdev tree, do git clone git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6.git The original patches are available at http://marc.info/?l=linux-netdev&m=127022509620463&w=1 I'll post a separate note for users eager to try out L2TPv3. FYI, below is a summary of the changes, taken from the patch series description. ============================================================== This patch series adds L2TPv3 support. It splits the existing pppol2tp driver to separate its L2TP and PPP parts, then adds new L2TPv3 functionality. The patches implement a new socket family for L2TPv3 IP encapsulation, expose virtual netdevices for each L2TPv3 ethernet pseudowire and add a netlink interface. The following drivers are provided:- l2tp_core - L2TP driver core. Always required. l2tp_ppp - L2TP PPP (PPPoL2TP). L2TPv2 and L2TPv3. l2tp_eth - L2TPv3 ethernet pseudowire. l2tp_ip - L2TPv3 IP encapsulation. l2tp_netlink - L2TPv3 netlink API. l2tp_debugfs - L2TP debugfs files. The combination of l2tp_core and l2tp_ppp provides backwards-compatible L2TPv2 pppol2tp functionality. Userspace L2TPv2 applications using the existing pppol2tp driver should not need to change. The implementation is as I described in a previous posting to netdev, archived at http://marc.info/?l=linux-netdev&m=120845482320143&w=4. Unfortunately, splitting the existing pppol2tp driver into l2tp_core and l2tp_ppp makes the changes difficult to review. The split is needed to separate PPP from L2TP, since in L2TPv3, protocols other than PPP can be carried. I have organised the patches so that the split is done first, with new features added in separate patches. Relevant RFCs are:- - http://www.ietf.org/rfc/rfc3931.txt (L2TPv3) - http://www.ietf.org/rfc/rfc4719.txt (L2TPv3 ethernet pseudowire) A patchset is available to iproute2 which adds a number of commands for unmanaged L2TPv3 tunnels. This will be submitted separately. TODO:- - Add L2TP tunnel switching. - Add IP pseudowires. These carry only IP frames (no L2 header). - Add VLAN pseudowires. - Add ATM pseudowires - RFC3355 and RFC4454. -- James Chapman Katalix Systems Ltd http://www.katalix.com Catalysts for your Embedded Linux software development |