it reads #pppd_ppp0=( # "updetach" # WARNING: If you don't specify this then we will # # not wait for the actual PPP link to go up # "debug" # Enables syslog debugging # "noauth" # Do not require the peer to authenticate itself # "defaultroute" # Make this PPP interface the default route # "userpeerdns" # Use the DNS settings provided by PPP # but the last option should read "usepeerdns". Reproducible: Always Steps to Reproduce: 1. 2. 3.
Besides the typo the ppp entry is quite incomplete. It writes that you are encourage to use this module over adsl, but fails to provide any reasonable pppoe options. To get ADSL working, I had to add: # PPPOE options (use link_ppp0 to specify ethernet interface as shown above) "noipdefault" "default-asyncmap" "mtu 1492" "mru 1492" "lcp-echo-interval 20" "lcp-echo-failure 3" "sync" # requires HDLC line discipline support in kernel # Even worse, the config wont start because of a missing config line. Only after adding the below line it finally worked: config_ppp0=( "pppd" )
I've fixed the typo and added config_ppp0=( "ppp" ) in our documentation. There's no noipdefault specified in the pppd man page. default-asyncmap looks like it's the default unless someone can tell me otherwise - as we don't document the asyncmap ppp settings so I don't see why we need to document this setting also. The sync setting not only requires specific kernel options but also specifc hardware, so I don't think this should be documented by us. mrness, your the ppp maintainer - thoughts?
- mru and mtu are pointless unless you wanna setup values <1492 (not useful for PPPoE since the bigger is the better) - I remember that lcp-echo* params are present in net.example - sync should not be used for PPPoE links (valid only for special hardware) - config_ppp0=( "pppd" ) is also present in net.example (or it should) IMO, the net.example should expose only the most used pppd options. Exotic options should not be advertised, but I agree it should contain a reference to "man pppd".
> - config_ppp0=( "pppd" ) is also present in net.example (or it should) the later - it should...
Well, my (pppd-2.4.3) man page says: "noipdefault Disables the default behaviour when no local IP address is specified, which is to determine (if possible) the local IP address from the hostname. With this option, the peer will have to supply the local IP address during IPCP negotiation (unless it specified explicitly on the command line or in an options file)." Which is exactly what I want. Alin is right, the other pppoe options aren't necessary, I just listed them for completeness and for the different timing values in case of the lcp-echo-* options. The 'sync' option is not just for special hardware, it also instructs pppd not to do any async map and timing processing and therefore be easy on the cpu. The n_hdlc discpline works (and always has) flawlessly over the 'eth' line. Here's an excerpt from the rp-pppoe documentation (whose plugin is used): # Do you want to use synchronous PPP? "yes" or "no". "yes" is much # easier on CPU usage, but may not work for you. It is safer to use # "no", but you may want to experiment with "yes". "yes" is generally # safe on Linux machines with the n_hdlc line discipline; unsafe on others.
noipdefault isn't really useful since PPPoE concentrator forces the local IP anyway. but you are right about the sync option. all you need to have is CONFIG_PPP_SYNC_TTY in your running kernel. It should be used for syncronous terminals and PPPoE and explained in net.example: # sync #Enables synchronous line discipline for HDLC equipments or for PPPoE connections. Requires CONFIG_PPP_SYNC_TTY support in your kernel. as a side note, the current explanation for lcp-echo-failure is wrong. It should be something like "Declare peer dead if no echo-replies are received after n consecutive echo-requests"
scrach my previous sync comments! according to my tests, sync option does nothing on a PPPoE connection. it does not load any new kernel module, ceirtainly not ppp_synctty. as a matter of fact, the pppd doesn't load ppp_async either, but it is normal if you came to think of it. for PPPoE links, pppd doesn't read/write from/to ttys, but directly on Ethernet interface, through pppoe kernel module and rp-pppoe.so pppd plugin. bottom line, I don't see how a "sync" option will go easy on CPU.
Created attachment 74915 [details] proposed ppp section of net.example after analysing all related bugs, this is my proposal for the ppp section of the net.example file.
Created attachment 74916 [details] proposed ppp section of net.example Rearrange options a bit
Fixed in baselayout-1.12.0_pre12