All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Carlson <carlsonj@workingcode.com>
To: linux-ppp@vger.kernel.org
Subject: Re: ifconfig ppp0 errors
Date: Wed, 12 Jan 2011 19:47:09 +0000	[thread overview]
Message-ID: <4D2E053D.2050300@workingcode.com> (raw)
In-Reply-To: <Pine.GSO.4.64.1101111527150.23601@sunfire13.eecs.tufts.edu>

On 01/12/11 13:40, Slawomir Skret wrote:
> I added an instrumental printk statement in the ppp_receive_frame to
> print a message before the ppp_receive_error(), rebuilt the kernel, and
> got these prints for every error count reported. What does that mean? Is
> there anything I can do/turn on/instrument/etc to tell what's wrong with
> these frames?

It means that your hardware is destroying the data in flight.  There's
not much that PPP can do about that except detect the errors (using the
Frame Check Sequence -- a CRC-16 scheme) and discard the packets that
are affected.

You could use the "record filename" option to capture the actual raw
data.  That interposes a pty pair, so it's not completely transparent.
To do transparent analysis, you'll need an external serial analyzer.
Several vendors (such as HP) make such machines.  They're by no means
cheap, but if you're doing real hardware development, there's no
substitute for having good test gear.

Reasonable operation of PPP assumes a lower layer that has only a modest
-- and hopefully not traffic-sensitive -- error rate.  It doesn't have
to be completely error free, but even a small error rate will have a
relatively large effect on usability and performance of the link.  (And
systematic errors, such as [say] always discarding the 256th byte of
packets with 256 or more bytes, will make the link effectively useless
for ordinary networking purposes.)

(This isn't really a characteristic of PPP itself, but rather of any
interface intended for datagram networking purposes.  Error rates other
than "a little" are bad news.)

> Also, I built the pppstats and run it:
> 
> /var # ./pppstats
>       IN   PACK VJCOMP  VJUNC  VJERR  |      OUT   PACK VJCOMP  VJUNC
> NON-VJ
>  2351664   1587      0      0      0  |    78364   1465      0      0 1465
> 
> but it does not report these errors.

That indicates that there's no significant errors above the framing
level.  That's good, as it likely means there are no difficult software
problems to solve.

It's merely a matter of inadequate hardware.

-- 
James Carlson         42.703N 71.076W         <carlsonj@workingcode.com>

  parent reply	other threads:[~2011-01-12 19:47 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-11 20:30 ifconfig ppp0 errors Slawomir Skret
2011-01-11 21:04 ` James Carlson
2011-01-11 21:57 ` Slawomir Skret
2011-01-11 22:50 ` Slawomir Skret
2011-01-11 23:30 ` James Cameron
2011-01-12  2:29 ` Paul Mackerras
2011-01-12 13:21 ` James Carlson
2011-01-12 18:40 ` Slawomir Skret
2011-01-12 19:47 ` James Carlson [this message]
2011-01-12 21:05 ` James Cameron
2011-01-12 21:23 ` James Carlson
2011-01-12 21:51 ` James Cameron
2011-01-12 22:17 ` James Carlson
2011-01-14 16:58 ` Slawomir Skret
2011-01-14 17:28 ` James Carlson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D2E053D.2050300@workingcode.com \
    --to=carlsonj@workingcode.com \
    --cc=linux-ppp@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.