Dennis Aberilla | 13 Sep 23:32
Picon

Re: PPP loses compression sync when TCP transaction starts.

On 8/31/07, James Carlson <carlsonj <at> workingcode.com> wrote:
> Dennis Aberilla writes:
> > I dug on this a little further and noticed that in linux-2.4.18, there
> > are two files "zlib.[ch]" in drivers/net that's actually used by
> > ppp_deflate.c. Why is it not using the kernel's "inflate.c"?? I
>
> Because there are some significant behavioral differences between
> "standard" stream-oriented Deflate compression and the
> datagram-oriented variant that PPP uses.  For more information, see
> RFC 1979 and the comments in PPP's zlib.[ch].  The additions are
> Z_PACKET_FLUSH, inflateIncomp, deflateOutputPending, and support for
> discarding output.
>
> > noticed that these "zlib.[ch]" files are no longer in 2.6.20; so as an
> > experiment, I copied these two files from 2.4.18 including
> > drivers/net/ppp_deflate.c to 2.6.20 and use them instead; the result:
> > Deflate works!
> >
> > Could there be a bug somewhere in the deflate code?
>
> Certainly could.  It's tricky stuff.
>
> --
> James Carlson         42.703N 71.076W         <carlsonj <at> workingcode.com>
>
Cheers to you mate! It now makes sense, thanks very much. I'm just
wondering why these files (PPP zlib) were inexistent in 2.6.20.
-
To unsubscribe from this list: send the line "unsubscribe linux-ppp" in
the body of a message to majordomo <at> vger.kernel.org
(Continue reading)

Michele Mencacci | 16 Sep 04:56
Picon
Favicon

ppp in D+ state

