History log of /seL4-camkes-master/projects/lwip/src/core/pbuf.c
Revision Date Author Comments
# 0985e925 17-Jul-2018 Dirk Ziegelmeier <dziegelmeier@de.pepperl-fuchs.com>

Fix bug #54327: V2.1.0rc1 pbuf.c misses stdint.h include

... without reformatting the document (clang-format)


# cffb5cc0 17-Jul-2018 Dirk Ziegelmeier <dziegelmeier@de.pepperl-fuchs.com>

Revert "Fix bug #54327: V2.1.0rc1 pbuf.c misses stdint.h include"

This reverts commit 4e74421dac26f2646200b96d5f493982da522ef1.


# 4e74421d 17-Jul-2018 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix bug #54327: V2.1.0rc1 pbuf.c misses stdint.h include


# a73eb7ae 16-Nov-2017 goldsimon <goldsimon@gmx.de>

pbuf.c: fix that pbuf_skip_const() was not prototyped for some configurations


# a8acca59 06-Nov-2017 Axel Lin <axel.lin@ingics.com>

Trivial typo fix

s/chekc/check/g

Signed-off-by: Axel Lin <axel.lin@ingics.com>


# 41cf4012 26-Oct-2017 Axel Lin <axel.lin@ingics.com>

pbuf: Simplify pbuf_get_contiguous implementation

Use pbuf_skip_const() to simplify the implementation.

Signed-off-by: Axel Lin <axel.lin@ingics.com>


# c1efb9e2 29-Oct-2017 Axel Lin <axel.lin@ingics.com>

pbuf: Make pbuf_add_header/pbuf_remove_header return error if invalid parameters

It does not make sense to return success in p == NULL or
invalid header_size_increment/header_size_decrement cases. Fix it.

Signed-off-by: Axel Lin <axel.lin@ingics.com>


# 08ec2341 28-Oct-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Related to patch #9471: pbuf: Drop casting to u8_t for increment the reference count
Cast to correct type: Needed to avoid warnings about integer cast (-Wconversion)
SYS_ARCH_SET cannot be used here


# de531131 07-Oct-2017 Joel Cunningham <joel.cunningham@me.com>

Fix compiler warnings seen with clang 8.1.0 on MacOS

This fixes the following warnings:

test_tcp.c:266:5: error: code will never be executed [-Werror,-Wunreachable-code]
    pbuf_free(p);
    ^~~~~~~~~
- The check API 'fail' aborts the test, thus pbuf_free(p) will never be executed

pbuf.c:783:111: error: format specifies type 'unsigned short' but the argument has type 'u8_t' (aka 'unsigned char') [-Werror,-Wformat]
      LWIP_DEBUGF( PBUF_DEBUG | LWIP_DBG_TRACE, ("pbuf_free: %p has ref %"U16_F", ending here.\n", (void *)p, ref));
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
- LWIP_PBUF_REF_T is u8_t by default and doesn't match U16_F, so cast to u16_t. The cast and formatter will need to be changed
if ref is larger than 16 bits

ethernet.c:105:16: error: format specifies type 'unsigned char' but the argument has type 'unsigned int' [-Werror,-Wformat]
               (unsigned)ethhdr->dest.addr[0], (unsigned)ethhdr->dest.addr[1], (unsigned)ethhdr->dest.addr[2],
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- addr[] is type u8_t, formatter is X8_F which should be 8 bits. 'unsigned' is an int, so cast to unsighed char instead


# 931b5e64 17-Sep-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Reformat core code using astylerc


# bd8709bc 21-Aug-2017 goldsimon <goldsimon@gmx.de>

Simplify pbuf_remove_header() a bit


# 3c539840 21-Aug-2017 goldsimon <goldsimon@gmx.de>

fix pbuf_split_64k() for zero-length pbufs


# 991f7513 08-Aug-2017 goldsimon <goldsimon@gmx.de>

Even more pbuf_header -> pbuf_add/remove_header replacements (also in strings)


# 07434aa7 08-Aug-2017 goldsimon <goldsimon@gmx.de>

More pbuf_header -> pbuf_add/remove_header replacements


# ae7c76c7 07-Aug-2017 goldsimon <goldsimon@gmx.de>

Rework pbuf_add_header_impl to only modify the pbuf after all checks passed


# 6209c8d3 07-Aug-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix bug #51686: pbuf_remove_header: silence unused variable warning
but in another way than the provided patch


# 65ac160e 04-Aug-2017 goldsimon <goldsimon@gmx.de>

Wconversion-related cleanup: split pbuf_header(s16_t) into pbuf_add_header(size_t) and pbuf_remove_header(size_t)

The new functions both take size_t as increment/decrement argument instead of s16_t (which needed to be range-checked before conversion everywhere) - in most places, the direction (increment or decrement) is known anyway, so no need to encode it in a sign bit


# 449eb64f 10-Jul-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix my last commit - break is missing


# 57b14712 10-Jul-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Avoid return in case statement, makes function control flow equal to other case statement paths


# 9130d37d 10-Jul-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Add "fall through" statement to Axel's patch


# 6f28a874 06-Jul-2017 Axel Lin <axel.lin@ingics.com>

pbuf: Simplify pbuf_alloc a bit

No need to have additional if statement for PBUF_REF/PBUF_ROM.
It can be merged to the existing swtich(type) cases.

Signed-off-by: Axel Lin <axel.lin@ingics.com>


# debf34ff 04-Jul-2017 goldsimon <goldsimon@gmx.de>

work on -Wconversion...


# 2b2fa0ed 04-Jul-2017 goldsimon <goldsimon@gmx.de>

Ensure SACKs are deleted when pbuf_free_ooseq() frees ooseq pbufs (because of memory shortage)


# c6360723 29-Jun-2017 goldsimon <goldsimon@gmx.de>

pbuf.c: work on -Wconversion...


