Re: Protocol 0008 is buggy

From: Henner Eisen (eis@baty.hanse.de)
Date: Mon Oct 09 2000 - 13:56:48 EST


Hi,

>>>>> "Ivan" == Ivan Passos <lists@cyclades.com> 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.

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



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