l2tp: Add netlink control API for L2TP
authorJames Chapman <jchapman@katalix.com>
Fri, 2 Apr 2010 06:19:10 +0000 (06:19 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 3 Apr 2010 21:56:05 +0000 (14:56 -0700)
commit309795f4bec2d69cd507a631f82065c2198a0825
treeb3676be9a8f65f0d828a07e3bd6906bf7cd7b664
parentf408e0ce40270559ef80f231843c93baa9947bc5
l2tp: Add netlink control API for L2TP

In L2TPv3, we need to create/delete/modify/query L2TP tunnel and
session contexts. The number of parameters is significant. So let's
use netlink. Userspace uses this API to control L2TP tunnel/session
contexts in the kernel.

The previous pppol2tp driver was managed using [gs]etsockopt(). This
API is retained for backwards compatibility. Unlike L2TPv2 which
carries only PPP frames, L2TPv3 can carry raw ethernet frames or other
frame types and these do not always have an associated socket
family. Therefore, we need a way to use L2TP sessions that doesn't
require a socket type for each supported frame type. Hence netlink is
used.

Signed-off-by: James Chapman <jchapman@katalix.com>
Reviewed-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/l2tp.h
net/l2tp/Makefile
net/l2tp/l2tp_core.c
net/l2tp/l2tp_core.h
net/l2tp/l2tp_netlink.c [new file with mode: 0644]
net/l2tp/l2tp_ppp.c