# d02a73c2 22-Jun-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Replace usages of tcpip_callback_with_block(foo, bar, 0) with tcpip_try_callback()


# 79d69ce5 21-Jun-2017 goldsimon <goldsimon@gmx.de>

Slightly optimize pbuf_alloc: encode 'header offset' in 'enum pbuf_layer' instead of switch/case (which was duplicated in pbuf_alloc and pbuf_alloced_custom)


# 67d19700 14-Jun-2017 goldsimon <goldsimon@gmx.de>

pbuf_alloced_custom(): less code duplication, please :-)


# d5cdb916 13-Jun-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix compile of Axel Lin's patch


# 6b4cc984 31-May-2017 Axel Lin <axel.lin@ingics.com>

pbuf: Allow pass flags to pbuf_init_alloced_pbuf()

Then we can reuse pbuf_init_alloced_pbuf() in pbuf_alloced_custom().

Signed-off-by: Axel Lin <axel.lin@ingics.com>


# 3aca7885 31-May-2017 Axel Lin <axel.lin@ingics.com>

pbuf: Init pbuf if_idx to NETIF_NO_INDEX in pbuf_alloced_custom

Otherwise the p->pbuf.if_idx is uninitialized.

Signed-off-by: Axel Lin <axel.lin@ingics.com>


# cbbfb135 24-May-2017 Axel Lin <axel.lin@ingics.com>

pbuf: Make pbuf_init_alloced_pbuf take pbuf_type instead of u8_t for type parameter

All callers pass pbuf_type to pbuf_init_alloced_pbuf(), so make it take
pbuf_type instead of u8_t.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: goldsimon <goldsimon@gmx.de>


# 356da76c 22-May-2017 goldsimon <goldsimon@gmx.de>

Work on bug #3031/task #7896: change pbuf->type/enum pbuf_type to be more generic (see UPGRADING)


# 7defe372 03-May-2017 goldsimon <goldsimon@gmx.de>

fixed compiling pbuf.c with LWIP_TCP==0


# c144e5b1 29-Apr-2017 Axel Lin <axel.lin@ingics.com>

pbuf_coalesce: Replace pbuf_alloc+pbuf_copy with pbuf_clone

Avoid duplicate the same implementation.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: goldsimon <goldsimon@gmx.de>


# 20fed632 28-Apr-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Add custom pbuf usage example to pbuf_alloced_custom() docs


# a09a8e4a 26-Apr-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Some documentation updates and fixes
Dedicated Zero-copy RX page
Fix doxygen warnings


# 4c9b316e 26-Apr-2017 Axel Lin <axel.lin@ingics.com>

pbuf: Fix allocate zero length pbuf

Current code fails to allocate zero length pbuf (e.g. for PBUF_RAW PBUF_POOL),
fix it.

Fixes: eb269e61b5d3 ("First step to clean up pbuf implementation: add pbuf_alloc_reference() to allocate pbufs referencing external payload; move member initialization to common function; simplify PBUF_POOL chain allocator")
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: goldsimon <goldsimon@gmx.de>


# eb269e61 25-Apr-2017 goldsimon <goldsimon@gmx.de>

First step to clean up pbuf implementation: add pbuf_alloc_reference() to allocate pbufs referencing external payload; move member initialization to common function; simplify PBUF_POOL chain allocator


# e57552d4 25-Apr-2017 goldsimon <goldsimon@gmx.de>

pbuf_alloc_copy -> pbuf_clone


# dcb2cb99 25-Apr-2017 goldsimon <goldsimon@gmx.de>

Added 'pbuf_alloc_copy' e.g. as a single function for use with non scatter-gather drivers


# 3aa85440 30-Mar-2017 goldsimon <goldsimon@gmx.de>

pbuf_copy_partial: remove double-check of 'buf' and 'dataptr'


# 49414826 06-Mar-2017 goldsimon <goldsimon@gmx.de>

pbuf: added new function pbuf_free_header() to gradually hide bytes and free pbufs from the front of a pbuf chain


# 01f9a04e 26-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Add pbuf_get_contiguous() to doxygen docs


# 08931b33 25-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix documentation on pbuf_get_contiguous()


# 0da9cf70 24-Feb-2017 goldsimon <goldsimon@gmx.de>

Added pbuf_get_contiguous() to get data in one piece (either zero copy from pbuf or memcpied into a supplied buffer)


# 76763c9b 23-Feb-2017 goldsimon <goldsimon@gmx.de>

pbuf_ref: assert-check for 'ref' overflow


# 2cf3bbdd 23-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

pbuf_free: Use correct type LWIP_PBUF_REF_T for local variable


# 0f6d8ccd 23-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Revert "Improve pbuf refcount underflow check by checking the local variable on the stack that was assigned in a protected region"

This reverts commit 62c44138da19a8cd9b100b3050c9697a80d8866f.

Didn't notice due to local changes the ASSERTION was already inside the locks...


# 62c44138 23-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Improve pbuf refcount underflow check by checking the local variable on the stack that was assigned in a protected region
The old code was vulnerable to race conditions since it checked ref to be >0 without locks


# 0eeb10d4 23-Feb-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Preparation for task #14369: Define ways to work with a netif having multiple ports
Add if_idx member to struct pbuf


# 03f47e58 05-Jan-2017 David van Moolenbroek <david@minix3.org>

udp/raw: prevent packet length overflows

Previously, on netifs with unrestricted MTUs (typically loopback
interfaces), it was possible to give a packet to the UDP/RAW API
calls that is so large that when prepending headers, the pbuf's
tot_len field would overflow. This could easily result in
undesirable behavior at lower layers, e.g. a crash when copying
the packet for later delivery.

This patch models such overflows as memory allocation errors, thus
resulting in clean failures. Checks have to be added in multiple
places to cover (hopefully) all cases.


