History log of /seL4-camkes-master/projects/lwip/src/api/tcpip.c
Revision Date Author Comments
# eeb2218b 18-Jul-2018 Dirk Ziegelmeier <dziegelmeier@de.pepperl-fuchs.com>

Revert "Test / RFC: Reformat a few files using clang-format"

This reverts commit 8b4a8159a898795ef0fc9226dae1ce66531ad487.

We do not want to do this shortly before a release. Reformatting (buggy reformatting) may introduce new bugs.


# 8b4a8159 17-Jul-2018 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Test / RFC: Reformat a few files using clang-format

Does it compile? Does it look good (enough)?


# d9770d2c 28-Feb-2018 goldsimon <goldsimon@gmx.de>

tcpip_thread: TCPIP_MSG_INPKT: free input pbufs if the input function returns an error

This simply wasn't the case until 6LoWPAN. However, since tcpip_input is like this, we
should stay with that pattern.

Adapted documentation in netif.h

Signed-off-by: goldsimon <goldsimon@gmx.de>


# 0b2b2233 12-Jan-2018 goldsimon <goldsimon@gmx.de>

tcpip_thread_poll_one: remove invalid comment in this function


# eab1b45c 11-Jan-2018 goldsimon <goldsimon@gmx.de>

tcpip: give the tcpip_thread mbox a better name

This also fixes shadowing 'mbox' in tcpip_timeouts_mbox_fetch()


# c257b56a 11-Jan-2018 goldsimon <goldsimon@gmx.de>

move sys_timeouts_mbox_fetch() to tcpip_timeouts_mbox_fetch()

This cleans up the code: sys_timeouts_mbox_fetch() was only used from
tcpip.c anyway, so let's move it there.

Signed-off-by: goldsimon <goldsimon@gmx.de>


# 8fc20142 05-Jan-2018 goldsimon <goldsimon@gmx.de>

Added sys_mbox_trypost_fromisr() and tcpip_callbackmsg_trycallback_fromisr()

This can be used to post preallocated messages from an ISR to the tcpip thread
when using FreeRTOS, where where calls differ between task level and ISR level.

Signed-off-by: goldsimon <goldsimon@gmx.de>


# b16f5f0e 04-Jan-2018 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Rename tcpip_trycallback() tcpip_callbackmsg_trycallback() to avoid confusion with tcpip_try_callback()
Add tcpip_callbackmsg_new(), tcpip_callbackmsg_delete(), tcpip_callbackmsg_trycallback() to documentation


# d569a22c 02-Jan-2018 Joel Cunningham <joel.cunningham@me.com>

tcpip: ensure core is locked for init done function

This ensures the core is locked when executing the init done function
passed to tcpip_init

The could manifest as a synchronization issue during early init if
another thread was in the LwIP context at the same time


# 53499f5e 02-Jan-2018 Our Air Quality <info@ourairquality.org>

