Commit Graph

127 Commits

Author SHA1 Message Date
goldsimon
be316e81a7 Introduced fast one-entry-cache to speed up ARP lookup when sending multiple packets to the same host. 2007-05-04 19:31:27 +00:00
goldsimon
7f232b43ff checked in patch #5913: in memp_malloc() we can return memp as mem to save a little RAM (next pointer of memp is not used while not in pool). 2007-05-04 15:52:11 +00:00
fbernon
5a12aeb4a1 sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c: Fix bug #19162 "lwip_sento: a possible to corrupt remote addr/port connection state". Reduce problems "not enought memory" with netbuf (if we receive lot of datagrams). Improve lwip_sendto (only one exchange between sockets api and api_msg which run in tcpip_thread context). Add netconn_sento function. WARNING, if you directly access to "fromaddr" & "fromport" field from netbuf struct, these fields are now renamed "addr" & "port". 2007-05-04 15:18:29 +00:00
jifl
e895aa71a4 * sockets.c: Fix ioctl FIONREAD when some data remains from last recv.
(patch #3574).
2007-05-03 19:13:27 +00:00
goldsimon
02e194b15f fix bug #2595: "loopif results
in NULL reference for incoming TCP packets". Loopif has to be configured
(using LWIP_LOOPIF_MULTITHREADING) to directly call netif->input()
(multithreading environments, e.g. netif->input() = tcpip_input()) or
putting packets on a list that is fed to the stack by calling loopif_poll()
(single-thread / NO_SYS / polling environment where e.g.
netif->input() = ip_input).
2007-04-23 20:00:29 +00:00
jifl
eacac8ee1d * sockets.h: FD_SETSIZE needs to match number of sockets, which is
MEMP_NUM_NETCONN in sockets.c right now.
2007-04-17 14:50:08 +00:00
jifl
cd19d81411 * pbuf.c: Use s32_t in pbuf_realloc(), as an s16_t can't reliably hold
the difference between two u16_t's.
2007-04-17 14:44:41 +00:00
jifl
748ba22a19 * icmp.c: Reset IP header TTL in ICMP ECHO responses (bug #19580). 2007-04-12 18:55:44 +00:00
goldsimon
e54f3fdaac 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). 2007-04-11 18:50:45 +00:00
jifl
e8b055b8d3 Oops, forgot final version of Changelog for last change I made. 2007-04-11 16:20:07 +00:00
jifl
0c94f22ded * sys.h, api_lib.c: Provide new sys_mbox_tryfetch function.
Require ports to provide new sys_arch_mbox_tryfetch function to get
    a message if one is there, otherwise return with SYS_MBOX_EMPTY.
2007-04-11 15:41:03 +00:00
kieranm
05909d6fa7 Apply patch #5745: Fix "Constant is long" warnings with 16bit
compilers.  Contributed by avatar@mmlab.cse.yzu.edu.tw
2007-04-11 13:32:41 +00:00
fbernon
35893e36dd 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). 2007-04-06 10:09:24 +00:00
fbernon
5f1aac1450 api_msg.c: Fix bug #16830: "err_tcp() posts to connection mailbox when no pend on the mailbox is active". Now, the post is only done during a connect, and do_send, do_write and do_join_leave_group don't do anything if a previous error was signaled. 2007-04-05 16:54:20 +00:00
fbernon
7fdd312cca sockets.c: remplace ENOBUFS errors on alloc_socket by ENFILE to be more BSD compliant. 2007-04-05 16:49:33 +00:00
goldsimon
f16911f7dd comment to the last check-in was incomplete: Introduced #define LWIP_UNUSED_ARG(x) use this for and architecture-independent form to tell the compiler you intentionally are not using this variable. Can be overriden in cc.h. 2007-04-04 19:55:42 +00:00
goldsimon
f6bdd2cae4 Introduced #define LWIP_UNUSED_ARG(x) use this for and architecture-independent form to tell the compiler you intentionally are not using this variable. Can be overriden in cc.h. 2007-04-04 19:54:22 +00:00
fbernon
26e88dc2c1 Don't set the IP_DF ("Don't fragment") flag in the IP header in IP output packets. See patch #5834. 2007-04-03 14:08:11 +00:00
fbernon
996d5fda69 ip.c: if IP_REASSEMBLY is set to 1, don't set the IP_DF ("Don't fragment") flag in the IP header in IP output packets. 2007-03-30 13:30:42 +00:00
fbernon
f1412f5e5a api_msg.c: add a "pcb_new" helper function to avoid redundant code, and to add missing pcb allocations checking (in do_bind, and for each raw_new). Fix style. 2007-03-30 09:42:16 +00:00
fbernon
5368a760cf most of files: prefix all debug.h define with "LWIP_" to avoid any conflict with others environment defines (these were too "generic"). 2007-03-30 08:47:04 +00:00
fbernon
913a99dd35 api.h, api_lib.c, sockets.c: netbuf_ref doesn't check its internal pbuf_alloc call result and can cause a crash. lwip_send now check netbuf_ref result. 2007-03-28 17:26:06 +00:00
goldsimon
d956a39fec sockets.c Remove "#include <errno.h>" from sockets.c to avoid multiple
definition of macros (in errno.h and lwip/arch.h) if LWIP_PROVIDE_ERRNO is
    defined. This is the way it should have been already (looking at
    doc/sys_arch.txt)
2007-03-28 14:49:04 +00:00
kieranm
01d9bd573e 2007-03-28 Kieran Mansley
* opt.h Change default PBUF_POOL_BUFSIZE (again) to accomodate default MSS +
    IP and TCP headers *and* physical link headers
