Commit Graph

11 Commits

Author SHA1 Message Date
sthen
0038f57c90 Add a fix from Sergey Ryazanov <ryazanov.s.a / gmail.com> to handle
fragmented ppp frames while reading from pty. From Sergey's mail:

=====
xl2tpd could not correctly handle fragmented ppp frame while read it
from pty if one of consequent read operation return an error.
That's happening because xl2tpd too often cleans the buffer and
assumes that each read frame operation is performed for new frame,
since xl2tpd uses single buffer for pty and for socket read operations.

The attached patch moves all pty related buffers into _call_ context
and corrects calculation of buffer position, what fixes issue with
handling of fragmented frames. Now we can use MTU > 1000. I tested
these changes with load (L2TP tunnel without IPSec) and all seems work
normally. No more "Protocol-Reject" frames.
=====

Performance is still poor (Sergey was seeing ~2Mb/s, I am seeing less
despite low cpu use) but the tunnel now seems reliable.
2015-06-19 16:34:41 +00:00
ajacoutot
35ba509e50 Fix rcctl(8) usage. 2015-01-08 14:08:15 +00:00
sthen
c1b8a8d1b2 don't re-create the fifo if it still exists from a previous failed startup,
noted by landry
2014-10-11 21:11:20 +00:00
landry
42af63a336 Fix typo (s/pppo0/ppp0/) - thanks stuart for that awesomely detailed README :) 2014-10-11 16:13:36 +00:00
sthen
76572fa72e Add some notes on l2tp+ipsec. Definitely not perfect as there are some issues
with fragments and stalls under high load, but it is possible to connect to
npppd using l2tp+ipsec with this information.
2014-10-09 13:06:04 +00:00
sthen
2b1062edc1 enable xl2tpd-control and adjust README 2013-03-28 18:24:29 +00:00
espie
eae66e4a7b PERMIT_* / REGRESS->TEST sweep 2013-03-11 11:35:43 +00:00
sthen
0f81196db2 check that argv[1] isn't null before using it in strncmp() to avoid segv;
this file isn't currently built (it needs fmemopen) so no bump.
2013-01-18 22:38:06 +00:00
sthen
f1a40283a6 remove unnecessary parts from the Makefile patch, they are handled in
the port Makefile already. no pkg change.
2013-01-18 22:36:44 +00:00
sthen
3bd5bb6e6c additional notes for README 2013-01-16 20:54:40 +00:00
sthen
48c88527b2 import ports/net/xl2tpd, ok pirofti@
xl2tpd is an implementation of the Layer 2 Tunnelling Protocol (RFC 2661),
which works by opening a pseudo-tty for communicating with pppd.

L2TP allows you to tunnel PPP over UDP. Some ISPs use L2TP to tunnel user
sessions from dial-in servers (modem banks, ADSL DSLAMs) to back-end PPP
servers. Another important application is Virtual Private Networks where
the IPsec protocol is used to secure the L2TP connection (L2TP/IPsec,
RFC 3193).
2013-01-15 23:02:19 +00:00