[oclug] rp-pppoe and static dhcp assignments

todd.clattenburg at sdc-dsc.gc.ca todd.clattenburg at sdc-dsc.gc.ca
Wed Jun 2 09:53:42 EDT 2004


Hello

I have a question about rp-pppoe and dhcp IP assignments. I will try and be as complete, and as concise as possible.

I have subscribed to a 'static IP' plan from my ISP. I have a server running fedora, rp-pppoe, and a number of other services which I access via my static IP over the internet. After a recent reboot I was issued the wrong IP (not my assigned static IP). I called up my ISP to complain, and they explained to me that my connection was re-connected too quickly so their (dhcp servers/access concentrator) did not have enough time to determine the connection was down, and re-issue the same IP. Their server thought that my static IP was still in use, so it issued a different one. I browsed through the dhcp rfc (rfc1541 section 3.2) and this does not seem to me to be the proper behavior for a dhcp server dealing with a request for a statically assigned IP. I understand that pppoe may require or result in some different behavior for dhcp requests, that is kind of what I wanted independently verified here. 

The ISP told me that I would need to set up a 60-90 second pause in my server to prevent my server from attempting requesting a session twice within that period. So that their servers/access concentrator had a chance to flush their current registered sessions. I asked them if I should be able to reliably reproduce this behavior and they said that it would only occur when their servers are experiencing heavy loads. They also indicated that they have no intention of changing their servers any time in the near future to remedy this latency despite the fact that they offer a 'static IP' package. They said that I would need to reconfigure my server to verify that I have received my static IP if I wanted to be sure that I received it. 

Can I set this delay up somehow with rp-pppoe? 

Also, since PPPoE is session-based how often does it re-initiate a session if the connection is idle? or, how long does the connection need to be idle to have the session expire?

I was thinking of just writing a perl-script for the cron tab and having it check the IP, and if it is not my static IP then pause 90 seconds, kill, and restart the DSL session. But how often would this have to run, or could I change the adsl-start command to validate the IP received, and if it was the wrong one, wait 90 seconds, and kill, reconnect. hmmm. Just typing the this letter is giving me ideas. 

I would like to know if anyone else is experiencing or has experienced similar problems, and if y'all know of a cleaner solution.

Any insights or ideas would be appreciated. 

Muchos gracias.

Todd Clattenburg
Programmer / Analyst
IVR Development
NHQ Systems
Todd.Clattenburg at sdc-dsc.gc.ca

"Hope is a good breakfast, but it is a bad supper." - Francis Bacon



More information about the OCLUG mailing list