buglwIP - A Lightweight TCP/IP stack - Bugs: bug #37279, [ppp-new] pppapi_close() can not...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #37279: [ppp-new] pppapi_close() can not close ppp

Submitter:  hanhui <hanhui03>
Submitted:  Thu 06 Sep 2012 01:37:09 AM UTC
   
 
Category:  None Severity:  2 - Minor
Item Group:  Faulty Behaviour Status:  Fixed
Privacy:  Public Assigned to:  gradator
Open/Closed:  Closed Planned Release:  None
lwIP version:  CVS Head

Fri 12 Oct 2012 06:34:32 PM UTC, comment #4: 

Persist mode is now not the default anymore, so the default behavior does not look like a buggy behavior.

Fixed.

Sylvain Rochet <gradator>
Group Member
Tue 18 Sep 2012 08:47:04 PM UTC, comment #3: 

Ok, now I understand.

This is not a bug, but actually a feature. In order to get a timeout during the first step of initiating a session, you have to disable persist mode, by using:

pcb->settings.persist = 0; after having called ppp_new();

This way, PPPoE will timeout after a few unresponded PADI packet but you will lost the exponential backoff feature.

Sylvain Rochet <gradator>
Group Member
Fri 14 Sep 2012 06:26:38 PM UTC, comment #2: 

You can test it, If we create a PPPoE connection to a server, but the remote server is not exist, so this PPPoE connection will never be established. and quickly (there was no timeout occur) I called pppapi_close(), the pcb->phase will never goto PHASE_DEAD

hanhui <hanhui03>
Thu 06 Sep 2012 08:52:41 AM UTC, comment #1: 

This is strange.

If remote node stopped responding during configuration process, LCP should timeout due to non answered LCP Config-Request and leave the session in PHASE_DEAD. If remote node stopped responding after configuration process is done, it should timeout due to non answered LCP echo request if you configured lwIP to do LCP echo. If remote node stopped responding and you called ppp_close(), LCP should timeout due to non answered LCP Termination-Request.

In all cases, a dead or closed session should end up in the dead phase, else there is a bug.

Could you provide a trace of the buggy behavior using PPP DEBUG and PRINTPKT trace ?

Sylvain Rochet <gradator>
Group Member
Thu 06 Sep 2012 01:37:09 AM UTC, original submission:  

Hi
  I use pppapi_close() to close a ppp, But if remote node is not responding, I can't remove this ppp connect, because pcb->phase != PHASE_DEAD!

  hanhui

hanhui <hanhui03>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by gradator (Posted a comment)
  • -email is unavailable- added by hanhui03 (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2012-10-12 gradator Severity3 - Normal 2 - Minor
        StatusNeed Info Fixed
        Open/ClosedOpen Closed
    2012-09-06 gradator StatusNone Need Info
        Assigned toNone gradator

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code