mpd reconenct issue with unisphere DSLAM

Bipin
2013-02-05
2015-01-16
1 2 > >> (Page 1 of 2)
  • Bipin

    Bipin - 2013-02-05

    this issue has been for a very long time now, i am using pfsense which uses mpd 5.6, im willing to pay to get this issue fixed on priority, the issue is since sept 2011 till date and many logs have also been posted on pfsense forum but the developers there say only mpd developers can fix this but some1 needs to reply here. i have 2 systems in 2 countries and both have the exact same issue and many more ppl suffer the same
    original thread
    http://forum.pfsense.org/index.php/topic,41061.0.html

     
  • Dmitry S. Luhtionov

    Do you can put your detailed log here?

     
  • Bipin

    Bipin - 2013-02-05

    in the traces we did earlier it was seen

    What I can see from that is that the PPPoE Server/BRAS is NOT aware that the session has been brought down. The modem has been reset at frame 528 i guess, where we can see a PADT. We have no LCP Termination request and Termination Ack, probably because the modem is booting at that time. Also that PADT probably never reached the PPPoE Server on the other side.

    So while the Firewall/PC is already aware that the session is down and trying to reestablish the PPPoE connection, the BRAS is not, having a zombie pppoe session active. We can see that in frame 588 and 649, because the BRAS is still sending LCP echos for the old session.

    So what? The BRAS or intermediate access-switches probably have some DDOS countermeasures configured, which allow only 1 session per mac (or modem or port or whatever), and because the session is still up, flood protection hoped in and the PADR is ignored.

     
  • Bipin

    Bipin - 2013-02-05

    the last log we took was this

    Nov 23 17:29:47 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:29:47 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout()
    Nov 23 17:29:47 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout() done
    Nov 23 17:29:47 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:29:57 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:29:57 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout()
    Nov 23 17:29:57 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout() done
    Nov 23 17:29:57 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:30:07 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:30:07 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout()
    Nov 23 17:30:07 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout() done
    Nov 23 17:30:07 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:30:17 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:30:17 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout()
    Nov 23 17:30:17 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout() done
    Nov 23 17:30:17 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:30:27 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:30:27 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout()
    Nov 23 17:30:27 ppp:  LCP: SendEchoReq #1
    Nov 23 17:30:27 ppp:  xmit bypass frame link=0 proto=0xc021
    Nov 23 17:30:27 ppp: 00 00 c0 21 09 01 00 08 0b 76 9e 5c …!…..v.\
    Nov 23 17:30:27 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout() done
    Nov 23 17:30:27 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:30:27 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:30:27 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout()
    Nov 23 17:30:27 ppp:  LCP: SendEchoReq #1
    Nov 23 17:30:27 ppp:  xmit bypass frame link=0 proto=0xc021
    Nov 23 17:30:27 ppp: 00 00 c0 21 09 01 00 08 0b 76 9e 5c …!…..v.\
    Nov 23 17:30:27 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout() done
    Nov 23 17:30:27 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:30:37 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:30:37 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout()
    Nov 23 17:30:37 ppp:  LCP: no reply to 1 echo request(s)
    Nov 23 17:30:37 ppp:  LCP: SendEchoReq #2
    Nov 23 17:30:37 ppp:  xmit bypass frame link=0 proto=0xc021
    Nov 23 17:30:37 ppp: 00 00 c0 21 09 02 00 08 0b 76 9e 5c …!…..v.\
    Nov 23 17:30:37 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout() done
    Nov 23 17:30:37 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:30:47 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:30:47 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout()
    Nov 23 17:30:47 ppp:  LCP: no reply to 2 echo request(s)
    Nov 23 17:30:47 ppp:  LCP: SendEchoReq #3
    Nov 23 17:30:47 ppp:  xmit bypass frame link=0 proto=0xc021
    Nov 23 17:30:47 ppp: 00 00 c0 21 09 03 00 08 0b 76 9e 5c …!…..v.\
    Nov 23 17:30:47 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout() done
    Nov 23 17:30:47 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:30:57 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:30:57 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout()
    Nov 23 17:30:57 ppp:  LCP: no reply to 3 echo request(s)
    Nov 23 17:30:57 ppp:  LCP: SendEchoReq #4
    Nov 23 17:30:57 ppp:  xmit bypass frame link=0 proto=0xc021
    Nov 23 17:30:57 ppp: 00 00 c0 21 09 04 00 08 0b 76 9e 5c …!…..v.\
    Nov 23 17:30:57 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout() done
    Nov 23 17:30:57 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:31:07 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:31:07 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout()
    Nov 23 17:31:07 ppp:  LCP: no reply to 4 echo request(s)
    Nov 23 17:31:07 ppp:  LCP: SendEchoReq #5
    Nov 23 17:31:07 ppp:  xmit bypass frame link=0 proto=0xc021
    Nov 23 17:31:07 ppp: 00 00 c0 21 09 05 00 08 0b 76 9e 5c …!…..v.\
    Nov 23 17:31:07 ppp: EVENT: Processing timer "FsmKeepAlive" FsmEchoTimeout() done
    Nov 23 17:31:07 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done

    Nov 23 17:31:23 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
    Nov 23 17:31:23 ppp:  LCP: Down event
    Nov 23 17:31:23 ppp:  LCP: state change Stopped -> Starting
    Nov 23 17:31:23 ppp:  LCP: phase shift ESTABLISH -> DEAD
    Nov 23 17:31:23 ppp: EVENT: Stopping timer "LCP" FsmTimeout() at fsm.c:190
    Nov 23 17:31:23 ppp:  LCP: LayerStart
    Nov 23 17:31:23 ppp:  Link: reconnection attempt 1 in 4 seconds
    Nov 23 17:31:23 ppp: EVENT: Processing event EVENT_READ PppoeCtrlReadEvent() done
    Nov 23 17:31:23 ppp: EVENT: Processing event EVENT_READ MsgEvent()
    Nov 23 17:31:23 ppp: EVENT: Message 2 to PhysMsg() received
    Nov 23 17:31:23 ppp:  device: CLOSE event
    Nov 23 17:31:23 ppp: EVENT: Message 2 to PhysMsg() processed
    Nov 23 17:31:23 ppp: EVENT: Processing event EVENT_READ MsgEvent() done
    Nov 23 17:31:27 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:31:27 ppp: EVENT: Processing timer "PhysOpen" LinkReopenTimeout()
    Nov 23 17:31:27 ppp:  Link: reconnection attempt 1
    Nov 23 17:31:27 ppp: EVENT: Message 1 to PhysMsg() sent
    Nov 23 17:31:27 ppp: EVENT: Processing timer "PhysOpen" LinkReopenTimeout() done
    Nov 23 17:31:27 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:31:27 ppp: EVENT: Processing event EVENT_READ MsgEvent()
    Nov 23 17:31:27 ppp: EVENT: Message 1 to PhysMsg() received
    Nov 23 17:31:27 ppp:  device: OPEN event
    Nov 23 17:31:27 ppp:  PPPoE: Connecting to ''
    Nov 23 17:31:27 ppp: EVENT: Starting timer "PPPoE-connect" PppoeConnectTimeout() for 9000 ms at pppoe.c:342
    Nov 23 17:31:27 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
    Nov 23 17:31:27 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
    Nov 23 17:31:27 ppp: EVENT: Message 1 to PhysMsg() processed
    Nov 23 17:31:27 ppp: EVENT: Processing event EVENT_READ MsgEvent() done
    Nov 23 17:31:36 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:31:36 ppp: EVENT: Processing timer "PPPoE-connect" PppoeConnectTimeout()
    Nov 23 17:31:36 ppp:  PPPoE connection timeout after 9 seconds
    Nov 23 17:31:36 ppp: EVENT: Stopping timer "PPPoE-connect" PppoeConnectTimeout() at pppoe.c:424
    Nov 23 17:31:36 ppp:  device: DOWN event
    Nov 23 17:31:36 ppp:  Link: DOWN event
    Nov 23 17:31:36 ppp: EVENT: Stopping timer "PhysOpen" LinkReopenTimeout() at link.c:274
    Nov 23 17:31:36 ppp: EVENT: Starting timer "PhysOpen" LinkReopenTimeout() for 4000 ms at link.c:277
    Nov 23 17:31:36 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
    Nov 23 17:31:36 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
    Nov 23 17:31:36 ppp:  LCP: Down event
    Nov 23 17:31:36 ppp:  Link: reconnection attempt 2 in 4 seconds
    Nov 23 17:31:36 ppp: EVENT: Processing timer "PPPoE-connect" PppoeConnectTimeout() done
    Nov 23 17:31:36 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:31:36 ppp: EVENT: Processing event EVENT_READ PppoeCtrlReadEvent()
    Nov 23 17:31:36 ppp: EVENT: Processing event EVENT_READ PppoeCtrlReadEvent() done
    Nov 23 17:31:40 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:31:40 ppp: EVENT: Processing timer "PhysOpen" LinkReopenTimeout()
    Nov 23 17:31:40 ppp:  Link: reconnection attempt 2
    Nov 23 17:31:40 ppp: EVENT: Message 1 to PhysMsg() sent
    Nov 23 17:31:40 ppp: EVENT: Processing timer "PhysOpen" LinkReopenTimeout() done
    Nov 23 17:31:40 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:31:40 ppp: EVENT: Processing event EVENT_READ MsgEvent()
    Nov 23 17:31:40 ppp: EVENT: Message 1 to PhysMsg() received
    Nov 23 17:31:40 ppp:  device: OPEN event
    Nov 23 17:31:40 ppp:  PPPoE: Connecting to ''
    Nov 23 17:31:40 ppp: EVENT: Starting timer "PPPoE-connect" PppoeConnectTimeout() for 9000 ms at pppoe.c:342
    Nov 23 17:31:40 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
    Nov 23 17:31:40 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
    Nov 23 17:31:40 ppp: EVENT: Message 1 to PhysMsg() processed
    Nov 23 17:31:40 ppp: EVENT: Processing event EVENT_READ MsgEvent() done
    Nov 23 17:31:49 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:31:49 ppp: EVENT: Processing timer "PPPoE-connect" PppoeConnectTimeout()
    Nov 23 17:31:49 ppp:  PPPoE connection timeout after 9 seconds
    Nov 23 17:31:49 ppp: EVENT: Stopping timer "PPPoE-connect" PppoeConnectTimeout() at pppoe.c:424
    Nov 23 17:31:49 ppp:  device: DOWN event
    Nov 23 17:31:49 ppp:  Link: DOWN event
    Nov 23 17:31:49 ppp: EVENT: Stopping timer "PhysOpen" LinkReopenTimeout() at link.c:274
    Nov 23 17:31:49 ppp: EVENT: Starting timer "PhysOpen" LinkReopenTimeout() for 1000 ms at link.c:277
    Nov 23 17:31:49 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
    Nov 23 17:31:49 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
    Nov 23 17:31:49 ppp:  LCP: Down event
    Nov 23 17:31:49 ppp:  Link: reconnection attempt 3 in 1 seconds
    Nov 23 17:31:49 ppp: EVENT: Processing timer "PPPoE-connect" PppoeConnectTimeout() done
    Nov 23 17:31:49 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:31:49 ppp: EVENT: Processing event EVENT_READ PppoeCtrlReadEvent()
    Nov 23 17:31:49 ppp: EVENT: Processing event EVENT_READ PppoeCtrlReadEvent() done

    Nov 23 17:32:01 ppp:  Link: reconnection attempt 4
    Nov 23 17:32:01 ppp: EVENT: Message 1 to PhysMsg() sent
    Nov 23 17:32:01 ppp: EVENT: Processing timer "PhysOpen" LinkReopenTimeout() done
    Nov 23 17:32:01 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:32:01 ppp: EVENT: Processing event EVENT_READ MsgEvent()
    Nov 23 17:32:01 ppp: EVENT: Message 1 to PhysMsg() received
    Nov 23 17:32:01 ppp:  device: OPEN event
    Nov 23 17:32:01 ppp:  PPPoE: Connecting to ''
    Nov 23 17:32:01 ppp: EVENT: Starting timer "PPPoE-connect" PppoeConnectTimeout() for 9000 ms at pppoe.c:342
    Nov 23 17:32:01 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
    Nov 23 17:32:01 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
    Nov 23 17:32:01 ppp: EVENT: Message 1 to PhysMsg() processed
    Nov 23 17:32:01 ppp: EVENT: Processing event EVENT_READ MsgEvent() done
    Nov 23 17:32:10 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:32:10 ppp: EVENT: Processing timer "PPPoE-connect" PppoeConnectTimeout()
    Nov 23 17:32:10 ppp:  PPPoE connection timeout after 9 seconds
    Nov 23 17:32:10 ppp: EVENT: Stopping timer "PPPoE-connect" PppoeConnectTimeout() at pppoe.c:424
    Nov 23 17:32:10 ppp:  device: DOWN event
    Nov 23 17:32:10 ppp:  Link: DOWN event
    Nov 23 17:32:10 ppp: EVENT: Stopping timer "PhysOpen" LinkReopenTimeout() at link.c:274
    Nov 23 17:32:10 ppp: EVENT: Starting timer "PhysOpen" LinkReopenTimeout() for 3000 ms at link.c:277
    Nov 23 17:32:10 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
    Nov 23 17:32:10 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
    Nov 23 17:32:10 ppp:  LCP: Down event
    Nov 23 17:32:10 ppp:  Link: reconnection attempt 5 in 3 seconds
    Nov 23 17:32:10 ppp: EVENT: Processing timer "PPPoE-connect" PppoeConnectTimeout() done
    Nov 23 17:32:10 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:32:10 ppp: EVENT: Processing event EVENT_READ PppoeCtrlReadEvent()
    Nov 23 17:32:10 ppp: EVENT: Processing event EVENT_READ PppoeCtrlReadEvent() done
    Nov 23 17:32:13 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:32:13 ppp: EVENT: Processing timer "PhysOpen" LinkReopenTimeout()
    Nov 23 17:32:13 ppp:  Link: reconnection attempt 5
    Nov 23 17:32:13 ppp: EVENT: Message 1 to PhysMsg() sent
    Nov 23 17:32:13 ppp: EVENT: Processing timer "PhysOpen" LinkReopenTimeout() done
    Nov 23 17:32:13 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:32:13 ppp: EVENT: Processing event EVENT_READ MsgEvent()
    Nov 23 17:32:13 ppp: EVENT: Message 1 to PhysMsg() received
    Nov 23 17:32:13 ppp:  device: OPEN event
    Nov 23 17:32:13 ppp:  PPPoE: Connecting to ''
    Nov 23 17:32:13 ppp: EVENT: Starting timer "PPPoE-connect" PppoeConnectTimeout() for 9000 ms at pppoe.c:342
    Nov 23 17:32:13 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
    Nov 23 17:32:13 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
    Nov 23 17:32:13 ppp: EVENT: Message 1 to PhysMsg() processed
    Nov 23 17:32:13 ppp: EVENT: Processing event EVENT_READ MsgEvent() done
    Nov 23 17:32:22 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:32:22 ppp: EVENT: Processing timer "PPPoE-connect" PppoeConnectTimeout()
    Nov 23 17:32:22 ppp:  PPPoE connection timeout after 9 seconds
    Nov 23 17:32:22 ppp: EVENT: Stopping timer "PPPoE-connect" PppoeConnectTimeout() at pppoe.c:424
    Nov 23 17:32:22 ppp:  device: DOWN event
    Nov 23 17:32:22 ppp:  Link: DOWN event
    Nov 23 17:32:22 ppp: EVENT: Stopping timer "PhysOpen" LinkReopenTimeout() at link.c:274
    Nov 23 17:32:22 ppp: EVENT: Starting timer "PhysOpen" LinkReopenTimeout() for 1000 ms at link.c:277
    Nov 23 17:32:22 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
    Nov 23 17:32:22 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
    Nov 23 17:32:22 ppp:  LCP: Down event
    Nov 23 17:32:22 ppp:  Link: reconnection attempt 6 in 1 seconds
    Nov 23 17:32:22 ppp: EVENT: Processing timer "PPPoE-connect" PppoeConnectTimeout() done
    Nov 23 17:32:22 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:32:22 ppp: EVENT: Processing event EVENT_READ PppoeCtrlReadEvent()
    Nov 23 17:32:22 ppp: EVENT: Processing event EVENT_READ PppoeCtrlReadEvent() done
    Nov 23 17:32:23 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires()
    Nov 23 17:32:23 ppp: EVENT: Processing timer "PhysOpen" LinkReopenTimeout()
    Nov 23 17:32:23 ppp:  Link: reconnection attempt 6
    Nov 23 17:32:23 ppp: EVENT: Message 1 to PhysMsg() sent
    Nov 23 17:32:23 ppp: EVENT: Processing timer "PhysOpen" LinkReopenTimeout() done
    Nov 23 17:32:23 ppp: EVENT: Processing event EVENT_TIMEOUT TimerExpires() done
    Nov 23 17:32:23 ppp: EVENT: Processing event EVENT_READ MsgEvent()
    Nov 23 17:32:23 ppp: EVENT: Message 1 to PhysMsg() received
    Nov 23 17:32:23 ppp:  device: OPEN event
    Nov 23 17:32:23 ppp:  PPPoE: Connecting to ''
    Nov 23 17:32:23 ppp: EVENT: Starting timer "PPPoE-connect" PppoeConnectTimeout() for 9000 ms at pppoe.c:342
    Nov 23 17:32:23 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() at timer.c:50
    Nov 23 17:32:23 ppp: EVENT: Registering event EVENT_TIMEOUT TimerExpires() done at timer.c:50
    Nov 23 17:32:23 ppp: EVENT: Message 1 to PhysMsg() processed
    Nov 23 17:32:23 ppp: EVENT: Processing event EVENT_READ MsgEvent() done

     
  • Bipin

    Bipin - 2013-02-05

    the above situation occurs when the isp modem which works in bridge modem is reset or there is power failure in which case mpd sends a PADT but this never reaches the BRAS so for it the old connection is still active so it doesnt allow a fresh connection and ignore those packets. one solution would be that once link is active again, send out a PADT from the old session first and then initiate a new connection which should work fine then as any old connection would be killed at BRAS and if it never was there it would ignore it so no harm but in return this reconnect issue would get solved. i tried this in 2 different countries with different isp and both use unisphere BRAS which have this protection enabled which allow only one session at a time to prevent DDOS and also misuse

     
  • Bipin

    Bipin - 2013-02-06

    plz let me know if u need any more packet traces

     
  • Eugene Grosbein

    Eugene Grosbein - 2013-02-12

    xbipin, you just need to double number of your keepalive requests so PADT not sent before your DSL link revives. You have 5 now, change to 10 or 20.

     
  • Eugene Grosbein

    Eugene Grosbein - 2013-02-12

    I mean, change your 'set link keep-alive' timeouts to larger values so your mpd connection would not drop during modem reboot/relink:

    set link keep-alive 10 120
    or
    set link keep-alive 10 240

     
  • Bipin

    Bipin - 2013-02-12

    ill try that but isnt that simply a temporary solution coz if the isp modem goes down for longer than that then wouldnt it end up in same issue?

     
  • Eugene Grosbein

    Eugene Grosbein - 2013-02-12

    You should tune timeouts for your needs. This will delay PADT - that is what you ask for. And yes, this it temporary solution. Permanent solution is to bother your PPPoE provider to enable keepalives at his side to comply with RFC 2516 that says:

       It is RECOMMENDED that the Access Concentrator ocassionally send
       Echo-Request packets to the Host to determine the state of the
       session.  Otherwise, if the Host terminates a session without sending
       a Terminate-Request packet, the Access Concentrator will not be able
       to determine that the session has gone away.

    http://www.ietf.org/rfc/rfc2516.txt

     
  • Bipin

    Bipin - 2013-02-12

    i tried it, set it to 240 and reset the modem and it booted in time before mpd would send the PADT but still its not able to continue the connection and eventually after that 240 it gives up, log is what i get below and wont reconnect until i reboot the pfsense box

    Feb 12 19:09:12 ppp:  LCP: no reply to 1 echo request(s)
    Feb 12 19:09:22 ppp:  LCP: no reply to 2 echo request(s)
    Feb 12 19:09:32 ppp:  LCP: no reply to 3 echo request(s)
    Feb 12 19:09:42 ppp:  LCP: no reply to 4 echo request(s)
    Feb 12 19:09:52 ppp:  LCP: no reply to 5 echo request(s)
    Feb 12 19:10:02 ppp:  LCP: no reply to 6 echo request(s)
    Feb 12 19:10:12 ppp:  LCP: no reply to 7 echo request(s)
    Feb 12 19:10:22 ppp:  LCP: no reply to 8 echo request(s)
    Feb 12 19:10:32 ppp:  LCP: no reply to 9 echo request(s)
    Feb 12 19:10:42 ppp:  LCP: no reply to 10 echo request(s)
    Feb 12 19:11:12 ppp:  LCP: no reply to 13 echo request(s)
    Feb 12 19:11:22 ppp:  LCP: no reply to 14 echo request(s)
    Feb 12 19:11:32 ppp:  LCP: no reply to 15 echo request(s)
    Feb 12 19:11:42 ppp:  LCP: no reply to 16 echo request(s)
    Feb 12 19:11:52 ppp:  LCP: no reply to 17 echo request(s)
    Feb 12 19:12:02 ppp:  LCP: no reply to 18 echo request(s)
    Feb 12 19:12:13 ppp:  LCP: no reply to 19 echo request(s)
    Feb 12 19:12:23 ppp:  LCP: no reply to 20 echo request(s)
    Feb 12 19:12:33 ppp:  LCP: no reply to 21 echo request(s)
    Feb 12 19:12:43 ppp:  LCP: no reply to 22 echo request(s)
    Feb 12 19:12:53 ppp:  LCP: no reply to 23 echo request(s)
    Feb 12 19:12:53 ppp:  LCP: peer not responding to echo requests
    Feb 12 19:12:53 ppp:  LCP: state change Opened -> Stopping
    Feb 12 19:12:53 ppp:  Link: Leave bundle "wan"
    Feb 12 19:12:53 ppp:  Bundle: Status update: up 0 links, total bandwidth 9600 bps
    Feb 12 19:12:53 ppp:  IPCP: Close event
    Feb 12 19:12:53 ppp:  IPCP: state change Opened -> Closing
    Feb 12 19:12:53 ppp:  IPCP: SendTerminateReq #4
    Feb 12 19:12:53 ppp:  IPCP: LayerDown
    Feb 12 19:12:53 ppp:  IFACE: Delete route 0.0.0.0/0 195.229.252.27 failed: No such process
    Feb 12 19:12:53 ppp:  IFACE: Down event
    Feb 12 19:12:53 ppp:  IFACE: Rename interface pppoe0 to pppoe0
    Feb 12 19:12:53 ppp:  IPV6CP: Close event
    Feb 12 19:12:53 ppp:  IPV6CP: state change Stopped -> Closed
    Feb 12 19:12:53 ppp:  IPCP: Down event
    Feb 12 19:12:53 ppp:  IPCP: LayerFinish
    Feb 12 19:12:53 ppp:  Bundle: No NCPs left. Closing links…
    Feb 12 19:12:53 ppp:  IPCP: state change Closing -> Initial
    Feb 12 19:12:53 ppp:  IPV6CP: Down event
    Feb 12 19:12:53 ppp:  IPV6CP: state change Closed -> Initial
    Feb 12 19:12:53 ppp:  LCP: SendTerminateReq #2
    Feb 12 19:12:53 ppp:  LCP: LayerDown
    Feb 12 19:12:55 ppp:  LCP: SendTerminateReq #3
    Feb 12 19:12:57 ppp:  LCP: state change Stopping -> Stopped
    Feb 12 19:12:57 ppp:  LCP: LayerFinish
    Feb 12 19:12:57 ppp:  PPPoE: connection closed
    Feb 12 19:12:57 ppp:  Link: DOWN event
    Feb 12 19:12:57 ppp:  LCP: Down event
    Feb 12 19:12:57 ppp:  LCP: state change Stopped -> Starting
    Feb 12 19:12:57 ppp:  LCP: LayerStart
    Feb 12 19:12:57 ppp:  Link: reconnection attempt 1 in 2 seconds
    Feb 12 19:12:59 ppp:  Link: reconnection attempt 1
    Feb 12 19:12:59 ppp:  PPPoE: Connecting to ''
    Feb 12 19:13:08 ppp:  PPPoE connection timeout after 9 seconds
    Feb 12 19:13:08 ppp:  Link: DOWN event
    Feb 12 19:13:08 ppp:  LCP: Down event
    Feb 12 19:13:08 ppp:  Link: reconnection attempt 2 in 4 seconds
    Feb 12 19:13:12 ppp:  Link: reconnection attempt 2
    Feb 12 19:13:12 ppp:  PPPoE: Connecting to ''

     
  • Alexander Motin

    Alexander Motin - 2013-02-12

    I agree with dadv. Server should not completely depend on client behavior, especially if that behavior is not described in any standard. Client can just power-cycle and never send disconnect request or PADT at all.

     
  • Bipin

    Bipin - 2013-02-12

    should i get a packet capture on the interface after applying 240 for keep alive to reveal what actually is happening?

    the main thing is any cheap router in the market connects just fine in all situations including modem reset, power off, cable unplug etc. it simply renegotiates a new connection if any of the situation occurs

     
  • Bipin

    Bipin - 2013-02-12

    i tried to get a packet capture without a switch in between the isp modem and my pfsense box so the packet log stops once the modem is reset as there is a link loss on the interface and it goes down so ill get a proper packet capture with a switch in between so the interface doesn't die, by tomorrow

     
  • Eugene Grosbein

    Eugene Grosbein - 2013-02-12

    I believe that your last attempt and its log prove that your problem has no concern of PADT frame being lost.

    Feb 12 19:12:53 ppp:  IFACE: Rename interface pppoe0 to pppoe0

    This line makes be believe your mpd config has 'set iface name' command that's supported in mpd-5.6 version only (5.5 had not it). There were some reports that interface renaming may have some ill side effects. Can you comment it out and retry your "240 seconds" test again, without "set iface name" in the config?

     
  • Bipin

    Bipin - 2013-02-12

    mpd config looks like this

    startup:
    # configure the console
    set console close
    # configure the web server
    set web close

    default:
    pppoeclient:
    create bundle static wan
    set bundle enable ipv6cp
    set iface name pppoe0
    set iface route default
    set iface enable on-demand
    set iface idle 0
    set iface addrs 10.10.1.1 10.10.1.2
    set iface enable tcpmssfix
    set iface up-script /usr/local/sbin/ppp-linkup
    set iface down-script /usr/local/sbin/ppp-linkdown
    set ipcp ranges 0.0.0.0/0 0.0.0.0/0
    #log -bund -ccp -chat -iface -ipcp -lcp -link

    create link static wan_link0 pppoe
    set link action bundle wan
    set link disable multilink
    set link keep-alive 10 240
    set link max-redial 0
    set link disable chap pap
    set link accept chap pap eap
    set link disable incoming
    set link mtu 1492
    set auth authname "username"
    set auth password password
    set pppoe service ""
    set pppoe iface vr1
    open

     
  • Bipin

    Bipin - 2013-02-12

    i hope commenting that out doesnt break anything else, anyways ill give it a try and report back to the earliest

     
  • Eugene Grosbein

    Eugene Grosbein - 2013-02-12

    Anyway, you always have "final resort": disable mpd's own auto-reconnection (set link max-redial -1) and enable its "one-shot" mode: instead of default "mpd5 -b", run is as "mpd5 -o". This way it will not go background and will terminate after first disconnection. So, you can make /sbin/init process to (re)start mpd with its /etc/ttys file. Add this line to /etc/ttys:

    null    "/usr/local/etc/mpd5/mpd5_init"         unknown on secure

    And create "/usr/local/etc/mpd5/mpd5_init" executable script having one line:

    exec /usr/local/sbin/mpd5 -o -p /var/run/mpd5.pid

    And disable your "normal" mpd invocation as /sbin/init will run it now. If it is really mpd's fault so that it cannot make reconnection reliable, this way will help you performing complete mpd process restart after every reconnection instead of complete system reboot.

     
  • Bipin

    Bipin - 2013-02-13

    commenting out set iface name pppoe0 didnt help, same situation and i guess running mpd with -b or -o wont help coz in pfsense there is a connect button on clicking which it anyways kills the mpd instance completely and start a new one and make that connect and that too doesnt seem to work.

    let me get u a packet capture with a switch in between to know y it doesn't reconnect until reboot

     
  • Eugene Grosbein

    Eugene Grosbein - 2013-02-13

    If mpd restart does not help and that's not PADT problem, then you have kernel problem. What FreeBSD version is your pfense based on?

     
  • Bipin

    Bipin - 2013-02-13

    pfsense developers replied the below:

    Its not an mpd issue it is a netgraph issue.

    For the mpd developers tell them that seems ng_ether has this issues with attaching/detaching interfaces or ng_iface.
    Though there are some patches specifc to pfSense that might be needed to be tested as well.

     
  • Bipin

    Bipin - 2013-02-13

    actually i connected a switch in between and increase that keep alive to 240 and tried and connection used to continue when modem was up again and also setting it to a lower value of 60, it would connect but after a while or when mpd process was killed and recreated

     
  • Bipin

    Bipin - 2013-02-13

    FreeBSD 8.3-RELEASE-p5

     
  • Eugene Grosbein

    Eugene Grosbein - 2013-02-13

    Why was mpd killed?

     
  • Eugene Grosbein

    Eugene Grosbein - 2013-02-13

    And what those pfSense-specific patches are?
    I personally run mpd as PPPoE client using stock FreeBSD 8.3-STABLE and vr1 interface at home and have no netgraph-related problems with it.

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks