Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 340267 - net-dialup/ppp hung when start pppoe connection without server response
Summary: net-dialup/ppp hung when start pppoe connection without server response
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Alin Năstac (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-09 13:22 UTC by Михаил
Modified: 2010-11-27 10:07 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
USE timeout in PADO and PADS waiting (pado-hung.patch,5.56 KB, patch)
2010-10-09 13:26 UTC, Михаил
Details | Diff
difftime fix (pado-hung.patch,5.75 KB, patch)
2010-10-11 18:18 UTC, Михаил
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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!