Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#2 pty write blocks, packets lost

none
closed
nobody
None
5
2013-12-30
2002-01-13
Yasuoka Masahiko
No

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

496790)

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'.

Discussion

  • patch

     
    Attachments
  • James Cameron
    James Cameron
    2013-12-30

    This is fixed in the latest release.

     
  • James Cameron
    James Cameron
    2013-12-30

    • status: open --> closed
    • Group: --> none