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/

Reply via email to