Re: [GENERIC HDLC LAYER] Messages of a hdlc device

Bob Dunlop (bob.dunlop@xyzzy.org.uk)
Tue, 16 Jul 2002 16:48:17 +0100


Hi,

On Tue, Jul 16, Arnaldo Carvalho de Melo wrote:
> Em Tue, Jul 16, 2002 at 03:10:33PM +0200, Krzysztof Halasa escreveu:
> > henrique <henrique@cyclades.com> writes:
> >
> > > I'm using the generic hdlc layer with PPP protocol against a Lucent MAX6000.
> > > Everything works OK but there a kernel message bothering me:
> > >
> > > protocol 0008 is buggy, dev hdlc0
> > >
> > > I get this message nearly once per minute.
> > >
> > > Do anyone know what is this message about ?
>
> > Not sure what exactly causes it. I was getting it while running tcpdump
> > on PPP device.
>
> This is becoming a FAQ... see net/core/dev.c, line 907 on 2.5:
>
> /* skb->nh should be correctly
> set by sender, so that the second statement is
> just protection against buggy protocols.
> */
> skb2->mac.raw = skb2->data;
>
> if (skb2->nh.raw < skb2->data || skb2->nh.raw > skb2->tail) {
> if (net_ratelimit())
> printk(KERN_DEBUG "protocol %04x is buggy, dev %s\n",
> skb2->protocol, dev->name);
> skb2->nh.raw = skb2->data;
> }

Not exactly a FAQ answer though. How about:

The error would appear to be benign. Something in the protocol stack is
not setting one of the header fields correctly and this code has corrected
the fault.

This error is only seen when running network monitoring software such as
tcpdump as that is the only time the particular code path that detects
the error is followed.

Also shouldn't that be:
> printk(KERN_DEBUG "protocol %04x is buggy, dev %s\n",
> htons(skb2->protocol), dev->name);

-- 
        Bob Dunlop
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/