There are userland implementations. F.e.FWIW, a more updated version of the above is available at http://www.l2tpd.org. I am the main maintainer on that anymore, but its basically stagnant. When David Skoll released rp-l2tp (http://sourceforge.net/projects/rp-l2tp), it was just superior in just about every way to l2tpd, so I basically quit doing much work on l2tpd.
http://sourceforge.net/projects/l2tpd
It seems some of these folks have thought to do a kernel side implementation but they never finish. There appears to be no real desire, since the userlevel solution is good enough for just about everyone.
I never got a kernel implementation done, partially as you surmised, because there doesn't appear to be a great deal of demand...some, but not huge. I also didn't get very far with it because I ran into all of the same questions Martijn did, and never found or developed very good answers.
I will volunteer my facilities (such as they are) for a development center for a kl2tp (as I've come to call a kernel implementation of L2TP). I own the l2tpd.org domain, and am quite willing to lend that to the effort, as well as a subversion server, and the l2tpd-devel mailing list.
There's already a history of multiple l2tp related projects using l2tpd-devel for work as, when David Skoll released rp-l2tp, he announced it on l2tpd-devel. I immediately volunteered the continued use of the mailing list for those who wanted to work with rp-l2tp. I don't see anything wrong with using that list for work on multiple implementations, so a kernel implementation would be one more that would be more than welcome. :)
Anyway...if there's anything else that I can offer to the effort, let me know and I'll see if I can come up with it.
-- Jeff McAdams "He who laughs last, thinks slowest." -- anonymous
Attachment:
pgp00113.pgp
Description: PGP signature