2007-03-28 12:27:38 +00:00
fbernon
c1fe7517ec opt.h, netif.h, dhcp.h, dhcp.c: New configuration option LWIP_NETIF_HOSTNAME allow to define a hostname in netif struct (this is just a pointer, so, you can use a hardcoded string, point on one of your's ethernetif field, or alloc a string you will free yourself). It will be used by DHCP to register a client hostname, but can also be use when you call snmp_set_sysname. 2007-03-28 09:39:12 +00:00
fbernon
cd1c96db56 netif.h, netif.c: A new NETIF_FLAG_ETHARP flag is defined in netif.h, to allow to initialize a network interface's flag with. It tell this interface is an ethernet device, and we can use ARP with it to do a "gratuitous ARP" (RFC 3220 "IP Mobility Support for IPv4" section 4.6) when interface is "up" with netif_set_up(). 2007-03-28 09:23:35 +00:00
fbernon
19338d2774 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. 2007-03-26 16:13:46 +00:00
fbernon
005e5f2f72 api_lib.c (from Dmitry Potapov) : patch for netconn_write(), fixes a possible race condition which cause to send some garbage. It is not a definitive solution, but the patch does solve the problem for most cases. 2007-03-26 15:37:48 +00:00
fbernon
e54cd23ecb stats.h, stats.c, msg_in.c: Stats counters can be change to u32_t if necessary with the new option LWIP_STATS_LARGE. If you need this option, define LWIP_STATS_LARGE to 1 in your lwipopts.h. More, unused counters are not defined in the stats structs, and not display by stats_display(). Note that some options (SYS_STATS and RAW_STATS) are defined but never used. Fix msg_in.c with the correct #if test for a stat display. 2007-03-22 16:36:45 +00:00
fbernon
544e469eeb api_msg.h, api_msg.c: Remove obsolete API_MSG_ACCEPT and do_accept (never used). 2007-03-22 09:34:18 +00:00
fbernon
db739d16ce api_lib.c: somes resources couldn't be freed if there was errors during netconn_new_with_proto_and_callback. 2007-03-22 09:27:04 +00:00
fbernon
5fff6e7ff8 ethernetif.c: update netif->input calls to check return value. In older ports, it's a good idea to upgrade them, even if before, there could be another problem (access to an uninitialized mailbox). 2007-03-22 09:09:27 +00:00
goldsimon
776c01e60b fixed bug #5067 (essentialy a signed/unsigned warning fixed by casting to unsigned). 2007-03-21 21:14:06 +00:00
fbernon
3eb38d7611 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. 2007-03-21 16:38:58 +00:00
fbernon
766159e27e opt.h: Add LWIP_NETIF_CALLBACK (to avoid compiler warning) and set it to 0. 2007-03-21 15:35:02 +00:00
fbernon
bb34d8cfd1 api_msg.c, igmp.c, igmp.h: Fix C++ style comments 2007-03-21 14:47:52 +00:00
kieranm
e5147d5562 * netif.c, netif.h: Apply patch#4197 with some changes (originator: rireland@hmgsl.com).
Provides callback on netif up/down state change.
2007-03-21 13:24:20 +00:00
kieranm
d7ff85850c 2007-03-21 Kieran Mansley
* opt.h Change default PBUF_POOL_BUFSIZE to accomodate default MSS +
    IP and TCP headers
2007-03-21 13:05:51 +00:00
kieranm
7294cb080b * 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.
2007-03-21 12:55:00 +00:00
kieranm
b422864d5d sockets.c, igmp.c, igmp.h, memp.h: Fix C++ style comments and
comment out missing header include in icmp.c
2007-03-21 12:50:04 +00:00
fbernon
eab3667b61 memp.h, stats.c: Fix stats_display function where memp_names table wasn't synchronized with memp.h 2007-03-20 18:12:06 +00:00
fbernon
713e89cdb2 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. 2007-03-20 18:01:40 +00:00
kieranm
b290f0442d udp.c: Only try and use pbuf_header() to make space for headers if
not a ROM or REF pbuf.
2007-03-20 16:58:08 +00:00
fbernon
b035a6196a Add return types to tcpip_apimsg() and api_msg_post() to check ERR_MEM problems (api_lib.c can be change now). 2007-03-19 20:35:32 +00:00
fbernon
e4cd00b5ea Remove unimplemented "memp_realloc" function from memp.h. 2007-03-19 20:23:58 +00:00
goldsimon
3bb13829fe checked in patch #5796: pbuf_alloc: len field claculation caused memory corruption. 2007-03-11 20:07:37 +00:00
fbernon
a24a170b84 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...
2007-03-11 19:16:38 +00:00
goldsimon
bc4b3764fc Fixed bug #19251 (missing `const' qualifier in socket functions), to get more compatible to standard POSIX sockets. 2007-03-11 17:57:13 +00:00
fbernon
9b143dd5dc Based on patch from Dmitry Potapov, bug#19225.
Add asserts inside bind, connect and sendto to check input parameters. Remove excessive set_errno() calls after get_socket(), because errno is set inside of get_socket(). Move last sock_set_errno() inside lwip_close.
2007-03-11 16:53:37 +00:00
fbernon
5c65d4733b Keepalive values can be configured at run time with LWIP_TCP_KEEPALIVE, but don't change this unless you know what you're doing (default are RFC1122 compliant). Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set in seconds.
Old TCP_KEEPALIVE can always be used, and its only difference with TCP_KEEPIDLE is this last use seconds and not milliseconds with setsockopt.

Some documentation (not perfect, but...):

http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.commtechref/doc/commtrf2/setsockopt.htm
2007-03-11 15:53:43 +00:00