timers: rework the core locking around timers (bug #52719)

Want the core lock held while working on the timer data structures.


# b33b3bb8 02-Jan-2018 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Start working on task #14780: Add debug helper asserts to ensure threading/locking requirements are met


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

Reformat tcpip.c using astylerc


# d62d3edc 12-Jul-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Update tcpip.c/.h documentation


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

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


# 10a5afee 21-Jun-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Revert my last change to tcpip_callback() - it breaks the semantics of the function.
The function previously returned after posting a message, which is a short operation. Now it actually waits until the operation has completed - which may take a long time. This may break user programs. So all that remains is the cleanup separation in tcpip_callback() and tcpip_try_callback() :-(


# 68d36f19 21-Jun-2017 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Implement LWIP core locking support in tcpip_callback_with_block()
Created two new functions for API cleanup:
tcpip_callback() that blocks until message is posted, cannot be called from IRQs.
tcpip_try_callback() that does not block and just tries to post a message. Can be called from IRQs.
Add compatibility #define tcpip_callback_with_block() that maps to these two functions according to "block" parameter.


# fc47f846 16-Mar-2017 goldsimon <goldsimon@gmx.de>

Fix and improve sockets unit test and unit test sys_arch (with a little help of tcpip.c)


# f6e27940 08-Oct-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Make lwIP compile with clang -Wdocumentation -> several documentation fixes


# 452f5d62 25-Aug-2016 sg <goldsimon@gmx.de>

fix tcpip.c for LWIP_TIMERS==0


# 14fb48cd 19-Aug-2016 goldsimon <goldsimon@gmx.de>

minor: whitespace cleanups


# 8eb9db18 19-Aug-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Reduce usage of netif/ethernet.h header, mostly lwip/prot/ethernet.h is sufficient


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

Work on lwIP documentation


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

Update and restructure docs of some lwip core functions


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

Restructure documentation. Create two top-level sections for thread-safe and callback-style APIs.


# 7037b340 19-Jul-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Move etharp to core/ipv4, which is a more appropriate place for it


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

Fix several doxygen errors all over the code


# c6949d88 11-May-2016 goldsimon <goldsimon@gmx.de>

fixed unused variable warning in tcpip_api_call() for certain configurations


# 21e6e1c8 26-Apr-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix compile errors found by Erik Ekman's Travis-CI


# b0703147 26-Apr-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Revert "tcpip_send_msg_wait_sem() can return void now due to my last changes"
My brain was asleep

This reverts commit 475be665ff8805088a688dbb66713f1a9e383b4d.


# 475be665 26-Apr-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

tcpip_send_msg_wait_sem() can return void now due to my last changes


# b28a8037 26-Apr-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix bug #47446: tcpip api calls: fail if mbox is invalid instead of returning an error


# 5a123a34 25-Apr-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

tcpip_priv.h: More flexible API by including return value in API_VAR_ALLOC macro


# 141aeaab 31-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix shadowing warning (when compiling in C++) in TCPIP call API. Reported by Freddie Chopin.


# 7e7f2f31 22-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Cleanup and simplify tcpip_api_call() implementation a bit


# a1fc91af 22-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix newly introduced tcpip_api_call did not return correct return value


# 7fbb5fc8 17-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Fix netconn API in core locking mode


# d6adc1f6 16-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Rename tcpip_send_api_msg to tcpip_send_msg_wait_sem (hopefully a little bit clearer name)


# d38cdccb 16-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

netconn API: Remove api_msg wrapper struct, it is not needed any more


# ea174560 16-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

tcpip.c tcpip_send_api_msg: Handle core locking case internally


# bc51dddc 16-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Add some comments to functions and #defines. According to Simon, LWIP core locking is not experimental any more.


# 1d7996dc 13-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

tcpip API calls: Implement LWIP_NETCONN_SEM_PER_THREAD support for ALL API calls


# 00975769 08-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Minor TCPIP API call functions cleanup


# 81064136 08-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

tcpip.c: Implement an easier way for TCPIP API calls - client code does not have to deal with semaphores and core locking any more


# ba409253 07-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

tcpip_send_api_msg function is only needed in non-core-locking mode


# 37d514c9 07-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Minor cleanups in #includes and comments


# c65eca58 07-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Decouple tcpip.c/tcpip_priv.h from netconn API


# 18bb74e5 07-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Decouple tcpip.c/tcpip_priv.h from PPP API
PPP API can now be moved to netif/ppp subdir


# af1978fa 07-Mar-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Implement generic API message handling
Add generic tcpip_send_api_msg function
Let netif API and netconn API use it
Decouple tcpip.c and tcpip_priv.h from netif API


# 9a4d7b99 22-Feb-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Use netif_input_fn typedef instead of creating a new one in tcpip.h


# fe8d2ba7 22-Feb-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Eliminate tcpip_pppos_input function


# 777e667f 22-Feb-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Add generic tcpip_inpkt function that can be called to make last changes really usable


# fa6f068f 22-Feb-2016 Dirk Ziegelmeier <dirk@ziegelmeier.net>

Eliminate TCPIP_MSG_INPKT_PPPOS message type.
Fix my last commit, I accidentally unchecked the wrong file in commit dialog


# 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.


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

minor: coding style


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

minor/coding style: removed spaces before line ending


# e171b4e3 18-Aug-2015 sg <goldsimon@gmx.de>

Fixed usages of SYS_SEM_NULL after using pointers everywhere


# beabd3c6 21-Apr-2015 goldsimon <goldsimon@gmx.de>

Added some macros with extension "_val" that work on actual instances and leave away the "if != NULL" check to get rid of gcc "-Waddress" warnings in the core code at least (I might not have caught all of them, yet)


# 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


# ee752ab1 19-Mar-2015 Sylvain Rochet <gradator@gradator.net>

PPP, PPPoS, renamed PPP_INPROC_MULTITHREADED to PPP_INPROC_IRQ_SAFE

Follow-up of the #44565 bug fix, renamed the misnamed
PPP_INPROC_MULTITHREADED to PPP_INPROC_IRQ_SAFE because it is
IRQ safe but not thread safe.

Updated PPP documentation which now clearly state when and how
this feature can be used.


# 0e919d25 19-Mar-2015 Sylvain Rochet <gradator@gradator.net>

PPP, PPPoS, improved tcpip input path, fixed bug #44565

New input type TCPIP_MSG_INPKT_PPPOS. Removed the netif input pointer usage
which was actually broken by design.

Fixed bug #44565.


# e0fe8374 18-Mar-2015 Ivan Delamer <delamer@inicotech.com>

fixed bug #44565: PPPOS support in tcpip thread breaks SLIP


# 9778b141 10-Mar-2015 Sylvain Rochet <gradator@gradator.net>

PPP, PPPoS, TCPIP: add packet input path for point to point interfaces (only PPPoS for now) through the TCPIP API

!NO_SYS users may now use as well the TCPIP API for PPPoS input data,
this way they can disable PPP_INPROC_MULTITHREADED and run pppos_input()
inside the lwIP thread, which fixes, at least for them, all the
threading issues related to PPP_INPROC_MULTITHREADED.


# 28783abb 11-Feb-2015 sg <goldsimon@gmx.de>

fixed bug #43094 "The function tcpip_input() forget to handle IPv6"


# c1804810 17-Jan-2015 sg <goldsimon@gmx.de>

allow enabling socket API without (public) netconn API - netconn API is still used by sockets, but keeping it private (static) should allow better compiler optimizations


# cacdbb52 10-Dec-2014 sg <goldsimon@gmx.de>

added option LWIP_NETCONN_SEM_PER_THREAD to use a semaphore per thread instead of using one per netconn and per select call


# 3f016fcc 06-Apr-2014 Simon Goldschmidt <goldsimon@gmx.de>

Multiple small/minor issues: bug #36492 Static Analysis on code 1.4.0


# e2c2afbb 20-Feb-2014 Simon Goldschmidt <goldsimon@gmx.de>

patch #7885: modification of api modules to support FreeRTOS-MPU (don't pass stack-pointers to other threads) (based on patch by Artem Pisarenko)


# 2cf5eec6 14-Jan-2014 Simon Goldschmidt <goldsimon@gmx.de>

patch by Thomas Faber: patch #8241: Fix implicit declaration of ip_input with LWIP_TCPIP_CORE_LOCKING_INPUT disabled


# 1ddebcc8 18-Aug-2012 Sylvain Rochet <gradator@gradator.net>

Moved PPP headers into include/netif/ppp/, fixing bug #37040.


# d92c4624 07-Jul-2012 Sylvain Rochet <gradator@gradator.net>

added PPP Sequential API module, based from the Network Interface Sequential API module


# 4fca628d 27-Feb-2012 goldsimon <goldsimon@gmx.de>

Speed up LWIP_TCPIP_CORE_LOCKING by directly calling functions in api_msg.c instead of calling via function pointer.


# fb0ad2f9 19-Jul-2011 Simon Goldschmidt <goldsimon@gmx.de>

Fixed bug #33802 tcpip: tcpip_callbackmsg_new sets msg->type to wrong type


# 0f56d838 17-Jun-2011 idelamer <idelamer>

Process IPv6 packets arriving from non-Ethernet links.


# 5a674f41 07-Jun-2011 goldsimon <goldsimon>

Restructured the code a bit to help my dump compiler not creating a jump table in ROM


# a444ec51 13-May-2011 goldsimon <goldsimon>

patch #7449 allow tcpip callback from interrupt with static memory message


# 2e18a9be 14-Apr-2010 goldsimon <goldsimon>

Added an overridable define to get informed when the tcpip_thread processes messages or timeouts to implement a watchdog.


# f70014b8 20-Mar-2010 goldsimon <goldsimon>

Added an option to disable tcpip_(un)timeout code since the linker cannot do this automatically to save space.


# 385d044f 20-Mar-2010 goldsimon <goldsimon>

Corrected spelling of milliseconds (my dictionary tells me to use two l's :)


# 402597c2 21-Feb-2010 goldsimon <goldsimon>

Fixed bug #28970 (invalid preprocessor macro introduced with LWIP_TCPIP_CORE_LOCKING_INPUT)


# db38ee66 20-Feb-2010 goldsimon <goldsimon>

Added define LWIP_TCPIP_CORE_LOCKING_INPUT that lets tcpip_input omit the thread-change to tcpip_thread and instead lock the core


# c5dfa409 14-Feb-2010 goldsimon <goldsimon>

Fixed bug #28183 (ARP and TCP/IP cannot be disabled on netif used for PPPoE) by adding a new netif flag (NETIF_FLAG_ETHERNET) that tells the stack the device is an ethernet device but prevents usage of ARP (so that ethernet_input can be used for PPPoE).


# 0030d1ad 12-Feb-2010 goldsimon <goldsimon>

task #10139 (Prefer statically allocated memory): converted mbox and semaphore functions to take pointers to sys_mbox_t/sys_sem_t; converted sys_mbox_new/sys_sem_new to take pointers and return err_t; task #7212: Add Mutex concept in sys_arch (define LWIP_COMPAT_MUTEX to let sys.h use binary semaphores instead of mutexes - as before)


# e678e1bd 25-Jan-2010 goldsimon <goldsimon>

bug #28659: Missing casts


# cc1e9370 18-Jan-2010 goldsimon <goldsimon>

Minor: fixed argument casts for mbox_fetch parameters (to fix compiler warnings)


# 34139606 17-Jan-2010 goldsimon <goldsimon>

task #10102: "netconn: clean up conn->err threading issues" by adding error return value to struct api_msg_msg


# 2d4e7687 14-Jan-2010 goldsimon <goldsimon>

Using typedefs for function prototypes and -pointers throughout the stack for clarity


# a566f9d8 31-Dec-2009 goldsimon <goldsimon>

Separated timer implementation from semaphore/mbox implementation, moved timer implementation to timers.c/.h (TASK#7235)


# a1c0b9da 27-Dec-2009 goldsimon <goldsimon>

Added an additional option LWIP_ETHERNET to support ethernet without ARP (necessary for pure PPPoE) - no changes in the ppp code yet


# 152d22d4 02-May-2009 goldsimon <goldsimon>

fixed tcpip_untimeout (does not need the time, broken after 1.3.0 in CVS only) - fixes compilation of ppp_oe.c


# aa568727 19-Dec-2008 goldsimon <goldsimon>

patch #6699: fixed some warnings on platform where sizeof(int) == 2


# 95b15fe4 27-Jun-2008 goldsimon <goldsimon>

Fix typo, add comment


# 05587f5d 28-Mar-2008 goldsimon <goldsimon>

Changed the pbuf_free/mem_free callback functions a little: created extra functions for that


# 43dd38df 27-Mar-2008 goldsimon <goldsimon>

fixed bug #21433 (Calling mem_free/pbuf_free from interrupt context isn't safe): set LWIP_USE_HEAP_FROM_INTERRUPT to 1 in lwipopts.h or use tcpip_callback_nonblocking(pbuf_free_int, p)/ tcpip_callback_nonblocking(mem_free, m) to free pbufs or heap memory from interrupt context


# 55bcc20d 12-Jan-2008 fbernon <fbernon>

tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field netconn::sem per netconn::op_completed like suggested for the task #7490 "Add return value to sys_mbox_post".


# 4e40fee1 10-Jan-2008 fbernon <fbernon>

tcpip.h, tcpip.c: add tcpip_callback_with_block function for the task #7490 "Add return value to sys_mbox_post". tcpip_callback is always defined as "blocking" ("block" parameter = 1).


# bceff76c 10-Jan-2008 fbernon <fbernon>

tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field netconn::mbox (sys_mbox_t) per netconn::sem (sys_sem_t) for the task #7490 "Add return value to sys_mbox_post".


# 5941b3c8 05-Jan-2008 fbernon <fbernon>

sys_arch.txt, api.h, api_lib.c, api_msg.h, api_msg.c, tcpip.c, sys.h, opt.h: Introduce changes for task #7490 "Add return value to sys_mbox_post" with some modifications in the sys_mbox api: sys_mbox_new take a "size" parameters which indicate the number of pointers query by the mailbox. There is three defines in opt.h to indicate sizes for tcpip::mbox, netconn::recvmbox, and for the netconn::acceptmbox. Port maintainers, you can decide to just add this new parameter in your implementation, but to ignore it to keep the previous behavior. The new sys_mbox_trypost function return a value to know if the mailbox is full or if the message is posted. Take a look to sys_arch.txt for more details. This new function is used in tcpip_input (so, can be called in an interrupt context since the function is not blocking), and in recv_udp and recv_raw.


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

Minor change (doxygen tags)


# 0c0e8d65 14-Nov-2007 fbernon <fbernon>

opt.h, init.c, tcpip.c, dhcp.c, dns.h, dns.c: add DNS client for simple name requests with RAW api interface. Initialization is done in lwip_init() with build time options. DNS timer is added in tcpip_thread context. DHCP can set DNS server ip addresses when options are received. You need to set LWIP_DNS=1 in your lwipopts.h file (LWIP_DNS=0 in opt.h). DNS_DEBUG can be set to get some traces with LWIP_DEBUGF. Sanity check have been added. There is a "todo" list with points to improve.


# 649d43c2 15-Oct-2007 fbernon <fbernon>

Minor change (define DHCP_COARSE_TIMER_MSECS - using DHCP_COARSE_TIMER_SECS - to use milliseconds like all others timers)


# 199648ff 09-Oct-2007 goldsimon <goldsimon>

Changed initialization: many init functions are not needed any more since we now rely on the compiler initializing global and static variables to zero!


# cb71d6d3 05-Oct-2007 goldsimon <goldsimon>

Moved ethernet_input from tcpip.c to etharp.c so all netifs (or ports) can use it.


# c265fa33 12-Sep-2007 fbernon <fbernon>

Add missing #if/#endif to fix build problems with:

#define NO_SYS 0
#define LWIP_SOCKET 0
#define LWIP_NETCONN 0


# 1c6e3117 09-Sep-2007 fbernon <fbernon>

Add missing include files.


# 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.


# 90a3f88c 05-Sep-2007 fbernon <fbernon>

Change parameters list for sys_thread_new (see "task #7252 : Create sys_thread_new_ex()"). Two new parameters have to be provided: a task name, and a task stack size. For this one, since it's platform dependant, you could define the best one for you in your lwipopts.h. For port maintainers, you can just add these new parameters in your sys_arch.c file, and but it's not mandatory, use them in your OS specific functions.


# cd208314 29-Aug-2007 fbernon <fbernon>

igmp.h, igmp.c, tcpip.c, init.c, netif.c: change igmp_init and add igmp_start. igmp_start is call inside netif_add. Now, igmp initialization is in the same spirit than the others modules. Modify some IGMP debug traces.


# 48db3a3e 29-Aug-2007 fbernon <fbernon>

Add init.h, init.c, Change opt.h, tcpip.c: Task #7213 "Add a lwip_init function" Add lwip_init function to regroup all modules initializations, and to provide a place to add code for task #7142 "Sanity check user-configurable values". Ports maintainers should remove direct initializations calls from their code, and add init.c in their makefiles. Note that lwip_init() function is called inside tcpip_init, but can also be used by raw api users since all calls are disabled when matching options are disabled. Also note that their is new options in opt.h, you should configure in your lwipopts.h (they are enabled per default).


# 7182fb8f 29-Aug-2007 fbernon <fbernon>

tcpip.c: Fix TCPIP_MSG_INPKT processing: now, tcpip_input can be used for any kind of packets. These packets are considered like Ethernet packets (payload pointing to ethhdr) if the netif got the NETIF_FLAG_ETHARP flag. Else, packets are considered like IP packets (payload pointing to iphdr).


# 42f3c24f 22-Aug-2007 fbernon <fbernon>

tcpip.h, tcpip.c, ethernetif.c, opt.h: remove options ETHARP_TCPIP_INPUT & ETHARP_TCPIP_ETHINPUT, now, only "ethinput" code is supported, even if the name is tcpip_input (we keep the name of 1.2.0 function).


# 885695fa 17-Aug-2007 fbernon <fbernon>

Minor changes (tabs)


# e0bf309b 17-Aug-2007 fbernon <fbernon>

Add raw_init in tcpip_init + minor changes (tabs, ident, coding style...)


# 0167bbb8 16-Aug-2007 marcbou <marcbou>

Per Frederic's suggestion, renamed
[MEMP_[NUM_]]TCPIP_MSG to [MEMP_[NUM_]]TCPIP_MSG_API
and
[MEMP_[NUM_]]TCPIP_MSG_INPUT to [MEMP_[NUM_]]TCPIP_MSG_INPKT.

Added defines in opt.h for temporary compatibility with older lwipopts.h.


# 2be12287 16-Aug-2007 fbernon <fbernon>

Minor changes (tabs, ident, coding style...)


# c81d0f33 16-Aug-2007 marcbou <marcbou>

fix ethernet_input() return code warning.


# 1b98df4a 16-Aug-2007 marcbou <marcbou>

Added distinct memp (MEMP_TCPIP_MSG_INPUT) for input packets to prevent
floods from consuming all of MEMP_TCPIP_MSG and starving other message types.


# 58bfb045 16-Aug-2007 marcbou <marcbou>

Added PPPoE support to ethernet_input()


# 931fcfd0 16-Aug-2007 marcbou <marcbou>

Added PPPoE support and various PPP improvements.


# 9152d667 09-Aug-2007 fbernon <fbernon>

Comments Fix for Doxygen documentation


# d6fbe452 28-Jun-2007 fbernon <fbernon>

netifapi.h, netifapi.c, tcpip.h, tcpip.c: Update code to handle the option LWIP_TCPIP_CORE_LOCKING, and do some changes to be coherent with last modifications in api_lib/api_msg (use pointers and not type with table, etc...)


# ec7333d4 19-Jun-2007 fbernon <fbernon>

Some changes for AutoIP integration in tcpip.c, and some comments.


# 96dc30de 16-Jun-2007 goldsimon <goldsimon>

Done some work on task #1549 (function documentation)


# 090aaefb 08-Jun-2007 fbernon <fbernon>

Add LWIP_TCPIP_CORE_LOCKING option (0 as default value) to experiment "locking" as feature to communicate with tcpip_thread for sequential API (netconn & socket layers). Add a alternative code for lwip_sendto to how the code can be optimized with such feature....


# 2ff620e1 22-May-2007 fbernon <fbernon>

sys.h, sys.c, api_lib.c, tcpip.c: remove sys_mbox_fetch_timeout() (was only used for LWIP_SO_RCVTIMEO option) and use sys_arch_mbox_fetch() instead of sys_mbox_fetch() in api files. Now, users SHOULD NOT use internal lwIP features like "sys_timeout" in their application threads.


# 8fa3b680 18-May-2007 goldsimon <goldsimon>

Added #if !NO_SYS to most of the api files since they only work with a sys layer (makes it easier for port projects).


# 5e9d80fb 17-May-2007 goldsimon <goldsimon>

tcpip_input()/tcpip_ethinput(): don't free the pbuf if returning ERR_MEM, that is the netif driver's responsibility


# 0f8a2d64 16-May-2007 fbernon <fbernon>

tcpip.c, igmp.h, igmp.c: Fixed bug "#19800 : IGMP: igmp_tick() will not work with NO_SYS=1". Note that igmp_init is always in tcpip_thread (and not in tcpip_init) because we have to be sure that network interfaces are already added (mac filter is updated only in igmp_init for the moment).


# 9cf1390d 11-May-2007 fbernon <fbernon>

sockets.c, api_lib.c, api_msg.h, api_msg.c, netifapi.h, netifapi.c, tcpip.c: Include a function pointer instead of a table index in the message to reduce footprint. Disable some part of lwip_send and lwip_sendto if some options are not set (LWIP_TCP, LWIP_UDP, LWIP_RAW).


# 4bedb07a 24-Apr-2007 goldsimon <goldsimon>

Added some more LWIP_UNUSED_ARG()s


# 7932bf48 11-Apr-2007 goldsimon <goldsimon>

Ongoing fix to patch #5822: converted more statements like (void)arg; into LWIP_UNUSED_ARG(arg);


# 35893e36 06-Apr-2007 fbernon <fbernon>

opt.h, tcpip.h, tcpip.c, netifapi.h, netifapi.c: New configuration option LWIP_NETIF_API allow to use thread-safe functions to add/remove netif in list, and to start/stop dhcp clients, using new functions from netifapi.h. Disable as default (no port change to do).


# bef05035 26-Mar-2007 goldsimon <goldsimon>

Removed warning: sizeof() was automatically casted to negative


# 19338d27 26-Mar-2007 fbernon <fbernon>

opt.h, tcpip.c: New configuration option LWIP_ARP allow to disable ARP init at build time if you only use PPP or SLIP. The default is enable. Note we don't have to call etharp_init in your port's initilization sequence if you use tcpip.c, because this call is done in tcpip_init function.


# 3eb38d76 21-Mar-2007 fbernon <fbernon>

api_lib.c, api_msg.c, tcpip.c: integrate sys_mbox_fetch(conn->mbox, NULL) calls from api_lib.c to tcpip.c's tcpip_apimsg(). Now, use a local variable and not a dynamic one from memp to send tcpip_msg to tcpip_thread in a synchrone call. Free tcpip_msg from tcpip_apimsg is not done in tcpip_thread. This give a faster and more reliable communication between api_lib and tcpip.


# 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.


# 713e89cd 20-Mar-2007 fbernon <fbernon>

tcpip.c: Initialize tcpip's mbox, and verify if initialized in tcpip_input, tcpip_ethinput, tcpip_callback, tcpip_apimsg, to fix a init problem with network interfaces. Also fix a compiler warning.


# b035a619 19-Mar-2007 fbernon <fbernon>

Add return types to tcpip_apimsg() and api_msg_post() to check ERR_MEM problems (api_lib.c can be change now).


# a24a170b 11-Mar-2007 fbernon <fbernon>

New configuration option LWIP_IGMP to enable IGMP processing. Based on only one filter per all network interfaces. Declare a new function in netif to enable to control the MAC filter (to reduce lwIP traffic processing).

Mace Gael for the upper layers, Steve Reynolds for lower ones...


# fdcb87db 08-Mar-2007 fbernon <fbernon>

Implement LWIP_SO_RCVTIMEO configuration option to enable/disable SO_RCVTIMEO on UDP sockets/netconn.


# a8688327 08-Mar-2007 goldsimon <goldsimon>

Initialize dhcp timers in tcpip_thread (if LWIP_DHCP) to protect the stack from concurrent access.


# 7cda7284 06-Mar-2007 fbernon <fbernon>

Fix some "little" build problems, and a redundancy call to "lwip_stats.link.recv++;" in low_level_input() & ethernetif_input().
If LINK_STATS was defined, tcpip.c couldn't be build.
Even if IP_FRAG or IP_REASSEMBLY were set, ip_frag.c functions are not build.


# 7fd37d4e 06-Mar-2007 fbernon <fbernon>

Implement SO_RCVTIMEO on UDP sockets/netconn.


# ed07d481 06-Mar-2007 fbernon <fbernon>

opt.h, ip_frag.h, tcpip.h, tcpip.c, ethernetif.c: add new configuration option named ETHARP_TCPIP_ETHINPUT, which enable the new tcpip_ethinput. Allow to do ARP processing for incoming packets inside tcpip_thread (protecting ARP layer against concurrent access). You can also disable old code using tcp_input with new define ETHARP_TCPIP_INPUT set to 0. Older ports have to use tcpip_ethinput.


# bb8522b7 03-Mar-2007 goldsimon <goldsimon>

tcpip.c: Moved call to ip_init(), udp_init() and tcp_init() from tcpip_thread() to tcpip_init()


# 527d18a5 28-Feb-2007 kieranm <kieranm>

2007-02-28 Kieran Mansley (based on patch from Simon Goldschmidt)
* api_lib.c, tcpip.c, memp.c, memp.h: make API msg structs allocated
on the stack and remove the API msg type from memp


# 00f8cf57 01-Mar-2006 christiaans <christiaans>

Added IP reassembly timer.


# 0e96ece6 28-Nov-2004 likewise <likewise>

Surround definition of tcp_timer_needed with #if !NO_SYS #endif. (see lwip-users 15-11-2004).


# 8d052ecf 12-Jul-2004 likewise <likewise>

Source documentation added.


# e1c4bfad 06-Feb-2004 likewise <likewise>

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


# e4a6d199 14-Nov-2003 likewise <likewise>

Merged from DEVEL into main tree.


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

Merged from DEVEL.


# 80145519 10-Jun-2003 kieranm <kieranm>

Changed DEBUGF to LWIP_DEBUGF


# df99ce9d 09-Jun-2003 likewise <likewise>

Replaced all tabs with two spaces (regardless of indentation is correct).


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

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


# 859f06a9 21-Mar-2003 jani <jani>

if LWIP_TCP is 0 do not link in TCP code.putting ugly ifdefs in api and core :(.Also only udp_init if LWIP_UDP is on


# 84697ce7 19-Mar-2003 jani <jani>

Add priority argument to thread sys_thread_new.Patch from floriZ but slightly modfied


# 441e9b84 19-Mar-2003 jani <jani>

add tcpip_callback patch from Marc


# 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.


# 7f1becc6 18-Feb-2003 davidhaas <davidhaas>

Allow minimal unix target to build in cygwin (but not necessarily run).

Applied a patch from Marc Boucher which has the following changes:

1) Fixed sys_arch.txt documentation to have new return type from
sys_thread_new.

2) Removed unnecessary casts on calling sys_timeout() in certain files.

3) Removed some unnecessary break statements after return statements.

4) Changed sys_timeout_remove() to sys_untimeout().

5) Added some forgotten #ifndef SYS_LIGHTWEIGHT_PROT to memp.c

6) Changed LWIP_DIAG and LWIP_PLATFORM_ASSERT to have do while().


# 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.


# cc4df710 08-Jan-2003 likewise <likewise>

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


# 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.


# f06e9550 18-Oct-2002 likewise <likewise>

Initial revision