Hello there,
I don't know since when, ( before I had 2.6.16 and now I'm passed to
2.6.22.3), but now pppd while is running, it stops, or better it's live,
but I can't send or receive....and if I kill it, it hangs-up the modem,
but it remain live in D+state and I can only reboot the linux box  :(
Instead with 2.6.16 it works fine...well sometime it stops but I can
kill and restart, but less often than 2.6.22.
It appears to be random.....any hints?
greetings

                Mike
-
To unsubscribe from this list: send the line "unsubscribe linux-ppp" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Zygo Blaxell | 20 Sep 08:07

Re: ppp in D+ state

In article <46EC9B4B.80809 <at> poste.it>,
Michele Mencacci  <shire <at> inwind.it> wrote:
>Hello there,
>I don't know since when, ( before I had 2.6.16 and now I'm passed to
>2.6.22.3), but now pppd while is running, it stops, or better it's live,
>but I can't send or receive....and if I kill it, it hangs-up the modem,
>but it remain live in D+state and I can only reboot the linux box  :(
>Instead with 2.6.16 it works fine...well sometime it stops but I can
>kill and restart, but less often than 2.6.22.
>It appears to be random.....any hints?

For what it's worth I see this too (2.6.22.1).

pppd goes into D state, and so does 'ifconfig' and several other
programs that try to use ioctl calls to enumerate network interfaces.
Eventually every process on the system is in D state and I have to reboot
to get anything to work.

I have two ADSL PPPoE feeds.  The second feed continues to work after the
first goes down, except that if the second feed goes down too, its pppd
process gets into the same state.  Actually all attempts to bring any
network interface up or down have the same result:  the process trying to
do this ends up in D state.

Sometimes, though not always, there is a kernel log message which complains
that the ppp interface has reference count = 1.

I've also used 2.6.16.19, 2.6.16.42, and 2.6.18.8, which don't have this
problem, but they did have other bugs which crash the whole machine.

(Continue reading)

Christopher Fowler | 20 Sep 14:16
Favicon

Re: ppp in D+ state

I had this same problem but my solution may not be a good one.  I had a
server that worked flawlessly for 2 years. It only had 512m of memory
and we decided to upgrade.  I added 2 GB to make a total of 2.5GB.  This
system ran 2.6.5 kernel with FC2.  After the upgrade I saw this problem.
We use vtun and run pppd that way so after about 3 days I would see at
least a 100 pppd processes like this.  Kill -9 did not work and load
average was at 100+.  The system become non-responsive.  I could not log
in.  Luckily I invested in intelligent power strips that saved me a trip
to the data center.  To fix this problem I would issue an off then on
command to the strip for that outlet.  I thought it might have been a
memory issue but I downloaded the 2.6.10 kernel upgrade for FC2,
compiled it and my problem went away.  I'm not sure what was causing
this issue but it only started when I went from 512m to 2.5G of ram.

On Thu, 2007-09-20 at 02:07 -0400, Zygo Blaxell wrote:
> In article <46EC9B4B.80809 <at> poste.it>,
> Michele Mencacci  <shire <at> inwind.it> wrote:
> >Hello there,
> >I don't know since when, ( before I had 2.6.16 and now I'm passed to
> >2.6.22.3), but now pppd while is running, it stops, or better it's live,
> >but I can't send or receive....and if I kill it, it hangs-up the modem,
> >but it remain live in D+state and I can only reboot the linux box  :(
> >Instead with 2.6.16 it works fine...well sometime it stops but I can
> >kill and restart, but less often than 2.6.22.
> >It appears to be random.....any hints?
> 
> For what it's worth I see this too (2.6.22.1).
> 
> pppd goes into D state, and so does 'ifconfig' and several other
> programs that try to use ioctl calls to enumerate network interfaces.
(Continue reading)

Michal Schmidt | 21 Sep 16:08
Picon
Favicon
Gravatar

[PATCH] ppp_mppe: Don't put InterimKey on the stack

Hello,

The interrupt stack can be in the __START_KERNEL_map region in which
virt_to_page will not work. This caused ppp_mppe to crash on CentOS 5 on x86_64
(http://bugs.centos.org/view.php?id=2076).

The fix is to avoid copying the interim key. We can simply use it in its
original place, which is kmalloc'd.

Michal
---
 drivers/net/ppp_mppe.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ppp_mppe.c b/drivers/net/ppp_mppe.c
index f79cf87..c0b6d19 100644
--- a/drivers/net/ppp_mppe.c
+++ b/drivers/net/ppp_mppe.c
@@ -136,7 +136,7 @@ struct ppp_mppe_state {
  * Key Derivation, from RFC 3078, RFC 3079.
  * Equivalent to Get_Key() for MS-CHAP as described in RFC 3079.
  */
-static void get_new_key_from_sha(struct ppp_mppe_state * state, unsigned char *InterimKey)
+static void get_new_key_from_sha(struct ppp_mppe_state * state)
 {
 	struct hash_desc desc;
 	struct scatterlist sg[4];
@@ -153,8 +153,6 @@ static void get_new_key_from_sha(struct ppp_mppe_state * state, unsigned char *I
 	desc.flags = 0;

(Continue reading)

Matt Domsch | 21 Sep 16:40
Picon
Favicon

Re: [PATCH] ppp_mppe: Don't put InterimKey on the stack

On Fri, Sep 21, 2007 at 04:08:09PM +0200, Michal Schmidt wrote:
> Hello,
> 
> The interrupt stack can be in the __START_KERNEL_map region in which
> virt_to_page will not work. This caused ppp_mppe to crash on CentOS 5 on x86_64
> (http://bugs.centos.org/view.php?id=2076).
> 
> The fix is to avoid copying the interim key. We can simply use it in its
> original place, which is kmalloc'd.

Needs a Signed-off-by: line, but otherwise, looks good, and even saves
some stack space.  Thanks for tracking this down.

-Matt

--

-- 
Matt Domsch
Linux Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux
-
To unsubscribe from this list: send the line "unsubscribe linux-ppp" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Michal Schmidt | 21 Sep 16:47
Picon
Favicon
Gravatar

Re: [PATCH] ppp_mppe: Don't put InterimKey on the stack

Matt Domsch skrev:
> On Fri, Sep 21, 2007 at 04:08:09PM +0200, Michal Schmidt wrote:
>   
>> Hello,
>>
>> The interrupt stack can be in the __START_KERNEL_map region in which
>> virt_to_page will not work. This caused ppp_mppe to crash on CentOS 5 on x86_64
>> (http://bugs.centos.org/view.php?id=2076).
>>
>> The fix is to avoid copying the interim key. We can simply use it in its
>> original place, which is kmalloc'd.
>>     
>
> Needs a Signed-off-by: line, but otherwise, looks good, and even saves
> some stack space.  Thanks for tracking this down.
>
> -Matt
>   

Sorry about the forgotten sign-off. Here it is.
Andrew, please apply.

Signed-off-by: Michal Schmidt <mschmidt <at> redhat.com>

---
 drivers/net/ppp_mppe.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ppp_mppe.c b/drivers/net/ppp_mppe.c
index f79cf87..c0b6d19 100644
(Continue reading)


Gmane