buglwIP - A Lightweight TCP/IP stack - Bugs: bug #37614, Errors from ip_output (ipX_output)...

 
 

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

bug #37614: Errors from ip_output (ipX_output) are not processed

Submitted by:  Oleg Kovalev <r0pegig>
Submitted on:  Mon 22 Oct 2012 02:50:15 PM UTC  
 
Category: TCPSeverity: 3 - Normal
Item Group: Feature RequestStatus: Fixed
Privacy: PublicAssigned to: Simon Goldschmidt <goldsimon>
Open/Closed: ClosedPlanned Release: None
lwIP version: CVS Head

Tue 17 Feb 2015 07:03:47 AM UTC, comment #3:

Done. A netif driver can call tcp_txnow() (from tcpip_thread!) to try to send again if TX buffers are available again.

The netconn code has been fixed, too, like suggested in patch #8572.

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.
Tue 25 Feb 2014 09:03:31 PM UTC, comment #2:

I.e. TODO:
- when ip_output() reports an out-of-memory error, set a flag in the TCP PCB and stop sending next segments
- add a function that can be called by a netif driver to send more segments once a noticeable amount of buffers in the DMA queue are available again

This is not faulty behaviour but rather a feature request for improvement.

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.
Tue 15 Jan 2013 08:18:37 PM UTC, comment #1:

This is a known limitation. It is expected that TCP just retransmits the lost segments later.

However, the work (of transmitting more segments after the first failed) is of course not really necessary.

Plus we could retrigger transmissions if the driver notified us of free DMA entries...

... todo... :-)

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.
Mon 22 Oct 2012 02:50:15 PM UTC, original submission:

I have faced with this error when I was making an attempt to transmit a large buffer through TCP. The Blackfin driver implemented with a fixed number of output DMA descriptors (and this number is limited in any case). So when we try to output more data than the driver can process trailing packets will be lost. Driver returns an error ERR_MEM, ip_output_if_opt returns that error too, but tcp_output_segment (and other output TCP functions too) does not.
I have made patch for my project but my knowledge of LwIP is not enough for participating in development so I decide sent this bug report. I hope this will be helpful.

Oleg Kovalev <r0pegig>

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by goldsimon (Posted a comment)
  • -unavailable- added by r0pegig (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 7 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 17 Feb 2015 07:03:47 AM UTCgoldsimonStatusNone=>Fixed
      Assigned toNone=>goldsimon
      Open/ClosedOpen=>Closed
    Tue 17 Feb 2015 06:59:44 AM UTCgoldsimonSummaryErrors from ip_output (ipX_output) are not processing=>Errors from ip_output (ipX_output) are not processed
    Tue 17 Feb 2015 06:28:19 AM UTCgoldsimonPrivacyPrivate=>Public
    Tue 25 Feb 2014 09:03:31 PM UTCgoldsimonItem GroupFaulty Behaviour=>Feature Request
      Planned Release=>1.5.0

    Back to the top


    Powered by Savane 3.1-cleanup1