# 9898d406 15-Jan-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix bug #50040: pbuf_alloc(..., 65534, PBUF_RAM) succeeds
Check for integer overflow when calculating memory allocation size


# e94c9ffa 05-Jan-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix warning about bad cast in pbuf_skip()


# dd96c712 19-Dec-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix a few -Wconversion warnings (there are many more to do)


# e0c0ba7e 19-Dec-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix compile with LWIP_NOASSERT
Pointed out by Nirav Desai


# f2a5aa28 12-Dec-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix bug #49827: wrong cast to size_t on 16-bit x86 architecture
I hope I caught all of them.
TODO: Same for casts to get rid of alignment warnings, these are also casts via size_t


# 801f26ee 16-Oct-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Minor documentation update


# 6edde498 11-Oct-2016 goldsimon <goldsimon@gmx.de>

pbuf_copy: try to fix GCC const warning


# 697be5c2 11-Oct-2016 goldsimon <goldsimon@gmx.de>

Make some pbuf functions take const pbuf pointers


# eb77c839 03-Oct-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Minor: comment in pbuf.c


# 149701b3 30-Sep-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix bug #49218: pbuf_clen() overflow as a result of tcp_write concatenation
Let pbuf_clen() return u16_t


# c25de8f3 20-Sep-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Update comment in MDNS and pbuf.c


# eb3a0830 20-Sep-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Improve my last docs


# 470dae61 20-Sep-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Documentation: Add example for zero-copy RX using custom PBUF


# ac6b64cf 31-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Implement a more readable fix for pbuf_memcmp than my last fix


# 4325aca0 31-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix pbuf_memcmp() implementation by using pbuf_try_get_at() instead of pbuf_get_at(). Payload out-of-bounds access was not handled correctly.


# a08ed914 30-Aug-2016 sg <goldsimon@gmx.de>

added pbuf_try_get_at() (much like pbuf_get_at() but can return out-of-pbuf error)


# aef3d2cb 30-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Minor coding style fix in pbuf.c


# 1c5c96a5 22-Aug-2016 Axel Lin <axel.lin@ingics.com>

pbuf: Use SYS_ARCH_INC in pbuf_ref()

Use SYS_ARCH_INC to simplify the code.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: goldsimon <goldsimon@gmx.de>


# 6b524367 27-Jul-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Documentation review with Simon, minor changes


# c6831648 26-Jul-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Document apps in doxygen module style, create more top-level categories to structure documentation


# 0fea2bc0 26-Jul-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Document netconn API in doxygen module style


# bd79f6c0 26-Jul-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Document DNS, memory pools and PBUFs as modules


# 631c458c 23-May-2016 sg <goldsimon@gmx.de>

Fixed invalid DEBUGF level SERIOUS when pbuf_header fails (it returns '1': this is not serious!)


# 90a656ed 23-May-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix several doxygen errors all over the code


# 222155d7 03-Feb-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

pbuf: Make pbuf_skip function public, so it can be used in SNMP code


# bd4c4b59 30-Nov-2015 Axel Lin <axel.lin@ingics.com>

Use SYS_ARCH_SET macro at appropriate places

Use SYS_ARCH_SET to simplify the code a bit.

Signed-off-by: Axel Lin <axel.lin@ingics.com>


# c12fa7b4 09-Oct-2015 sg <goldsimon@gmx.de>

started to move "private" header files containing implementation details to "lwip/priv/" include directory to seperate the API from the implementation.


# b401f425 07-Oct-2015 goldsimon <goldsimon@gmx.de>

minor: fixed coding style (lwip style)


# 2b971400 06-Oct-2015 sg <goldsimon@gmx.de>

minor: coding style


# 22df34fc 06-Oct-2015 sg <goldsimon@gmx.de>

minor/coding style: removed spaces before line ending (from file header)


# 490581a0 06-Oct-2015 sg <goldsimon@gmx.de>

minor/coding style: removed spaces before line ending


# 52a4ca99 16-Sep-2015 Robert Szewczyk <rszewczyk@nestlabs.com>

pbuf_take: make it comply with API specifications

LWIP_ERROR macro exited the function early with the return code
indicating a SUCCESS. Fix the error codes. Return the specified
error code for cases when the pbuf is too short.


# 76e785dd 05-Aug-2015 sg <goldsimon@gmx.de>

Fix that pbuf_realloc() called mem_trim() for "custom" PBUF_RAM


# 145efb1a 30-Jun-2015 Erik Ekman <erik.ekman@verisure.com>

Fix edge case in pbuf_take_at()

Writes to offsets pointing to the start of a pbuf in the chain
did nothing and just returned ERR_OK.

Added unit tests to verify the fix, and also
that pbuf_get_at()/pbuf_put_at() handles this case.


# 902d190a 22-Apr-2015 goldsimon <goldsimon@gmx.de>

Many const fixes throughout the stack (although these are not all, yet)


# 632de523 20-Apr-2015 Sylvain Rochet <gradator@gradator.net>

Fixed PBUF_LINK_ENCAPSULATION_HLEN support

PBUF_LINK_ENCAPSULATION_HLEN support was introduced by 6ef7563f and
missed the fact that header size calculation/reservation using
computation like PBUF_LINK_HLEN + PBUF_IP_HLEN + ... are used all over
the source code. Hopefully fixed all of them.


# ce7e31cd 09-Apr-2015 sg <goldsimon@gmx.de>

task #12722 (improve IPv4/v6 address handling): renamed ip_addr_t to ip4_addr_t, renamed ipX_addr_t to ip_addr_t and added IP version;
ip_addr_t is used for all generic IP addresses for the API, ip(4/6)_addr_t are only used internally or when initializing netifs or when calling version-related functions


# 6ef7563f 13-Feb-2015 sg <goldsimon@gmx.de>

Added the option PBUF_LINK_ENCAPSULATION_HLEN to allocate additional header space for TX on netifs requiring additional headers


# 974a853f 11-Feb-2015 sg <goldsimon@gmx.de>

patch #8423 "arch/perf.h" should be made an optional item


# 382ddac1 24-Dec-2014 Sylvain Rochet <gradator@gradator.net>

CORE: fixed missing prototype for pbuf_header_impl() function

lwip/src/core/pbuf.c:502:1: warning: no previous prototype for ‘pbuf_header_impl’ [-Wmissing-prototypes]


# 4085a3fa 08-Dec-2014 goldsimon <goldsimon@gmx.de>

task #11472 Support PBUF_REF for RX (IPv6 and IPv4/v6 reassembly might not work yet)


# 33237419 18-Sep-2014 Simon Goldschmidt <goldsimon@gmx.de>

Parts of patch #8397 Typos corrected in comments and text outputs


# e303f30d 16-Sep-2014 Simon Goldschmidt <goldsimon@gmx.de>

added pbuf_take_at() and pbuf_put_at() (in preparation for dns.c changes)


# e9908048 25-Feb-2014 Simon Goldschmidt <goldsimon@gmx.de>

fixed bug #39356 Wrong increment in pbuf_memfind()


# 5eaef50a 03-Nov-2012 Erik Ekman <erik@kryo.se>

Remove newlines in LWIP_ERROR calls


# 751deac9 12-Feb-2014 Simon Goldschmidt <goldsimon@gmx.de>

Another fix to window scaling: support queueing more than 64 KByte in ooseq data


# fc2efaeb 21-Jan-2012 goldsimon <goldsimon@gmx.de>

Fixed my last chagne to pbuf_copy


# f2de3215 20-Jan-2012 goldsimon <goldsimon@gmx.de>

pbuf_copy(): moved the check for "p_to != NULL" to a better place.


# efbad076 20-Jan-2012 goldsimon <goldsimon@gmx.de>

fixed bug #35291: NULL pointer in pbuf_copy


# 43ac5ad7 21-Oct-2011 goldsimon <goldsimon@gmx.de>

removed the need to disable ARP_QUEUEING when LWIP_ARP is disabled an TCP_QUEUE_OOSEQ when LWIP_TCP is disabled


# c74d881d 12-Oct-2011 Simon Goldschmidt <goldsimon@gmx.de>

fixed bug #34534: Error in sending fragmented IP if MEM_ALIGNMENT > 4


# cd5d1cea 24-Aug-2011 Simon Goldschmidt <goldsimon@gmx.de>

fixed bug #34112 Odd check in pbuf_alloced_custom (typo)


# a745528b 26-Jul-2011 Simon Goldschmidt <goldsimon@gmx.de>

Prevent non-static function that is not declared in header file


# 7465be91 24-Jul-2011 Simon Goldschmidt <goldsimon@gmx.de>

Fixed some C compiler warnings


# cc3b4dff 22-Jul-2011 Simon Goldschmidt <goldsimon@gmx.de>

freeing ooseq pbufs when the pbuf pool is empty implemented for NO_SYS==1: when not using sys_check_timeouts(), call PBUF_CHECK_FREE_OOSEQ() at regular intervals from main level.


# 6865806b 25-May-2011 goldsimon <goldsimon>

Combined IPv4 and IPv6 code where possible, added defines to access IPv4/IPv6 in non-IP code so that the code is more readable.


# 2b355d6b 05-Jul-2010 goldsimon <goldsimon>

Added some helper functions to find strings in chained pbufs


# f61b80ca 21-Jun-2010 goldsimon <goldsimon>

Fixed bug #29361 (ip_frag has problems with zero-copy DMA MACs) by adding custom pbufs and implementing custom pbufs that reference other (original) pbufs. Additionally set IP_FRAG_USES_STATIC_BUF=0 as default to be on the safe side.


# f98e5717 30-Apr-2010 goldsimon <goldsimon>

task #6849: added udp_send(_to/_if) functions that take a precalculated checksum, added pbuf_fill_chksum() to copy data into a pbuf and at the same time calculating the checksum for that data


# 846a2fb9 26-Mar-2010 goldsimon <goldsimon>

Fixed compiling with different options disabled (TCP/UDP), triggered by bug #29345; don't allocate acceptmbox if LWIP_TCP is disabled


# 0a2eb3fd 22-Mar-2010 goldsimon <goldsimon>

minor: fixed coding style


# bcd4b76d 21-Feb-2010 goldsimon <goldsimon>

Moved stack-internal parts of tcp.h to tcp_impl.h, tcp.h now only contains the actual application programmer's API


# 52970c24 19-Feb-2010 goldsimon <goldsimon>

Renamed mem_realloc() to mem_trim() to prevent confusion with realloc()


# 9ff7d296 02-Feb-2010 goldsimon <goldsimon>

Fixed compiler warnings when MEM_SIZE < 64000


# e678e1bd 25-Jan-2010 goldsimon <goldsimon>

bug #28659: Missing casts


# aeef0a21 29-Nov-2009 goldsimon <goldsimon>

Fixed bug #28064: pbuf_alloc(PBUF_POOL) is not thread-safe by queueing a call into tcpip_thread to free ooseq-bufs if the pool is empty


# 49bdf327 22-Nov-2009 goldsimon <goldsimon>

Fixed usage of logging levels (bug #27948: Incorrect logging levels used in various places)


# 22bcf589 27-Jul-2009 goldsimon <goldsimon>

Fixed bug #27034: "Invalid ASSERT in pbuf_alloc()" to prevent breaking PPP (for now).


# 22d6558f 10-May-2009 goldsimon <goldsimon>

task #7013: Added option LWIP_NETIF_TX_SINGLE_PBUF to try to create transmit packets from only one pbuf to help MACs that don't support scatter-gather DMA.


# 7b6c1136 18-Feb-2009 goldsimon <goldsimon>

Added check: PBUF_POOL_BUFSIZE must be greater than MEM_ALIGNMENT or else the offset of a pbuf may take the full first pbuf in a chain (resulting in the first pbuf having len==0)


# 102d6900 27-Jan-2009 jifl <jifl>

* pbuf.c: reclaim pbufs from TCP out-of-sequence segments if we run
out of pool pbufs.


# 6f6c8c54 30-Sep-2008 jifl <jifl>

* pbuf.c (pbuf_copy_partial): Improve function description comment. Thanks to Luca Ceresoli


# 6374766a 26-Aug-2008 goldsimon <goldsimon>

Added 2 asserts in pbuf_realloc to prevent dereferencing a null pointer in invalid pbuf queues


# a9aefcc1 01-Apr-2008 goldsimon <goldsimon>

Fixed comments for pbuf_copy() and find_entry() as proposed by Luca Ceresoli on lwip-users


# f067d343 04-Mar-2008 jifl <jifl>

* pbuf.c, ppp.c: Fix warnings on some systems with mem_malloc.


# c61262d8 04-Jan-2008 fbernon <fbernon>

Minor changes in lwip folder: fix some warnings.


# e1f49d99 25-Nov-2007 goldsimon <goldsimon>

Fix some warnings discovered by compiling the unixsim under cygwin (gcc pedantic)


# 3d9c76a6 24-Nov-2007 fbernon <fbernon>

Minor change (doxygen tags)


# 54e1b79a 10-Sep-2007 jgrubb <jgrubb>

Make pbuf_alloc a bit easier to read (change parameter name from "l" to "layer" and use LWIP_MIN instead of ternary operatory)


# e3cd1ac1 07-Sep-2007 fbernon <fbernon>

Minor changes (but in lot of files): add #if/#endif for options where they could miss. #if LWIP_xxx if always put after #include "lwip/opt.h" (note this one indirectly include cc.h). Move others includes inside #if/#endif block.


# 4f76bc42 20-Aug-2007 fbernon <fbernon>

Rename pbuf's "flgs" in "flags" (see in [lwip-devel] Last changes by Marc)


# 0471aaec 16-Aug-2007 marcbou <marcbou>

Use enum pbuf_flag as pbuf_type.
Renumber PBUF_FLAG_*.


# 42366990 16-Aug-2007 marcbou <marcbou>

Split pbuf flags in pbuf type and flgs.
Improved lwip_recvfrom(). TCP push now propagated.


# f0b33f5c 27-Jul-2007 jifl <jifl>

Make pbuf_init() call be an empty macro for now


# f9c30017 25-Jul-2007 goldsimon <goldsimon>

Fixed bug #20429: use the new pbuf_copy_partial instead of the old copy_from_pbuf, which illegally modified the given pbuf; Introduced pbuf_copy_partial, making netbuf_copy_partial use this function.


# 8d2c8065 04-Jul-2007 goldsimon <goldsimon>

Removed old debug variables from pbuf_copy()


# bf176ed7 03-Jul-2007 fbernon <fbernon>

Minor fix (indent)


# eb875de6 03-Jul-2007 goldsimon <goldsimon>

Added assertions where PBUF_RAM pbufs are used and an assumption is made that this pbuf is in one piece (i.e. not chained). These assumptions clash with the possibility of converting to fully pool-based pbuf implementations, where PBUF_RAM pbufs might be chained.


# 88b1cebe 23-Jun-2007 goldsimon <goldsimon>

Sorry, checked in some of my local changes with the LWIP_ERROR modification!


# bb9e9e54 22-Jun-2007 goldsimon <goldsimon>

Changed the expression of LWIP_ERROR to the same as for LWIP_ASSERT


# 4c07b160 21-Jun-2007 fbernon <fbernon>

Minor changes: fix some comments for Doygen documentation


# f66bbda8 18-Jun-2007 goldsimon <goldsimon>

Ooops, checked in a wrong (test-) version before!


# 6784fd64 17-Jun-2007 goldsimon <goldsimon>

Done some work on task #6933: converted some LWIP_ASSERTs to LWIP_ERROR to give back an error return value for LWIP_NOASSERT=1


# 55bd48dc 17-Jun-2007 goldsimon <goldsimon>

Always align PBUF_POOL_BUFSIZE, pbuf_init is not needed any more, minor changes to meet coding style requirements


# f93b8fe3 14-Jun-2007 goldsimon <goldsimon>

pbuf_copy(): removed copy & paste error which did not copy pbuf chains correctly


# 978c68dc 14-Jun-2007 goldsimon <goldsimon>

pbuf_copy: chained pbufs were not copied correctly because of wrong packet-queue-check


# bdbc96f4 13-Jun-2007 fbernon <fbernon>

opt.h, mem.h, mem.c, memp.c, pbuf.c, ip_frag.c, vj.c: Fix bug #20162. Rename MEM_ALIGN in LWIP_MEM_ALIGN and MEM_ALIGN_SIZE in LWIP_MEM_ALIGN_SIZE to avoid some macro names collision with some OS macros.


# 0b9c9f9e 08-Jun-2007 goldsimon <goldsimon>

pbuf_copy(): Corrected a wrong comment & try to behave correctly if LWIP_NOASSERT is defined


# 75fd6fc4 03-Jun-2007 goldsimon <goldsimon>

Needed for patch to bug #19937: pbuf_copy is always compiled, not only if ARP_QUEUEING is enabled


# 98df3c6e 24-May-2007 goldsimon <goldsimon>

Removed LWIP_DEBUG_ASSERT


# 4192df97 18-May-2007 goldsimon <goldsimon>

Corrected check of PBUF_POOL overflow


# 887077b5 16-May-2007 goldsimon <goldsimon>

pbuf_alloc(PBUF_POOL): Added asserts to make sure payload+len is still in bound of the pbuf (also to make sure bug #15659 is fixed).


# 62d70590 13-May-2007 goldsimon <goldsimon>

task #6831: removed the option PBUF_POOL_USES_MEMP and removed the old pbuf pool code, pbuf pool now always allocates from a memp pool


# a5e2e9ea 13-May-2007 goldsimon <goldsimon>

(see task #6831): Included new option PBUF_POOL_USES_MEMP to use a memp pool for PBUF_POOL pbufs instead of the old pool implementation in pbuf.c to remove redundant code.


# 055e3d52 13-May-2007 goldsimon <goldsimon>

Modified struct pbuf size determination so that sizeof(struct pbuf) does not necessarily be a multiple of MEM_ALIGNMENT


# 255d5a74 09-May-2007 goldsimon <goldsimon>

Included patch #5920: Create define to override C-library memcpy. 2 Defines are created: MEMCPY() for normal memcpy, SMEMCPY() for situations where some compilers might inline the copy and save a function call. Also replaced all calls to memcpy() with calls to (S)MEMCPY().


# 79d9b36e 04-May-2007 goldsimon <goldsimon>

Further update to ARP queueing: Changed pbuf_copy() implementation so that it can be reused (don't allocate the target pbuf inside pbuf_copy()).


# eb28133b 02-May-2007 fbernon <fbernon>

Remove forgotten printf in pbuf_init().


# c66932ab 30-Apr-2007 goldsimon <goldsimon>

Checked in patch #5453: removed mutex/other locking stuff if SYS_LIGHTWEIGHT_PROT=0, moved some pbuf pool logic to static functions


# cde6d0de 30-Apr-2007 goldsimon <goldsimon>

pbuf_alloc() / pbuf_realloc(): added LWIP_DEBUG_ASSERT() and cast operator when assigning s32_t to u16_t to get rid of compiler warnings


# 82e579a2 17-Apr-2007 goldsimon <goldsimon>

Changed the comment to pbuf_realloc() that it can't grow (only shrink) chains to reflect the fact that we decided not to change this.


# cd19d814 17-Apr-2007 jifl <jifl>

* pbuf.c: Use s32_t in pbuf_realloc(), as an s16_t can't reliably hold
the difference between two u16_t's.


# e54f3fda 11-Apr-2007 goldsimon <goldsimon>

3rd fix for bug #11400 (arp-queuing): More pbufs than previously thought need to be copied (everything but PBUF_ROM!). Cleaned up pbuf.c: removed functions no needed any more (by etharp).


# 5368a760 30-Mar-2007 fbernon <fbernon>

most of files: prefix all debug.h define with "LWIP_" to avoid any conflict with others environment defines (these were too "generic").


# 7294cb08 20-Mar-2007 kieranm <kieranm>

* Fix all uses of pbuf_header to check the return value. In some
cases just assert if it fails as I'm not sure how to fix them, but
this is no worse than before when they would carry on regardless
of the failure.


# 3bb13829 11-Mar-2007 goldsimon <goldsimon>

checked in patch #5796: pbuf_alloc: len field claculation caused memory corruption.


# 91afefa6 07-Mar-2007 goldsimon <goldsimon>

Reverted pbuf_alloc() to REV 1.82


# 7b54ddd8 04-Mar-2007 goldsimon <goldsimon>

Corrected patch to bug #19168


# 9da7afb3 03-Mar-2007 goldsimon <goldsimon>

Fixed buf #19168 based on patch by Dmitry Potapov


# 5ace5976 28-Feb-2007 kieranm <kieranm>

* pbuf.c: Fix BUG#17645 - ensure pbuf payload pointer is not moved
outside the region of the pbuf by pbuf_header()


# f4f2bfe3 27-Feb-2007 jifl <jifl>

Ensure the size of each pbuf in the pool meets alignment constraints


# d9b4ab16 28-Mar-2006 christiaans <christiaans>

Pbuf flag test size and speed optimalisation (helping a dumb compiler).


# db76ca24 27-Feb-2006 likewise <likewise>

2006-02-27 Merged patch by Curt McDowell
pbuf.c: Fix alignment; pbuf_init() would not work unless pbuf_pool_memory[] is properly aligned.


# e1b215aa 24-Nov-2005 christiaans <christiaans>

Introduced cc.h formatters and removed SO_REUSE from transport layers.


# 6880fa62 24-Jan-2005 likewise <likewise>

Added some missing string.h includes.


# 86c77444 03-Jan-2005 likewise <likewise>

Fixed missing semicolon in LWIP_DEBUG statement.


# a549ec03 27-Dec-2004 likewise <likewise>

Added inline source documentation.


# ae4955f5 25-Nov-2004 likewise <likewise>

Replaced erronous LWIP_ERRORF with LWIP_DEBUGF


# 64aa4c71 24-Nov-2004 kieranm <kieranm>

Kieran Mansley - kjm25@cam.ac.uk - 24th Nov 2004
* Increased argument checking at start of pbuf_queue() and made resulting errors more verbose


# 4680307a 27-Jul-2004 softins <softins>

Stop compiler complaining of empty if statement when LWIP_DEBUGF() empty.
Close an unclosed comment.


# 7c427a4d 25-Jul-2004 likewise <likewise>

Made some comments more explicit.


# a4f5673f 22-Jul-2004 softins <softins>

Small corrections to some debugging statements, to pacify compiler.


# 27c6d299 30-May-2004 kieranm <kieranm>

Kieran Mansley - kjm25@cam.ac.uk - 30th May 2004

* Fixed bug #9160 after discussion on mailing list
- alters use of MEM_ALIGN_SIZE in pbuf_alloc when calling mem_malloc for a PBUF_RAM pbuf


# b217b020 05-May-2004 likewise <likewise>

Changed PAD_ETH_SIZE into ETH_PAD_SIZE for consistency with de-facto lwIP naming convention.


# e84cc8c0 05-May-2004 likewise <likewise>

Remember head of queue in pbuf_queue() iff PBUF_DEBUG to generate senseful debug report.


# 5e13b952 05-May-2004 likewise <likewise>

Adpated comments to match Doxygen/JavaDoc style.


# 94d3b04d 29-Apr-2004 likewise <likewise>

Applied cleaner new patch for bug #8708.
Implemented multiple packets on the outgoing queue in etharp.c.
Removed etharp.c specific queueing functions.
Fixed generic pbuf.c queueing functions.


# 7bfea6ed 16-Feb-2004 likewise <likewise>

Applied Ian Wienand's patches (4-2-2004). Was partly applied earlier.


# e1c4bfad 06-Feb-2004 likewise <likewise>

Merged from DEVEL, except for the API change in etharp.c.


# 035fcce9 06-Feb-2004 likewise <likewise>

Applied mem.diff by Ian Wienand on lwip-devel on February 4th 2004.
Stops some warnings.


# eed8ea5b 27-Dec-2003 uid67528 <uid67528>

Merged from DEVEL. etharp prepared for queueing feature. DHCP fix.


# e4a6d199 14-Nov-2003 likewise <likewise>

Merged from DEVEL into main tree.


# 351e590e 27-Jun-2003 marcbou <marcbou>

Merged from DEVEL.


# ec1c2a71 19-Jun-2003 marcbou <marcbou>

merged from DEVEL.


# 93dfcdce 11-Jun-2003 likewise <likewise>

Fixes wrongly cast LWIP_DEBUGF arguments (patch #1596 and more).


# 80145519 10-Jun-2003 kieranm <kieranm>

Changed DEBUGF to LWIP_DEBUGF


# b306cab8 06-Jun-2003 likewise <likewise>

Additional documentation on the subtle difference of a 'pbuf chain' and a 'packet queue'.


# 031a4cbd 05-Jun-2003 likewise <likewise>

Increased number of debug messages to see pbuf chain actions.


# 326b8ff7 04-Jun-2003 likewise <likewise>

Fixed a memory leak when only a part of a PBUF_POOL chain could be allocated.


# 9ed2b7e0 04-Jun-2003 likewise <likewise>

pbuf_alloc() forgot to set tot_len field for PBUF_POOL pbufs.


# cda867d5 18-May-2003 likewise <likewise>

Applied patches posted by Marc Boucher on lwip-users May 18th 2003.


# 398bf575 05-May-2003 jani <jani>

C++ comments cleanup


# 03bc7c86 01-May-2003 likewise <likewise>

Major stylo search/replace for "One space between keyword and opening bracket."


# a0eb47d5 01-May-2003 likewise <likewise>

Implemented packet (de)queueing. Unused, etharp.c must be adapted next.


# 0ef3b9b3 26-Apr-2003 anderscarlman <anderscarlman>

Re-added code for checking tail-parameter for NULL in
pbuf_chain() to provide for better backward compatibility.


# 9bc16878 16-Apr-2003 likewise <likewise>

Fixed tabs into spaces. Fixed other stylos.


# b68c91c9 14-Apr-2003 likewise <likewise>

Debug message shows requested pbuf type (of ROM/REF) upon memory allocation failure.


# f9538c93 14-Apr-2003 likewise <likewise>

Disabled pbuf_dechain() as it not currently in use. Fixed comment position.


# 3defc437 11-Apr-2003 davidhaas <davidhaas>

Got rid of pbuf_pool_alloc_cache and pbuf_pool_free_cache. Also got rid of
pbuf_refresh(). This has sped up pbuf pool operations.


# 4c511710 10-Apr-2003 likewise <likewise>

Fixed debug message for PBUF_REF/ROM allocation failure.


# 2e233cb3 04-Apr-2003 likewise <likewise>

Fixed stylo.


# 9ea10ce0 03-Apr-2003 likewise <likewise>

In pbuf_take(): Got rid of variable 'f'. Fixed stylo (typo in style). Renamed 'top' to 'head'.


# 21d17e41 01-Apr-2003 davidhaas <davidhaas>

Fixed last change to pbuf_take. There were two calls to pbuf_free in a row.


# a28af1be 31-Mar-2003 likewise <likewise>

Fixed another assert. Removed another redundant assignment.


# b04ac8f3 31-Mar-2003 likewise <likewise>

Lots of comments added. Removed redundant assignment. Moved assertion.


# 5f35f4bb 01-Apr-2003 likewise <likewise>

Reverted back to David Haas' patch of pbuf_chain() from 1.34.


# 4c3512c0 31-Mar-2003 likewise <likewise>

Replaced pbuf.c 1.34 pbuf_take() change by simpler alternative.


# 82a32be1 31-Mar-2003 davidhaas <davidhaas>

Fixed issue in pbuf_take(): old pbuf of type PBUF_REF was being referenced
after being freed. Also, it was not being freed if it had been the first
buffer in chain. It still needs to be freed then.


# 9f351123 31-Mar-2003 davidhaas <davidhaas>

Fix pbuf_chain() to update tot_len of last buffer in first chain properly.
Previous code skipped it.

Made comments in pbuf_header() more general (header can be increased or
decreased).


# 6da25968 31-Mar-2003 likewise <likewise>

pbuf_header() now only moves payload pointer upwards for PBUF_ROM/REF.


# a70f478e 31-Mar-2003 likewise <likewise>

Fixed pbuf_dechain() assertion. Removed old documentation from pbuf.h.


# 6c147709 31-Mar-2003 likewise <likewise>

Documentation changes. Added missing trailing newlines to debug messages.


# e6cc785f 31-Mar-2003 likewise <likewise>

Fixed missing variable.


# c50f80da 30-Mar-2003 likewise <likewise>

Corrected more pbuf.c functions to comply with pbuf->ref and ->tot_len invariant.


# c4ff244c 28-Mar-2003 davidhaas <davidhaas>

Fixed minor compile issues.


# 002998cf 28-Mar-2003 likewise <likewise>

Fixed bugs #2968 (ref count) and #2670 (total length).
Name of pbuf_unref() falsely suggests to undo pbuf_ref(), renamed to pbuf_take().


# 7dea6dc8 26-Mar-2003 likewise <likewise>

pbuf_realloc() did not update ->tot_len in a chain. Fixed dealloc of REF/ROMs.


# fd0d94af 26-Mar-2003 likewise <likewise>

Fixing bug #1903 with a new pbuf_realloc() that respects mixed-type chains.


# fa34d51b 24-Mar-2003 likewise <likewise>

Added documentation and comments.


# 80b961df 24-Mar-2003 likewise <likewise>

Lots of clearing up comments and use of new debugging features.


# e062b70d 24-Mar-2003 likewise <likewise>

Retry with PBUF_RAM if PBUF_POOL allocation failed.


# 07058652 23-Mar-2003 likewise <likewise>

Added tracing debug messages.


# 20667e51 24-Mar-2003 likewise <likewise>

Added debug levels for some serious errors (out of memory).


# 96f2e162 21-Mar-2003 davidhaas <davidhaas>

Fixed memory leak caused by my last pbuf_ref change.


# 32d9f25a 19-Mar-2003 davidhaas <davidhaas>

Fixed up and made work a PBUF_REF type. Most of the code uses this now
instead of PBUF_ROM. This addition allows support of copy-on-demand where the
lower layers can call pbuf_unref() which tests for any PBUF_REF buffers and
replaces them with PBUF_POOL buffers. This is now used
everywhere. pbuf_unref() is called in ARP queueing and in the coldfire
driver, which puts frames on a DMA queue and frees them later.

Along with this change pbuf_free() now goes through the entire chain of
buffers and tests all the ref counters, not just the first one. Generally now
pbuf_ref_chain() should be called and not pbuf_ref(). This change was made
because it is possible for the head of the pbuf chain to have a different
count than the payload pbuf which might have been passed by the application.


# d390ca70 24-Feb-2003 jani <jani>

cleaned up opt.h a bit, added more option defaults ad changed SYS_LIGHTWEIGHT_PROT to be a 0/1 define.The same for COMPAT_SOCKET


# 18df3961 21-Feb-2003 jani <jani>

byte-order handling functions are in inet.c now and the uperrcase counterparts are gone. opt.h has all the
configurable items debug does not need to be directly included.


# de29a081 12-Feb-2003 davidhaas <davidhaas>

By request: moved lightweight protection to macros.


# dd2fa15e 06-Feb-2003 davidhaas <davidhaas>

Add the following features and bugfixes:

Added select() functionality to sockets library.
Support for errno in sockets library.
Byte ordering fixes.
basic lwip_ioctl(), FIONREAD, get/setsockopt() etc. support

- added additional argument to netif_add to pass state pointer so that the
if_init function has access to context information before
the interface is added, without accessing globals.

- added netif_remove()

- to conserve cpu load the tcpip_tcp_timer should only be active
when tcbs that need it exist.

- pass length of available data to callbacks for NETCONN_EVT_RCV events

- added tcpip_link_input(), a hack to allow processing of PPP
packets in tcpip_thread() context. This saves threads and context
switches.

- renamed incompatible ASSERT() macro to LWIP_ASSERT() to avoid name
collision.

- changed a bunch of %d's to %u's in format strings for unsigned values.

- added ip_frag to lwip_stats.

- changed IP_REASS_MAXAGE and IP_REASS_TMO defaults to more realistic
values.

- added sys_timeout_remove() function to cancel timeouts (needed by PPP
amongst other things).

- tolerate NULL returns from sys_arch_timeouts() since some threads might
not need to use or have timeouts.

- added sys_sem_wait_timeout()

- moved mem_malloc() function to end of mem.c to work around tasking
compiler bug.

- automatically bind to local tcp port if 0.

- allow customization of port ranges for automatic local bindings.

- corrected various typos, spelling errors, etc..

Thanks to Marc Boucher for many of these changes.


# 98fbb855 04-Feb-2003 davidhaas <davidhaas>

Added lightweight protection. In coldfire this is implemented by disabling
interrupts. In unixsim this is implemented by using a mutex. Uses #define
SYS_LIGHTWEIGHT_PROT to enable. It is enabled in coldfire by default, but
disabled in unixsim.

Fixes bug 2005 if you enable SYS_LIGHTWEIGHT_PROT. So the bug is closed.


# faa91911 29-Jan-2003 likewise <likewise>

Added commented about the signedness of pbuf_header() argument.


# cc4df710 08-Jan-2003 likewise <likewise>

Updated lwIP module copyright years to include 2003. Committers must check theirs.


# 156d2c86 19-Dec-2002 jani <jani>

sizeof(u8_t) is 1 at temperatures > 0 K


# ef683923 17-Dec-2002 jani <jani>

renamed (hopefully everywhere) stats to lwip_stats.closes bug #1901


# c0a8ef6f 17-Dec-2002 jani <jani>

Use C style comments.In debug stataments cast various struct pointers to void* to
avoid printf warnings.misc warnings in etharp.


# 96610c9c 05-Dec-2002 kieranm <kieranm>

Fixed compiler warning - DEBUGF statement with too many arguments


# 8210edfe 22-Nov-2002 jani <jani>

fix pbuf_alloc for layer PBUF_LINK


# 1b798ed6 18-Nov-2002 likewise <likewise>

Added PBUF_REF (payload external, copied on queueing).


# f2fbcdf0 18-Nov-2002 jani <jani>

typo fixes.The unterminated comment already got two bugreports so it was time.


# ad55cb67 11-Nov-2002 likewise <likewise>

Added pbuf_ref_chain() which increases ref count of all pbufs in a chain.


# f06e9550 18-Oct-2002 likewise <likewise>

Initial revision