Re: Protocol 0008 is buggy

From: Henner Eisen (
Date: Mon Oct 09 2000 - 13:56:48 EST


>>>>> "Ivan" == Ivan Passos <> writes:

    Ivan> Hello,

    Ivan> I have a customer who's getting tons of this msg in his
    Ivan> LOGs:

    Ivan> kernel: protocol 0008 is buggy, dev hdlc0

    Ivan> The msg comes from net/core/dev.c, and this device is using
    Ivan> the Frame Relay protocol in drivers/net/hdlc.c .

    Ivan> What I'd like to know is: - What exactly causes this msg??
    Ivan> It seems that it's printed when someone sends a packet
    Ivan> without the skb->nh.raw correctly set, but I couldn't find
    Ivan> any driver under drivers/net that sets this. - How can /

It should be set by the upper (network layer) protocol which passes
the skb down to the network interface. Device drivers usually donīt
set it unless they are themselves upper layers for a yet downstream
network interface (in case of protocol tunnels). Thus, for examples,
grep 'skb->nh' /usr/src/linux/net/*.c

    Ivan> should I solve this?? Should it be solved in the hdlc.c
    Ivan> driver or somewhere else in an upper level??

... and thus should be fixed in that upper layer.

The protocol number 0008 is defined in include/linix/if_ether.h:

#define ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */

Thus, my guess is that your customer is using ppp on top of the frame relay
device by means of the snycppp driver. And itīs probably the syncppp driver
to blame for and to fix. Yes, this is one of these network interfaces
mentioned above which is itself an upper layers for a downstream network
interface. Itīs in drivers/net/syncppp.c (2.2.x) or in
drivers/net/wan/syncppp.c (2.4.x).

    Ivan> Thanks in advance for your help.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:13 EST