From: <pavel@parabel.inc.ru>
To: linux-kernel@vger.kernel.org
Subject: Re: [GENERIC HDLC LAYER] Messages of a hdlc device
Date: Fri, 30 Aug 2002 18:19:14 +0400 [thread overview]
Message-ID: <web-1637547@inc.ru> (raw)
> 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 ?
I've seen that problem since 2.2.x kernels.
I think there is an error while building cisco/ppp
keepalive packet (hdlc.c & syncppp.c).
Lines skb->nh.raw = skb->data;
will solve it.
Following patch is for 2.2.x kernel.
If you want to patch 2.4.x, simply add
skb->nh.raw = skb->data;
at cisco_keepalive_send (hdlc.c)
at sppp_cisco_send (syncppp.c)
and at sppp_cp_send (syncppp.c)
Here is a patch(for hdlc.c & syncppp.c from 2.2.x):
==========================
diff -urN kernel-source-2.2.17.orig/drivers/net/hdlc.c
kernel-source-2.2.17.hdlc_patch/drivers/net/hdlc.c
--- kernel-source-2.2.17.orig/drivers/net/hdlc.c Sat Jun 24
15:25:37 2000
+++ kernel-source-2.2.17.hdlc_patch/drivers/net/hdlc.c Fri
Mar 22 19:51:41 2002
@@ -19,6 +19,13 @@
*
* Use sethdlc utility to set line parameters, protocol
and PVCs
*/
+ /*
+ Patched by Pavel Selivanov. 08 Aug. 2001
+ If we are using dev_queue_xmit, and we have a
listeners,
+ we should set skb->nh.raw. If no, we'll get a lot of
warnings in
+ /var/log/debug
+ Look at core/net/dev.c dev_queue_xmit_nit
+*/
#include <linux/config.h>
#include <linux/module.h>
@@ -99,6 +106,7 @@
skb_put(skb, sizeof(cisco_packet));
skb->priority=TC_PRIO_CONTROL;
skb->dev = hdlc_to_dev(hdlc);
+ skb->nh.raw = skb->data;
dev_queue_xmit(skb);
}
@@ -369,7 +377,8 @@
skb_put(skb, i);
skb->priority=TC_PRIO_CONTROL;
skb->dev = hdlc_to_dev(hdlc);
-
+ skb->nh.raw = skb->data;
+
dev_queue_xmit(skb);
}
@@ -805,6 +814,7 @@
{
pvc_device *pvc=dev_to_pvc(dev);
+ skb->nh.raw = skb->data;
if (pvc->state & PVC_STATE_ACTIVE) {
skb->dev = hdlc_to_dev(pvc->master);
pvc->stats.tx_bytes+=skb->len;
diff -urN kernel-source-2.2.17.orig/drivers/net/syncppp.c
kernel-source-2.2.17.hdlc_patch/drivers/net/syncppp.c
--- kernel-source-2.2.17.orig/drivers/net/syncppp.c Thu Jun
8 04:26:43 2000
+++
kernel-source-2.2.17.hdlc_patch/drivers/net/syncppp.c Fri
Mar 22 19:51:41 2002
@@ -16,7 +16,14 @@
*
* Port for Linux-2.1 by Jan "Yenya" Kasprzak
<kas@fi.muni.cz>
*/
-
+ /*
+ Patched by Pavel Selivanov. 08 Aug. 2001
+ If we are using dev_queue_xmit, and we have a listeners,
+ we should set skb->nh.raw. If no, we'll get a lot of
warnings in
+ /var/log/debug
+ Look at core/net/dev.c dev_queue_xmit_nit
+*/
+
/*
* Synchronous PPP/Cisco link level subroutines.
* Keepalive protocol implemented in both Cisco and PPP
modes.
@@ -779,6 +786,8 @@
/* Control is high priority so it doesnt get queued
behind data */
skb->priority=TC_PRIO_CONTROL;
skb->dev = dev;
+ skb->nh.raw = skb->data;
+
dev_queue_xmit(skb);
}
@@ -821,6 +830,8 @@
sp->obytes += skb->len;
skb->priority=TC_PRIO_CONTROL;
skb->dev = dev;
+ skb->nh.raw = skb->data;
+
dev_queue_xmit(skb);
}
======================
Regards
Pavel
mail: pavel[AT]parabel.inc.ru
next reply other threads:[~2002-08-30 14:12 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-30 14:19 pavel [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-07-15 14:11 [GENERIC HDLC LAYER] Messages of a hdlc device henrique
2002-07-16 12:11 ` henrique
2002-07-16 13:52 ` Krzysztof Halasa
2002-07-16 13:10 ` Krzysztof Halasa
2002-07-16 13:58 ` Arnaldo Carvalho de Melo
2002-07-16 14:06 ` Krzysztof Halasa
2002-07-16 15:48 ` Bob Dunlop
2002-07-16 10:56 ` Arnaldo Carvalho de Melo
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=web-1637547@inc.ru \
--to=pavel@parabel.inc.ru \
--cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox