Sylvain Rochet
0e919d25e9
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 .
2015-03-19 21:04:21 +01:00
Ivan Delamer
e0fe83740a
fixed bug #44565 : PPPOS support in tcpip thread breaks SLIP
2015-03-18 10:16:14 -06:00
Sylvain Rochet
9778b1411c
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.
2015-03-11 00:58:09 +01:00
sg
28783abbe2
fixed bug #43094 "The function tcpip_input() forget to handle IPv6"
2015-02-11 21:36:46 +01:00
sg
c1804810d8
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
2015-01-17 14:42:50 +01:00
sg
cacdbb5262
added option LWIP_NETCONN_SEM_PER_THREAD to use a semaphore per thread instead of using one per netconn and per select call
2014-12-10 20:45:01 +01:00
Sylvain Rochet
ca7769e041
Merge branch 'master' into ppp-new
2014-04-12 01:25:00 +02:00
Simon Goldschmidt
3f016fcc5a
Multiple small/minor issues: bug #36492 Static Analysis on code 1.4.0
2014-04-06 21:43:37 +02:00
Sylvain Rochet
d7ba4bbb9b
Merge branch 'master' into ppp-new
2014-02-21 00:39:29 +01:00
Simon Goldschmidt
e2c2afbbe0
patch #7885 : modification of api modules to support FreeRTOS-MPU (don't pass stack-pointers to other threads) (based on patch by Artem Pisarenko)
2014-02-20 19:50:17 +01:00
Sylvain Rochet
87cfd930e4
Merge branch 'master' into ppp-new
2014-01-17 00:48:55 +01:00
Simon Goldschmidt
2cf5eec62f
patch by Thomas Faber: patch #8241 : Fix implicit declaration of ip_input with LWIP_TCPIP_CORE_LOCKING_INPUT disabled
2014-01-14 21:32:45 +01:00
Sylvain Rochet
1ddebcc862
Moved PPP headers into include/netif/ppp/, fixing bug #37040 .
2012-08-18 22:40:19 +02:00
Sylvain Rochet
d92c462466
added PPP Sequential API module, based from the Network Interface Sequential API module
2012-07-07 19:50:56 +02:00
goldsimon
4fca628d36
Speed up LWIP_TCPIP_CORE_LOCKING by directly calling functions in api_msg.c instead of calling via function pointer.
2012-02-28 12:45:59 +01:00
Simon Goldschmidt
fb0ad2f9ea
Fixed bug #33802 tcpip: tcpip_callbackmsg_new sets msg->type to wrong type
2011-07-19 21:52:40 +02:00
idelamer
0f56d838ec
Process IPv6 packets arriving from non-Ethernet links.
2011-06-17 11:06:06 +00:00
goldsimon
5a674f419d
Restructured the code a bit to help my dump compiler not creating a jump table in ROM
2011-06-07 19:07:00 +00:00
goldsimon
a444ec5111
patch #7449 allow tcpip callback from interrupt with static memory message
2011-05-14 12:23:10 +00:00
goldsimon
2e18a9be63
Added an overridable define to get informed when the tcpip_thread processes messages or timeouts to implement a watchdog.
2010-04-14 07:02:26 +00:00
goldsimon
f70014b8ea
Added an option to disable tcpip_(un)timeout code since the linker cannot do this automatically to save space.
2010-03-20 11:55:41 +00:00
goldsimon
385d044f7d
Corrected spelling of milliseconds (my dictionary tells me to use two l's :)
2010-03-20 11:34:50 +00:00
goldsimon
402597c2cb
Fixed bug #28970 (invalid preprocessor macro introduced with LWIP_TCPIP_CORE_LOCKING_INPUT)
2010-02-22 12:57:00 +00:00
goldsimon
db38ee6630
Added define LWIP_TCPIP_CORE_LOCKING_INPUT that lets tcpip_input omit the thread-change to tcpip_thread and instead lock the core
2010-02-21 12:38:08 +00:00
goldsimon
c5dfa4099d
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).
2010-02-14 16:44:47 +00:00
goldsimon
0030d1ade5
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)
2010-02-12 13:49:21 +00:00
goldsimon
e678e1bdcb
bug #28659 : Missing casts
2010-01-25 08:24:30 +00:00
goldsimon
cc1e9370af
Minor: fixed argument casts for mbox_fetch parameters (to fix compiler warnings)
2010-01-18 08:11:39 +00:00
goldsimon
34139606ca
task #10102 : "netconn: clean up conn->err threading issues" by adding error return value to struct api_msg_msg
2010-01-17 18:28:56 +00:00
goldsimon
2d4e76874c
Using typedefs for function prototypes and -pointers throughout the stack for clarity
2010-01-14 20:02:15 +00:00
goldsimon
a566f9d8f2
Separated timer implementation from semaphore/mbox implementation, moved timer implementation to timers.c/.h (TASK#7235)
2009-12-31 16:16:44 +00:00
goldsimon
a1c0b9da7b
Added an additional option LWIP_ETHERNET to support ethernet without ARP (necessary for pure PPPoE) - no changes in the ppp code yet
2009-12-27 11:40:48 +00:00
goldsimon
152d22d4f9
fixed tcpip_untimeout (does not need the time, broken after 1.3.0 in CVS only) - fixes compilation of ppp_oe.c
2009-05-02 16:12:35 +00:00
goldsimon
aa568727d1
patch #6699 : fixed some warnings on platform where sizeof(int) == 2
2008-12-19 18:08:29 +00:00
goldsimon
95b15fe463
Fix typo, add comment
2008-06-27 20:34:51 +00:00
goldsimon
05587f5da9
Changed the pbuf_free/mem_free callback functions a little: created extra functions for that
2008-03-28 07:56:47 +00:00
goldsimon
43dd38df0a
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
2008-03-27 19:29:35 +00:00
fbernon
55bcc20deb
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".
2008-01-12 11:52:21 +00:00
fbernon
4e40fee1db
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).
2008-01-10 21:47:52 +00:00
fbernon
bceff76c70
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".
2008-01-10 21:34:25 +00:00
fbernon
5941b3c86e
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.
2008-01-05 21:10:32 +00:00
fbernon
3d9c76a69c
Minor change (doxygen tags)
2007-11-24 22:13:25 +00:00
fbernon
0c0e8d6544
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.
2007-11-14 23:27:13 +00:00
fbernon
649d43c2c5
Minor change (define DHCP_COARSE_TIMER_MSECS - using DHCP_COARSE_TIMER_SECS - to use milliseconds like all others timers)
2007-10-15 21:31:42 +00:00
goldsimon
199648ff37
Changed initialization: many init functions are not needed any more since we now rely on the compiler initializing global and static variables to zero!
2007-10-09 19:59:56 +00:00
goldsimon
cb71d6d393
Moved ethernet_input from tcpip.c to etharp.c so all netifs (or ports) can use it.
2007-10-05 14:00:48 +00:00
fbernon
c265fa3331
Add missing #if/#endif to fix build problems with:
...
#define NO_SYS 0
#define LWIP_SOCKET 0
#define LWIP_NETCONN 0
2007-09-12 09:19:43 +00:00
fbernon
1c6e31173d
Add missing include files.
2007-09-09 22:34:55 +00:00
fbernon
e3cd1ac1f9
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.
2007-09-07 23:01:59 +00:00
fbernon
90a3f88c08
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.
2007-09-05 16:14:28 +00:00