Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 340267

Summary: net-dialup/ppp hung when start pppoe connection without server response
Product: Gentoo Linux Reporter: Михаил <spike>
Component: New packagesAssignee: Alin Năstac (RETIRED) <mrness>
Status: RESOLVED FIXED    
Severity: enhancement CC: net-dialup
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: USE timeout in PADO and PADS waiting
difftime fix

Description Михаил 2010-10-09 13:22:07 UTC
waitForPADO is a part of PPPoE discovery procedure. This function ignore timeout
parameter use it only for delay in select(). If any pppoe garbage packet recived,
recive retryed with waiting next packet with SAME timeout value.
In case of no responce from server, and continuous flow PPPoE
discovery packets in ethernet segment waitForPADO never returns.
This actually occurs when pppoe server temporary failure and
other clients trying to recover connection.

So pppoe server did not reply because PADI request is sent for a long time.
New PADI should be sended but pppd only waiting. Hung.

Reproducible: Always

Steps to Reproduce:
1. Connect 2 computer by ethrnet network without pppoe server.

2. start pppd on first computer:
pppd debug connect true plugin rp-pppoe.so eth0

3. start packet generator on other to emulate other pppoe clients:
# scapy
>>> sendp(PPPoED(code=0x09), iface="eth0", loop=1, inter=3)

Actual Results:  
pppd send PADI only once and wait PADO forewer.

Expected Results:  
pppd should send PADI after waiting PADO timeout expired.
Comment 1 Михаил 2010-10-09 13:26:40 UTC
Created attachment 250023 [details, diff]
USE timeout in PADO and PADS waiting
Comment 2 Михаил 2010-10-11 18:18:47 UTC
Created attachment 250253 [details, diff]
difftime fix
Comment 3 Alin Năstac (RETIRED) gentoo-dev 2010-10-23 07:51:24 UTC
Did you reported the problem upstream?
Comment 4 Михаил 2010-10-23 19:20:26 UTC
(In reply to comment #3)

Yes (by http://samba.org/cgi-bin/ppp-bugs/), but didn't get any responce.
Comment 5 Alin Năstac (RETIRED) gentoo-dev 2010-11-27 10:07:57 UTC
Fixed in 2.4.5-r1, thanks!