Environment:
NetBSD 1.5.2 + user-ppp(from FreeBSD) +
linux-pptp-1.0.3
Description:
When I try get a large file via ppp/pptp tunnel,
many ppp/gre
packets lost. (this may be same problem reported
As far as my test, write() system call on
encaps_hdlc():pptp_gre.c
blocks few seconds. In this moments, 'pptp' cannot
read packet
from GRE sockets. This cause lost GRE packets.
The patch (attached this message) will solve this
problem. In my
test, throwput improved from 200K bytes/sec to 1M
bytes/sec.
In addition to, the patch also includes "USER_PPP"
compile
option. This option use 'UNIX domain stream socket
pair' to
communicate to user-ppp. I think pty/tty pair
should not be used
for user-ppp. Because default buffer size of
pty/tty pair is 1024
bytes (at least on NetBSD). This is too small.
user-ppp
'-direct' mode supports async HDLC, so we can use
'UNIX domain
socket pair'.
patch
This is fixed in the latest release.