Hoi, Thanks for helping me think about this, Stu.
2013/2/22 Stuart Henderson <s...@spacehopper.org>: >> At 00:27:30.706636 I see ingress to .86, which is replied at >> 00:27:30.708050 egress. Then, ingress halts. I send three echos at >> 00:27:52.564297, 00:28:02.563980 and 00:28:12.563665, and then give up >> at 00:28:22.563420 and send a Terminate-Request. I then send three >> Initiation requests, which are answered finally at 00:29:27.771647 by >> the ISP. The connection re-establishes and the cycle repeats. > > Your log only shows the last incoming packet and a few unanswered > outgoing packets, so it's not enough to tell, does the ISP reply to > any of your earlier LCP echo requests or does it ignore all of them? You are right, I only pasted the tail end of the data, but I do have the whole file still: http://www.ipng.nl/pppoe-tcpdump/pppoe4.tcpdump (kernel) http://www.ipng.nl/pppoe-tcpdump/pppoe8.tcpdump (userland) In the call I was referring to above (pppoe4.tcpdump, the kernel version), a whole session lasts from 00:25:32.588726 to 00:28:22.583343. I took another look and it seems that my side does not send LCP echos, but it does reply to them. Typically, the ISP (mac ending in 8d:20) sends LCP echos every 10s, and my side (mac ending in 79:79) responds to them, for example: 00:26:33.656302 00:90:1a:a4:8d:20 00:60:e0:53:79:79 8864 60: PPPoE-Session code Session, version 1, type 1, id 0x124a, length 14 LCP: Echo-Request, Magic-Number=373307203 00:26:33.656321 00:60:e0:53:79:79 00:90:1a:a4:8d:20 8864 34: PPPoE-Session code Session, version 1, type 1, id 0x124a, length 14 LCP: Echo-Reply, Magic-Number=1979569634 You mentioned that I would/should be sending echos as well, but my side definitely does not do that every N seconds. It does, however, when the connection did not see packets for a while, for example at 00:24:42.570312, 00:24:52.569996, 00:25:02.569679 (none responded by ISP), and it then sends terminate-request at 00:25:12.569442. I counted the Echo-Requests, I saw 20 from them, and replied 20 times. I sent 6 to them, they replied 0 times. In the userland pppoe(8) I also saw 20 of them, replied 20 times. I sent 0 to them, they replied 0 times. But I think it's relevant to note that I only sent LCP Echo-Requests just before the line was disconnected (The one I mentioned before is 00:24:42.570312 but there's another example at 00:27:52.564297) - they could very well not be replied because the ISP stopped forwarding traffic to me, or the DSL has untrained (i mean, while the LCPs are are being sent, I am also not seeing any IP traffic coming in, whlie I have a ping running in the background, I should be seeing 2 packets per second, for 40secs I see nothing and then see the line disconnect). > Normally if there is a period of 30 seconds with either no LCP > keepalives or no user data, pppoe(4) will drop the session and log > "LCP keepalive timeout", which it looks like should show up at the > bottom of dmesg output. Confirmed. I can see those 3 LCP packets with 10s interval, and then my side sending Terminate-Request and immediately thereafter Terminate. > So, if they do normally respond to LCP, it looks like the link > is dropping out somehow.. I don't think we can conclude if they normally respond to LCP or not, because at it seems I am not normally sending LCP Echos .. and I don't see how to set this in ifconfig(8) or sppp(4) or pppoe(4). Do you have any idea why my side is not sending LCP echos, or how I can configure it to? > Or, if they don't normally respond to LCP, you may either need some > other way to generate data to keep the session alive, disable the > timeout (by hacking the driver), or ideally see if they can start > responding (easier if it's an ISP compliant with xkcd 806 ;) There's ingress and egress data ~always. In my examples, it's a running ping from internet to me. The ping just times out after a while, for up to a minute or so while my side is sending (sometimes multiple!) Initiation frames, for example 00:28:22.583356, 00:28:27.583185, 00:29:27.581285. Then the ISP responds with an Offer and the cycle restarts. The only other thing I can think of is that actually my DSL modem is dropping the connection. I should easily be able to find a pocket of downtime and inspect the DSL line status because the LCP keepalive timeouts occur more than 100 times per day (there can be 8 hours between them, or as little as 3 minutes) - http://pastebin.com/1VikG019 groet, Pim -- Pim van Pelt <p...@ipng.nl> PBVP1-RIPE - http://www.ipng.nl/