lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-users] Re: PPP disconnect problem


From: yueyue papa
Subject: [lwip-users] Re: PPP disconnect problem
Date: Fri, 6 Aug 2010 07:48:51 +0800

I found the problem:
 
void
pppLinkTerminated(int pd)
{
  PPPDEBUG(LOG_DEBUG, ("pppLinkTerminated: unit %d\n", pd));
#if PPPOE_SUPPORT
  if (pppControl[pd].ethif) {
    pppoe_disconnect(pppControl[pd].pppoe_sc);
  } else
#endif /* PPPOE_SUPPORT */
  {
#if PPPOS_SUPPORT
    PPPControl* pc;
    pppRecvWakeup(pd);
    pc = &pppControl[pd];
    pppDrop(&pc->rx); /* bug fix #17726 */  《===
 
Whether the pppDrop needs to call here?
 
The frame is dropped, but is process later.
 
In the log:
pppInput[0]: packet processed
I has not find the proper solution now.
 
Lee


On Thu, Aug 5, 2010 at 6:08 PM, yueyue papa <address@hidden> wrote:
Hi All,

I meet the PPP disconnect error in different task configuration.

If PPP task has higher priority, every thing is ok

########################
sifdown: unit 0: linkStatusCB=0x2013aabc errCode=-5
pppLinkStatusCallback: PPPERR_CONNECT
IPCP: lowerdown state 9 (LS_OPENED) -> 1 (LS_STARTING)
IPCP: close reason=LCP down state 1 (LS_STARTING) -> 0 (LS_INITIAL)
pppLinkDown: unit 0
pppRecvWakeup: unit 0
ppp_send_config[0]: outACCM=FF FF FF FF
ppp_recv_config[0]: inACCM=0 0 0 0
pppWrite[0]: len=29
fsm_sdata(LCP): Sent code 5,2,16.
LCP: close reason=User request state 9 (LS_OPENED) -> 4 (LS_CLOSING)
pppRecvWakeup: unit 0
pppInProc[0]: got 29 bytes
tcpip_thread: CALLBACK 0x201a0b08
pppInput[0]: LCP len=16
fsm_input(LCP):6,2,16
fsm_rtermack(LCP): state=4 (LS_CLOSING)
link_terminated: 0
Connection terminated.
pppLinkTerminated: unit 0
pppRecvWakeup: unit 0
pppLinkTerminated: unit 0: linkStatusCB=0x2013aabc errCode=-5
pppLinkStatusCallback: PPPERR_USER
pppLinkTerminated: finished.
pppInput[0]: packet processed
LOG_DEBUG |:SEND[ATH0
]

pppInProc[0]: got 14 bytes
LOG_DEBUG |:Re-Send[ATH0
]

LOG_DEBUG |:RECV[6]

LOG_DEBUG |:201d4ed0 : 0d 0a 4f 4b 0d 0a                                | ..OK.
####################################

If PPP task has lower  priority,  I meet the pbuf assert

#####################
pppClose() called
pppClose: unit 0 kill_link -> pppStop
pppStop: unit 0
link_down: 0
upap_lowerdown: 0 s=4
ipcp: down
np_down: 0 proto=21
sifdown: unit 0: linkStatusCB=0x2013aabc errCode=-5
pppLinkStatusCallback: PPPERR_CONNECT
IPCP: lowerdown state 9 (LS_OPENED) -> 1 (LS_STARTING)
IPCP: close reason=LCP down state 1 (LS_STARTING) -> 0 (LS_INITIAL)
pppLinkDown: unit 0
pppRecvWakeup: unit 0
ppp_send_config[0]: outACCM=FF FF FF FF
ppp_recv_config[0]: inACCM=0 0 0 0
pppWrite[0]: len=29
fsm_sdata(LCP): Sent code 5,2,16.
LCP: close reason=User request state 9 (LS_OPENED) -> 4 (LS_CLOSING)
pppRecvWakeup: unit 0
pppInProc[0]: got 29 bytes
tcpip_thread: CALLBACK 0x201a0b08
pppInput[0]: LCP len=16
fsm_input(LCP):6,2,16
fsm_rtermack(LCP): state=4 (LS_CLOSING)
link_terminated: 0
Connection terminated.
pppLinkTerminated: unit 0
pppRecvWakeup: unit 0
pppDrop: pbuf len=16, addr 0x201c60d4
pppLinkTerminated: unit 0: linkStatusCB=0x2013aabc errCode=-5
pppLinkStatusCallback: PPPERR_USER
pppLinkTerminated: finished.
pppInput[0]: packet processed
Assertion "pbuf_free: p->ref > 0" failed at line 566 in pbuf.c
############################

lwIP 1.3.2 no problem.

My version is an early   1.4.0 CVS version

Is there any hint for me ? 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]