Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Sep 2007 13:09:29 +1000 (EST)
From:      Ian Smith <smithi@nimnet.asn.au>
To:        Alan Tamm <alan.tamm@gmail.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Mpd (3.x) & mpd4 config and differeces in reconnect/dial behaviour ?
Message-ID:  <Pine.BSF.3.96.1070925121302.27440A-100000@gaia.nimnet.asn.au>
In-Reply-To: <20070924210757.4D10516A479@hub.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 24 Sep 2007 21:25:32 +0300 Alan Tamm <alan.tamm@gmail.com> wrote:

 > Since upgrade from 3.x to 4.x I have to manually (re) open the bundle PPPoE
 > but I can't afford this system to be offline/needing manual intervention
 > from now on. When the connection times out mpd4 just won't reconnect..

Been there ..

 > This (mpd3.x) setup works flawlessly (without reconnection problems):
 > 
 > #mpd.conf
 > pppoe:
 > new -i ng0 pppoe PPPoE
 > set iface addrs 192.168.0.1 192.168.0.2
 > set iface route default
 > set iface disable on-demand
 > set iface idle 0
 > set bundle disable multilink
 > set bundle authname "secret"
 > set link no acfcomp protocomp
 > set link disable pap chap
 > set link accept chap
 > set link mtu 1492
 > set link keep-alive 10 60
 > set ipcp yes vjcomp
 > set ipcp ranges 0.0.0.0/0 0.0.0.0/0
 > open iface
 > 
 > #mpd.links
 > PPPoE:
 > set link type pppoe
 > set pppoe iface rl0
 > set pppoe service ""
 > set pppoe disable incoming
 > set pppoe enable originate
 > 
 > 
 > ## mpd4 --version
 > ## Version 4.3
 > # (no reconnect)
 > 
 > #mpd.conf
 > 
 > PPPoE:
 > # new PPPoE PPPoE
 > new -i ng0 PPPoE PPPoE
 > set iface route default
 > set iface disable on-demand
 > set iface idle 0
 > set ipcp yes vjcomp
 > set ipcp ranges 0.0.0.0/0 0.0.0.0/0
 > set bundle disable multilink
 > ## set bundle disable noretry

No, you need this one .. or at least, it's what worked for me.  From my
mpd.conf, with comments I added when I was also getting redial to work:

        # without, 'noretry' was ENABLED (so no redial!)
        set bundle disable noretry
and
        # without, 'Max redial:no redial' (-1); 0 = 'Max redial:unlimited'
        set link max-redial 0

 > set auth authname "secret"
 > set link no acfcomp protocomp
 > set link disable pap chap chap-msv1 chap-msv2 eap
 > set link accept chap-md5 chap
 > set link keep-alive 5 30
 > set link max-redial 0
 > open
 > 
 > #mpd.links
 > PPPoE:
 > set phys type pppoe
 > set pppoe iface rl0
 > # set pppoe service "whatever"
 > set pppoe disable incoming
 > set pppoe enable originate

[..]
 > Sep 24 20:43:53 secret mpd: [PPPoE] LCP: Down event
 > Sep 24 20:43:53 secret mpd: [PPPoE] LCP: state change Closed --> Initial
 > 
 > Thats it (the problem), after timeout no retry attempt is made !

Yep.

 > # quick fix:
 > Manual open command for bundle PPPoE

Yes, that works fine until you lose the link :)

 > I have made some attempts before but had no time to go in depth until now..
 > Settings I played with so far  although without any progress whatsoever are:
 > 
 > set bundle disable noretry    # dumped - no effect
 > set link max-redial 0            # default is -1 and 0 - redial indefinitely

Hmm, well 'set bundle disable noretry' is what worked for me here.  Are
you sure you restarted mpd afresh after changing that?  I recall having
found something in update/changelog notes regarding the default value
having changed for this, and after showing numerous values via console.

 > I'm kind of lost right now so any help would be appreciated..
 > And I do like mpd 4.x new features (ipv6cp etc) A LOT btw ;)

Here's my working mpd.conf; note that I'm still on mpd-4.1 though, fwiw,
otherwise it's little different from yours.

PPPoE:
        new bPPPoE lPPPoE
        set iface addrs 1.1.1.1 2.2.2.2
        set iface route default
        set iface disable on-demand
        set iface idle 0
        set iface up-script /root/bin/mpd_up
        set iface down-script /root/bin/mpd_dn
        # needed? seems so, t23 had trouble with large tcp pkts .. yep, fixes ..
        set iface enable tcpmssfix
        set bundle disable multilink
        # without, 'noretry' was ENABLED (so no redial!)
        set bundle disable noretry
        set auth authname "yeahright"
        set auth password "uhuh"
        set link no acfcomp protocomp
        set link disable pap chap
        set link accept chap
        set link mtu 1492
        set link keep-alive 10 60
        # without, 'Max redial:no redial' (-1); with, 'Max redial:unlimited'
        set link max-redial 0
        set ipcp yes vjcomp
        set ipcp ranges my.ipa.ddr.ess/0 220.233.0.0/16
# log dns servers as info anyway .. only passed to up-script, called as:
# up: script interface proto local-ip remote-ip authname [dns1 ip] [dns2 ip]
#     where 'dns1' and 'dns2' are LITERAL STRINGS $6 and $8 (dox need work!)
# dn: script interface proto authname
# later 6/3/7 which works, but we know these anyway .. ah why not ..
        set ipcp enable req-pri-dns
        set ipcp enable req-sec-dns
        open

mpd.links (note 'set link type' for 4.1, your 'set phys type' for 4.2)

lPPPoE:
        set link type pppoe
        set pppoe iface xe0
        set pppoe service ""
        set pppoe disable incoming
        set pppoe enable originate

Cheers, Ian




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.1070925121302.27440A-100000>