jgrubb
c555b532a2
Add NETIF_LINK_CALLBACK into the netif_set_link_up/down functions
2007-08-08 18:22:08 +00:00
fbernon
fdc4c25e67
Minor fix (warnings on unused args, wrong type, cast u32_t to u16_t...)
2007-08-01 13:41:31 +00:00
fbernon
083134bc12
Minor fix (warning when LWIP_DEBUG is undefined)
2007-07-29 09:25:19 +00:00
fbernon
f1c4a9ebfa
Minor fix (warning when LWIP_DEBUG is undefined)
2007-07-29 08:31:31 +00:00
fbernon
1edd2ed3db
Minor fix on pbuf_init (fix warning) and use same coding style that mem.h, sys.h, tcp.h, etc...
2007-07-29 08:23:57 +00:00
fbernon
b8b04271b5
Minor fix (warning, linker helper) signaled by Bill Florac
2007-07-29 08:11:33 +00:00
jifl
f0b33f5ced
Make pbuf_init() call be an empty macro for now
2007-07-27 15:06:03 +00:00
fbernon
42eead8f41
igmp.c: Fix bug #20595 to accept IGMPv3 "Query" messages.
2007-07-26 17:10:56 +00:00
goldsimon
33054a18db
Added a better comment to explain why tcp_close doesn't care for the return value of tcp_output
2007-07-26 09:31:09 +00:00
goldsimon
f4036e8352
Another fix for bug #20021 : by not returning an error if tcp_output fails in tcp_close, the code in do_close_internal gets simpler (tcp_output is called again later from tcp timers).
2007-07-25 19:24:27 +00:00
goldsimon
f9c30017b0
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.
2007-07-25 18:53:45 +00:00
goldsimon
8be76ed450
tcp_enqueue: pcb->snd_queuelen didn't work for chaine PBUF_RAMs: changed snd_queuelen++ to snd_queuelen += pbuf_clen(p).
2007-07-25 08:46:41 +00:00
fbernon
328b25d561
Minor Fix: remove obsolete MEMP_NUM_API_MSG define and update comment
2007-07-25 07:46:44 +00:00
goldsimon
9eff9676e9
Fix bug #20506 : Slow start / initial congestion window starts with 2 * mss (instead of 1 * mss previously) to comply with some newer RFCs and other stacks.
2007-07-25 07:31:29 +00:00
fbernon
a1d8335a8c
Fix do_delconn when used with LWIP_TCPIP_CORE_LOCKING=1 on "non-TCP" connections...
2007-07-24 17:27:48 +00:00
fbernon
d5a174364a
Minor fix: debug text inside ethernetif_input
2007-07-24 08:49:00 +00:00
goldsimon
62c3de30b9
Fix bug #20480 : Check the pcb passed to tcp_listen() for the correct state (must be CLOSED).
2007-07-24 07:41:55 +00:00
goldsimon
ebcb46cd48
Included the mem_malloc pools in memp_names if MEM_USE_POOLS=1
2007-07-18 20:30:21 +00:00
goldsimon
1689361ff2
Another change for fixing bug #20478 (put the memp += MEMP_SIZE in another place)
2007-07-15 10:54:24 +00:00
jgrubb
eb998bda62
Bug fix #20478 : memp_malloc returns NULL+MEMP_SIZE rather than NULL on a failed allocation
2007-07-14 00:07:43 +00:00
fbernon
116bcb9dfb
opt.h, netif.h, netif.c, ethernetif.c: Add new configuration option to add a link callback in the netif struct, and functions to handle it. Be carefull for port maintainers to add the NETIF_FLAG_LINK_UP flag (like in ethernetif.c) if you want to be sure to be compatible with future changes...
2007-07-13 15:00:40 +00:00
fbernon
6a452951f5
api_msg.c: Fix bug #20318 : api_msg "recv" callbacks don't call pbuf_free in all error cases.
2007-07-13 14:28:15 +00:00
fbernon
a891854ef5
Fix bug #20315 : possible memory leak problem if tcp_listen failed, because current code doesn't follow rawapi.txt documentation.
2007-07-13 13:59:11 +00:00
fbernon
a2dffd430b
Fix minor patch #5741 build error...
2007-07-13 13:12:07 +00:00
kieranm
4ac0580aa0
2007-07-13 Kieran Mansley
...
* src/core/tcp_in.c Apply patch#5741 from Oleg Tyshev to fix bug in
out of sequence processing of received packets
2007-07-13 12:24:32 +00:00
fbernon
5d872b26a1
sockets.c: Fix a possible problem because any new socket can't be created during the "close" (which can be "long" since fix for bug #20021 ).
2007-07-04 21:13:25 +00:00
goldsimon
8d2c8065eb
Removed old debug variables from pbuf_copy()
2007-07-04 16:43:54 +00:00
fbernon
bf176ed712
Minor fix (indent)
2007-07-03 21:27:59 +00:00
goldsimon
eb875de67e
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.
2007-07-03 20:28:35 +00:00
goldsimon
2a77b9fcc7
Bug in last version (fix to close problems): netconn thread might get active before calling its callback, so conn was already deallocated.
2007-07-03 20:20:33 +00:00
goldsimon
9a4a5b1816
Final fix for bug #20021 and some other problems when closing tcp netconns: removed conn->sem, less context switches when closing, both netconn_close and netconn_delete should safely close tcp connections.
2007-07-03 19:29:59 +00:00
fbernon
3a0ab861c2
ip.h, etharp.c: Fix warnings & errors about LWIP_NETIF_HWADDRHINT (perhaps compiler dependant)
2007-07-03 10:36:21 +00:00
goldsimon
fdc0d30337
#ifdef LWIP_NETIF_HWADDRHINT around IP_PCB.addr_hint
2007-07-03 08:09:50 +00:00
goldsimon
96e4ec4a15
Added option LWIP_NETIF_HWADDRHINT (default=off) to cache ARP table indices with each pcb instead of single-entry cache for the complete stack.
2007-07-02 20:41:22 +00:00
goldsimon
fa4b711495
Added some ASSERTS and casts to prevent warnings when assigning to smaller types.
2007-07-02 20:13:45 +00:00
goldsimon
0113b735ad
Fixed a little cast-warning from u32_t to u16_t
2007-07-02 20:07:19 +00:00
goldsimon
d228ff0f43
Removed warning when assigning from u32_t to u16_t by casting to u16_t.
2007-07-01 16:04:35 +00:00
goldsimon
9abbb581c5
Changed tcp_pcb->snd_queuelen from u8_t to u16_t to prevent overflowing when sending many small packets with big send buffer, added assertions and oveflow checks for snd_queuelen.
2007-07-01 15:56:04 +00:00
goldsimon
d7c50f56d7
Fixed a wrong assert statement in etharp_query when ARP_QUEUEING=1 and packets should be queued.
2007-07-01 14:52:09 +00:00
fbernon
b6750de9e8
sockets.h, sockets.c: Implement MSG_PEEK flag for recv/recvfrom functions.
2007-06-30 13:24:11 +00:00
goldsimon
c91caa06d3
Set/get ARP hwlen and protolen in one piece.
2007-06-30 11:42:41 +00:00
goldsimon
6c3c184bc7
Added check to prevent tcp_pcb->snd_queuelen from overflowing.
2007-06-29 17:09:47 +00:00
fbernon
af71292aba
Minor fix (extra spaces)
2007-06-29 13:37:33 +00:00
goldsimon
24e29cecae
Fixed bug #20287 : Fixed nagle algorithm (sending was done too early if a segment contained chained pbufs)
2007-06-28 20:05:38 +00:00
fbernon
ab4c3a326f
autoip.c: replace most of rand() calls by a macro LWIP_AUTOIP_RAND which compute a "pseudo-random" value based on netif's MAC and some autoip fields. It's always possible to define this macro in your own lwipopts.h to always use C library's rand(). Note that autoip_create_rand_addr doesn't use this macro.
2007-06-28 18:05:38 +00:00
goldsimon
d73ca29a07
Fixed minor indentation fault
2007-06-28 10:29:13 +00:00
fbernon
d6fbe45296
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...)
2007-06-28 10:11:05 +00:00
fbernon
dd1cd5e491
sockets.c: process NETCONN_RAW connections with LWIP_TCPIP_CORE_LOCKING=1
2007-06-28 09:56:37 +00:00
goldsimon
2b02db2675
Remove warning in tcp_enqueue (cast from u32_t to u16_t)
2007-06-27 16:42:20 +00:00
goldsimon
6f93a8f091
Set the err_to_errno_table to be const
2007-06-26 17:38:52 +00:00
goldsimon
47074c897e
Removed warning: LWIP_DEBUGF had wrong argument count
2007-06-26 08:12:15 +00:00
goldsimon
2270f0d172
Fixed bug #20259 : struct udp_hdr was lacking the packin defines.
2007-06-26 07:32:17 +00:00
goldsimon
1b5d3466ba
etharp_arp_input: stricter checking of hwtype, proto, hwlen & protolen allows us to leave some header fields like they are when sending ARP reply (only changing the addresses is needed)
2007-06-25 18:03:23 +00:00
goldsimon
dcc2247a90
Fixed bug #20253 : icmp_dest_unreach was called with a wrong p->payload for udp packets with no matching pcb.
2007-06-25 17:30:16 +00:00
goldsimon
00b7aeb49b
Fixed bug #20220 : UDP PCB search in udp_input(): a non-local match could get udp input packets if the remote side matched.
2007-06-25 17:24:31 +00:00
goldsimon
4f5b781b88
Moved filling of ethernet header for outgoing IP packets into an extra function to reduce code size.
2007-06-25 17:20:10 +00:00
goldsimon
b51d1b79a3
Combined etharp_request with etharp_raw for both LWIP_AUTOIP =0 and =1 to remove redundant code.
2007-06-24 12:51:22 +00:00
goldsimon
4848de3a8e
etharp_tmr function had a bug (pending entries were pending for too long)
2007-06-24 12:46:13 +00:00
goldsimon
88b1cebe1d
Sorry, checked in some of my local changes with the LWIP_ERROR modification!
2007-06-23 13:09:58 +00:00
goldsimon
bb9e9e5480
Changed the expression of LWIP_ERROR to the same as for LWIP_ASSERT
2007-06-22 20:50:21 +00:00
goldsimon
786a7fbaf4
no-pool-big-enough was not correctly caught
2007-06-22 20:26:30 +00:00
goldsimon
0ce27296aa
ASSERTS were using old MEM_ALIGN define, therefore, was not compilable without LWIP_NOASSERT defined
2007-06-22 20:23:26 +00:00
fbernon
a1d176b643
autoip.h/.c: change autoip_init & autoip_create_rand_addr to use netif's MAC address and tried_llipaddr to generate an "autoip"...
2007-06-22 18:54:34 +00:00
goldsimon
0c18e653e8
Introduced the option MEM_USE_POOLS to use 4 pools with different sized elements instead of a heap. This both prevents memory fragmentation and gives a higher speed at the cost of more memory consumption. Turned off by default.
2007-06-21 20:12:11 +00:00
goldsimon
065b8c945b
Added ASSERT to check that lwip_send(to) is not called for length not fitting into u16_t (for UDP & RAW sockets)
2007-06-21 19:58:31 +00:00
goldsimon
f49fc35f55
Converted the length argument of netconn_write (and therefore also api_msg_msg.msg.w.len) from u16_t into int to be able to send a bigger buffer than 64K with one time (mainly used from lwip_send).
2007-06-21 19:32:26 +00:00
goldsimon
67795ad26e
Corrected do_write for LWIP_TCPIP_CORE_LOCKING=1
2007-06-21 19:14:02 +00:00
goldsimon
2aef8bad55
Moved the nagle algorithm from netconn_write/do_write into a define (tcp_output_nagle) in tcp.h to provide it to raw api users, too.
2007-06-21 18:55:09 +00:00
goldsimon
9f05cabf87
Fixed bug #20021 : Moved sendbuf-processing in netconn_write from api_lib.c to api_msg.c to also prevent multiple context-changes on low memory or empty send-buffer.
2007-06-21 18:40:21 +00:00
fbernon
4c07b1606c
Minor changes: fix some comments for Doygen documentation
2007-06-21 07:17:29 +00:00
goldsimon
d3f0a3211d
Changed etharp to use a defined hardware address length of 6 to avoid loading netif->hwaddr_len every time (since this file is only used for ethernet and struct eth_addr already had a defined length of 6).
2007-06-19 16:22:55 +00:00
fbernon
ec7333d406
Some changes for AutoIP integration in tcpip.c, and some comments.
2007-06-19 10:11:27 +00:00
fbernon
6a40426421
Minor fix: warning, type... for patch #5952 : Integration of AutoIP module
2007-06-18 21:45:34 +00:00
goldsimon
c9ebb895a1
Removed warning "empty body in an if statement" in tcp_receive() for LWIP_DEBUG=0
2007-06-18 20:08:31 +00:00
goldsimon
f66bbda8b1
Ooops, checked in a wrong (test-) version before!
2007-06-18 19:52:55 +00:00
goldsimon
da2d9f3733
Shortened some lines to ~80
2007-06-18 19:36:58 +00:00
goldsimon
9e0252b209
Corrected two formatters in LWIP_DEBUGF calls
2007-06-18 19:23:27 +00:00
goldsimon
531ea17088
Forgot to implement getsockopt for SO_NO_CHECK
2007-06-17 19:18:59 +00:00
fbernon
e89f5983be
tcp_in.c: Fix bug #20126 : Zero ssthresh bug (by Per-Henrik Lundblom and Kieran Mansley).
2007-06-17 16:15:34 +00:00
goldsimon
6784fd64f3
Done some work on task #6933 : converted some LWIP_ASSERTs to LWIP_ERROR to give back an error return value for LWIP_NOASSERT=1
2007-06-17 15:20:21 +00:00
goldsimon
ced2543be0
Done some work on task #6933 : converted some LWIP_ASSERTs to LWIP_ERROR to give back an error return value for LWIP_NOASSERT=1
2007-06-17 14:39:50 +00:00
goldsimon
261e92c57b
In accept_function, one LWIP_ERROR had a wrong expression (since it is inverted compared to LWIP_ASSERT...)
2007-06-17 14:38:32 +00:00
goldsimon
55bd48dc10
Always align PBUF_POOL_BUFSIZE, pbuf_init is not needed any more, minor changes to meet coding style requirements
2007-06-17 14:36:19 +00:00
goldsimon
96dc30dea2
Done some work on task #1549 (function documentation)
2007-06-17 12:18:11 +00:00
goldsimon
ea7b0052f3
Implemented socket options SO_NO_CHECK for UDP sockets to disable UDP checksum generation on transmit.
2007-06-17 11:46:30 +00:00
goldsimon
1db9013bc4
Done some work on task #1549 (function documentation)
2007-06-16 15:08:47 +00:00
goldsimon
060cbe15d6
Done some work on task #1549 (function documentation), added some LWIP_ERROR checks, don't call pcb_new() from do_bind() and do_connect() since a netconn without pcb can't exist any more (after the recent changes to netconn_new_*())
2007-06-16 15:07:11 +00:00
goldsimon
8532d0d152
Added comments for the callback functions included in struct tcp_listen_pcb
2007-06-16 15:04:50 +00:00
goldsimon
173e63f01b
Minor fix: coding style
2007-06-16 15:03:09 +00:00
goldsimon
066daf21ef
Added comments for the callback functions included in structs tcp_pcb, udp_pcb and raw_pcb.
2007-06-16 14:33:37 +00:00
goldsimon
10f4604939
Corrected some copy & paste errors
2007-06-16 14:09:27 +00:00
goldsimon
08ab2d89f4
Created define instead of extra-function for netconn_new, netconn_new_with_callback and netconn_err, added netconn_type NETCONN_INVALID
2007-06-16 13:58:32 +00:00
goldsimon
775deefeaa
Done some work on task #1549 (function documentation), added some LWIP_ERROR checks, created define instead of extra-function for netconn_new, netconn_new_with_callback and netconn_err
2007-06-16 13:57:30 +00:00
goldsimon
cbf281589b
Fixed bug #20180 (TCP pcbs listening on IP_ADDR_ANY could get changed in netif_set_ipaddr if previous netif->ip_addr.addr was 0.
2007-06-16 13:32:10 +00:00
goldsimon
f1d95379bc
Changed all references to old debug defines to the new ones (e.g. LWIP_DBG_TRACE)
2007-06-16 11:39:01 +00:00
goldsimon
7c4377af0e
Added debug output for icmp_input if ip_output_if worked or not.
2007-06-16 11:23:26 +00:00
goldsimon
f93b8fe377
pbuf_copy(): removed copy & paste error which did not copy pbuf chains correctly
2007-06-14 17:40:39 +00:00
goldsimon
978c68dcf8
pbuf_copy: chained pbufs were not copied correctly because of wrong packet-queue-check
2007-06-14 07:22:43 +00:00
goldsimon
c0925d2d04
minor fix in assertion text
2007-06-14 07:21:55 +00:00
goldsimon
15e8208457
pcb_new sets conn->err if protocol is not implemented -> netconn_new_..() does not allocate a new connection for unsupported protocols.
2007-06-13 19:00:21 +00:00
fbernon
d8fe18c28e
api_lib.c: change return expression in netconn_addr and netconn_peer, because conn->err was reset to ERR_OK without any reasons (and error was lost)...
2007-06-13 18:08:49 +00:00
fbernon
9ee85fb1b6
debug.h, api_msg.c: change LWIP_ERROR to use it to check errors like invalid pointers or parameters, and let the possibility to redefined it in cc.h. Use this macro to check "conn" parameter in api_msg.c functions (some others change will be done...).
2007-06-13 18:00:54 +00:00
fbernon
bdbc96f453
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.
2007-06-13 17:17:26 +00:00
fbernon
5f7831b3c8
Minor fix (comment is not at the good place)
2007-06-13 09:04:03 +00:00
goldsimon
6336279ce0
In udp_input, for UDP Lite, chksum_len_tx was used instead of chksum_len_rx
2007-06-12 07:03:32 +00:00
fbernon
ab4b59afb9
Partial fix for bug# 20147: "getsockopt() with SO_ERROR option" 'socket layer error is not updated if no operation on netconn).
2007-06-11 20:16:38 +00:00
goldsimon
046a270156
Added UDP lite support for sockets
2007-06-11 18:43:16 +00:00
goldsimon
2f293d53ba
UDP Lite: corrected the use of chksum_len (based on RFC3828: if it's 0, create checksum over the complete packet. On RX, if it's < 8 (and not 0), discard the packet. Also removed the duplicate 'udphdr->chksum = 0' for both UDP & UDP Lite.
2007-06-11 18:03:57 +00:00
fbernon
1d7caed340
tcp_out.c: Fix for bug #20075 : "A problem with keep-alive timer and TCP flags" where TCP flags wasn't initialized in tcp_keepalive. Reported by Srinivas Gollakota with help of Oleg Tyshev.
2007-06-11 13:59:10 +00:00
fbernon
5993c816d8
Minor fix. Add "static" to IGMP's global variables, and rename group_list to igmp_group_list...
2007-06-11 07:27:12 +00:00
fbernon
15ccac78d9
Minor fix. Add comments in source file from documentation text file by Dominik Spies.
2007-06-11 07:26:10 +00:00
fbernon
d81841f54e
Minor fix (coding style)
2007-06-10 20:02:43 +00:00
goldsimon
95f4c02381
Included switch LWIP_UDPLITE (enabled by default) to switch off UDP-Lite support if not needed (reduces udp.c code size)
2007-06-10 12:02:24 +00:00
goldsimon
df0e4492a7
Forgot some brackets in an if statement in v1.109
2007-06-10 09:49:04 +00:00
fbernon
e01f342048
Contrib module by Dominik Spies: autoip.h, autoip.c, dhcp.h, dhcp.c, netif.h, netif.c, etharp.h, etharp.c, opt.h: AutoIP implementation available for IPv4, with new options LWIP_AUTOIP and LWIP_DHCP_AUTOIP_COOP if you want to cooperate with DHCP. Some tips to adapt (see TODO mark in the source code).
2007-06-09 16:57:04 +00:00
fbernon
792f5b3f22
Patch from Jared Momose (j.momose@ieee.org) for bug #19699 : "Bug in SNMP ASN1 decode; submitted patch"
2007-06-09 10:36:21 +00:00
fbernon
a42baedc28
Just add a comment to explain that the lwip_sendto patch for LWIP_TCPIP_CORE_LOCKING option is just show a sample (it's not a full implementation, RAW connection and "to" field are not handled, ...)
2007-06-09 09:59:16 +00:00
goldsimon
6607cab902
set netif->output to etharp_output by default to save a function call
2007-06-08 22:42:43 +00:00
goldsimon
3a09de82e3
Corrected #if ... when to include copy_from_pbuf()
2007-06-08 22:20:59 +00:00
goldsimon
c028619cdd
Modified order of parameters for etharp_output() to match netif->output so etharp_output() can be used directly as netif->output to save one function call.
2007-06-08 22:20:05 +00:00
goldsimon
6b1dc21383
Changed etharp_tmr() to be smaller
2007-06-08 22:19:23 +00:00
goldsimon
613acd93c0
Minor change: don't define some local (unused) variables if LWIP_TCPIP_CORE_LOCKING=1
2007-06-08 21:33:28 +00:00
goldsimon
837cb42679
Done some work on task #1549 (function documentation)
2007-06-08 20:59:17 +00:00
goldsimon
0e9cb48ea1
Changed define NETIF_INIT_SNMP(type, speed) to include the name of the struct netif to change...
2007-06-08 19:59:20 +00:00
fbernon
090aaefb39
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....
2007-06-08 19:27:59 +00:00
goldsimon
0b9c9f9ede
pbuf_copy(): Corrected a wrong comment & try to behave correctly if LWIP_NOASSERT is defined
2007-06-08 17:27:36 +00:00
goldsimon
8e65fb920f
loopif_output(): use pbuf_copy() to copy the pbuf to reduce code size
2007-06-08 17:24:58 +00:00
goldsimon
945460c67e
Added define NETIF_INIT_SNMP(type, speed) to initialize per-netif snmp variables, added initialization of those to slipif and loopif.
2007-06-08 17:17:41 +00:00
goldsimon
b7e4d2a8ff
Done some work on task #1549 (function documentation) and minor changes to meet coding standard + added some comments to make the code easier to read.
2007-06-08 17:10:05 +00:00
fbernon
9768657fc7
Minor fix (spaces)
2007-06-08 16:24:28 +00:00
goldsimon
a185e19bc1
Let lookup_group() call lookfor_group() to reduce code size, done some work on task #1549 (function documentation) and minor changes to meet coding standard
2007-06-08 12:54:40 +00:00
goldsimon
b7603f8600
Done some work on task #1549 (function documentation)
2007-06-08 12:52:46 +00:00
goldsimon
d8d281281c
Done some work on task #1549 (function documentation)
2007-06-08 12:08:44 +00:00
goldsimon
5ee9c95ebd
Fixed a cast warning by including the type to TCP_PCB_COMMON: (Moved members common to structures tcp_pcp and tcp_listen_pcb into define TCP_PCB_COMMON (like IP_PCB) to keep (possible) code changes consistent.)
2007-06-08 12:00:45 +00:00
goldsimon
fb5a1a2c0f
Minor changes to meet coding standard
2007-06-08 11:51:57 +00:00
goldsimon
4a5a7ee922
Done some work on task #1549 (function documentation)
2007-06-08 11:49:59 +00:00
goldsimon
d258bc263a
Done some work on task #1549 (function documentation)
2007-06-08 11:35:54 +00:00
goldsimon
8a30754e9c
Done some work on task #1549 (function documentation) and minor changes to meet coding standard
2007-06-08 11:30:14 +00:00
goldsimon
a14bc9ed44
Moved members common to structures tcp_pcp and tcp_listen_pcb into define TCP_PCB_COMMON (like IP_PCB) to keep (possible) code changes consistent.
2007-06-08 11:28:47 +00:00
fbernon
75adf4bac6
Fix typo and remove RAW_STATS (not used)
2007-06-08 07:22:21 +00:00
goldsimon
8d6013454c
Done some work on task #1549 (function documentation)
2007-06-07 21:36:20 +00:00
goldsimon
1a25062af0
Done some work on task #1549 (function documentation)
2007-06-07 21:29:44 +00:00
goldsimon
8aedcadd3e
Done some work on task #1549 (function documentation) and minor changes to meet coding standard
2007-06-07 21:29:13 +00:00
goldsimon
027d59fd46
Done some work on task #1549 (function documentation)
2007-06-07 20:56:48 +00:00
fbernon
273e70e403
Minor, fix an obsolete comment about LWIP_SO_RCVTIMEO
2007-06-07 14:18:38 +00:00
goldsimon
aee6c1f72f
Corrected setsockopt for LWIP_IGMP=1 (did not compile & errors were not returned)
2007-06-05 18:46:10 +00:00
goldsimon
9ee40d9f88
Defined IGMP_DEBUG defaulting to LWIP_DBG_OFF in opt.h
2007-06-05 18:19:48 +00:00
goldsimon
754fe60979
Typo in lwip_setsockopt() (getsockopt_internal was called instead of setsockopt_internal!!!)
2007-06-05 07:38:39 +00:00
goldsimon
3a429eabcd
Set q to NULL after freeing it before returning: cleaner code!
2007-06-04 10:42:03 +00:00
fbernon
9209a2ee33
Minor fix for warning: pbuf_copy declaration is now mandatory (since it's used in icmp.c)
2007-06-04 09:54:58 +00:00
goldsimon
3a607a197e
opt.h, ip_frag.c, ip_frag.h, ip.c: Added option IP_FRAG_USES_STATIC_BUF (defaulting to off for now) that can be set to 0 to send fragmented packets by passing PBUF_REFs down the stack.
2007-06-03 18:36:42 +00:00
goldsimon
3639daa329
IPv6: #define IPH_PROTO(hdr) (iphdr->nexthdr) to remove #ifdef IPv6 in udp_input()
2007-06-03 18:10:33 +00:00
goldsimon
8fd6a61df6
Done some work on task #1549 (function documentation)
2007-06-03 18:05:52 +00:00
goldsimon
a6b0d40f9d
Converted some DEBUGFs that should never happen to LWIP_ASSERTs
2007-06-03 17:18:33 +00:00
goldsimon
974cf08e5d
udp_input(): Input pbuf was not freed if pcb had no recv function registered, p->payload was modified without modifying p->len if sending icmp_dest_unreach() (had no negative effect but was definitively wrong).
2007-06-03 11:32:03 +00:00
goldsimon
75fd6fc4a4
Needed for patch to bug #19937 : pbuf_copy is always compiled, not only if ARP_QUEUEING is enabled
2007-06-03 11:28:25 +00:00
goldsimon
4f7dc3c76c
Done some work on task #1549 (function documentation)
2007-06-03 11:26:55 +00:00
goldsimon
7abfe74fa4
Corrected bug #19937 : ICMP assumes p_buf has space for ethernet header. Allocating new pbuf if the input pbuf isn't big enough.
2007-06-03 10:48:23 +00:00
goldsimon
d5a159d7af
Done some work on task #1549 (function documentation)
2007-06-02 17:12:36 +00:00
goldsimon
add68e0da1
Checked in patch #5914 : Moved sockopt processing into tcpip_thread.
2007-06-01 17:15:54 +00:00
goldsimon
a85f9db5b1
Made etharp_find_addr() use find_entry to concentrate the knowledge of arp_table layout in find_entry().
2007-06-01 17:11:47 +00:00
goldsimon
c43ab76bbe
Use TCP_RMV instead of tcp_pcb_remove when removing pcbs from tcp_bound_pcbs list (bug introduced while fixing bug #1895 )
2007-05-29 11:02:53 +00:00
goldsimon
98df3c6e0a
Removed LWIP_DEBUG_ASSERT
2007-05-24 07:19:34 +00:00
fbernon
93828fde80
Fixed patch #5965 : Remove unused conntype in struct api_msg_msg, by Simon Goldsmith
2007-05-23 19:28:07 +00:00
fbernon
a3fdc33f88
api_lib.c: Implement SO_RCVTIMEO for accept and recv on TCP connections, such present in patch #5959 .
2007-05-23 19:18:09 +00:00
fbernon
a330917ee8
api_lib.c, sockets.c: Fixed bug #5958 for netconn_listen (acceptmbox only allocated by do_listen if success) and netconn_accept errors handling. In most of api_lib functions, we replace some errors checkings like "if (conn==NULL)" by ASSERT, except for netconn_delete.
2007-05-23 18:43:30 +00:00
fbernon
0fe5dd8d43
api_lib.c: Fixed bug #5957 "Safe-thread problem inside netconn_recv" to return an error code if it's impossible to fetch a pbuf on a TCP connection (and not directly close the recvmbox).
2007-05-23 17:53:35 +00:00
fbernon
953d783a3e
api.h, api_lib.c, api_msg.c, sockets.c: group the different NETCONN_UDPxxx code in only one part...
2007-05-23 17:46:53 +00:00
fbernon
d1ef610822
Minor fix (spaces, indent) and check for LWIP_SO_RCVTIMEO..
2007-05-22 21:29:04 +00:00
fbernon
2ff620e1b5
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.
2007-05-22 20:51:34 +00:00
goldsimon
0aaf69769f
Fixed bug #1895 (tcp_bind not correct) by introducing a list of bound but unconnected (and non-listening) tcp_pcbs.
2007-05-22 20:48:36 +00:00
goldsimon
b5ab0c5285
Included some missing braces in lwip_send & lwip_sendto (if !LWIP_UDP && !LWIP_RAW)
2007-05-22 20:32:22 +00:00
goldsimon
2442b985bf
Broke some (too long) lines down to multiple lines, made the file fit our coding standards
2007-05-22 20:30:30 +00:00
goldsimon
78201c0146
Added some comments, better max-size-check, removed Adams original mem_malloc.
2007-05-22 19:38:12 +00:00
fbernon
499f4689be
api.h, api_lib.c, api_msg.h, api_msg.c: change the struct api_msg_msg to see which parameters are used by which do_xxx function, and to avoid "misusing" parameters (patch #5938 ).
2007-05-22 09:54:00 +00:00
fbernon
2106f491d0
Minors fix (spaces, comments, unused variable)
2007-05-22 08:20:18 +00:00
goldsimon
81ac03a28b
Included patch #5938 : changed raw_pcb.protocol from u16_t to u8_t since for IPv4 and IPv6, proto is only 8 bits wide. This affects the api, as there, the protocol was u16_t, too.
2007-05-22 07:31:06 +00:00
fbernon
980af63b8d
Remove warning (missing include)
2007-05-21 16:55:57 +00:00
goldsimon
613644bfc6
Re-included unneeded cases in do_disconnect() and do_send() to prevent warnings.
2007-05-21 09:52:23 +00:00
fbernon
7f5d6bc964
api_msg.c: Fix some errors forwarding ( https://savannah.nongnu.org/task/?6880 )
2007-05-19 16:27:02 +00:00
fbernon
d5e37309e5
Minor Fix (unsed code, spaces, idents..)
2007-05-19 16:24:40 +00:00
fbernon
6bfa99a774
Minor fixs to reduce footprint on the "recv part" of Sequential API...
2007-05-19 13:54:56 +00:00
fbernon
c899097802
Remove warning in snmp/msg_in.c
2007-05-19 10:19:14 +00:00
goldsimon
70187bd47e
Gave the overflow functions some better names which correspond to the (future) mem.c function names
2007-05-18 21:10:33 +00:00
goldsimon
018efc9631
Check the user-overridable defines MEMP_SANITY_REGION_BEFORE and MEMP_SANITY_REGION_AFTER for aligment.
2007-05-18 20:25:27 +00:00
goldsimon
a4f4e6e71d
Addition to patch #5913 : decrease size of memp_memory.
...
Added option MEMP_OVERFLOW_CHECK to check for memp elements to overflow.
2007-05-18 19:48:44 +00:00
goldsimon
cde11f9d9c
Added some new functions as null-definitions if NO_SYS=1
2007-05-18 18:34:34 +00:00
goldsimon
8fa3b6802e
Added #if !NO_SYS to most of the api files since they only work with a sys layer (makes it easier for port projects).
2007-05-18 11:27:46 +00:00
goldsimon
4192df97ec
Corrected check of PBUF_POOL overflow
2007-05-18 11:13:34 +00:00
goldsimon
9085abd838
Added comments whether fields are host or network byte order (task #1568 )
2007-05-17 12:45:50 +00:00
goldsimon
874415a193
Added comments whether fields are host or network byte order (task #1568 )
2007-05-17 12:21:32 +00:00
goldsimon
5e9d80fbdb
tcpip_input()/tcpip_ethinput(): don't free the pbuf if returning ERR_MEM, that is the netif driver's responsibility
2007-05-17 09:04:36 +00:00
goldsimon
75f7f21eb0
...and again replacing tab by spaces ;-)
2007-05-17 09:02:30 +00:00
goldsimon
c01e265e07
changes tabs to spaces
2007-05-17 08:55:50 +00:00
goldsimon
5c89228878
Fix bug #19729 : free pbuf if netif->input() returns != ERR_OK.
2007-05-16 19:54:54 +00:00
goldsimon
2740a81103
If a udp_pcb has a local_ip set, check if it is the same as the one of the netif used for sending to prevent sending from old addresses after a netif address gets changed (partly fixes bug #3168 ).
2007-05-16 18:55:25 +00:00
goldsimon
a27dc1e908
Finally removed all occurences of PBUF_STATS :-)
2007-05-16 18:00:36 +00:00
goldsimon
e9abfa6602
Removed PBUF_STATS and related code from opt.h & msg_in.c
2007-05-16 14:15:54 +00:00
fbernon
0f8a2d6418
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).
2007-05-16 14:12:52 +00:00
goldsimon
2e479b88a8
Updated stats.h/.c to reflect the integration of pbuf pool into memp
2007-05-16 13:49:44 +00:00
goldsimon
fd982597fe
Removed semaphores from memp, changed sys_sem_wait calls into sys_arch_sem_wait calls to prevent timers from running while waiting for the heap. This fixes bug #19167 .
2007-05-16 11:02:07 +00:00
goldsimon
887077b5a4
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).
2007-05-16 10:45:28 +00:00
fbernon
4e71ec4480
Minor fix (tabs)
2007-05-15 16:34:30 +00:00
goldsimon
8ef712787a
Aligned MIN_SIZE, memset(0) the complete ram_heap instead of only the used area, only to be on the safe side...
2007-05-15 10:35:48 +00:00
goldsimon
6c39b8a10c
Found a little bug in ARP_QUEUEING: if pbuf_alloc for the packet to be queued failed, pbuf_copy was called with a NULL pointer.
2007-05-14 20:10:46 +00:00
fbernon
3c32c993f5
Include inet.h to avoid warnings (see http://savannah.nongnu.org/patch/?5865 ).
2007-05-14 08:32:08 +00:00
goldsimon
62d705903e
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
2007-05-13 18:17:22 +00:00
goldsimon
a5e2e9ea03
(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.
2007-05-13 16:16:03 +00:00
goldsimon
055e3d52b6
Modified struct pbuf size determination so that sizeof(struct pbuf) does not necessarily be a multiple of MEM_ALIGNMENT
2007-05-13 16:12:29 +00:00
goldsimon
efd3104fd0
Fixed bug from patch #5865 by moving the defines for socket options (lwip_set/-getsockopt) used with level IPPROTO_TCP from tcp.h to sockets.h.
2007-05-13 14:34:02 +00:00
goldsimon
bd570561e8
Fix for bug #19740 : 2 static functions are unused, simply ifdefing them out for now to get rid of warnings
2007-05-13 11:08:04 +00:00
goldsimon
19d49db305
sys.h: moved #include "arch/sys_arch.h" down a little, so that functions using the defines SYS_ARCH_TIMEOUT/SYS_MBOX_EMPTY can be define as static (inline) in sys_arch.h. This should not affect any others since the defines couldn't be overridden anyway...
2007-05-13 10:31:51 +00:00
goldsimon
ab4993fda2
Ooops, checked in the wrong version before :-(
2007-05-11 19:42:50 +00:00
goldsimon
6f4056cf99
- Changed mem_malloc(): near fit behaves like exact fit since mem->next is always used
...
- Included some more alignment statements
- Every malloced block is at least MIN_SIZE big (can be overridden, can be used to work against fragmentation)
- Added many comments so that the next developer knows what I was thinking :-)
2007-05-11 19:42:10 +00:00
fbernon
9cf1390dc6
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).
2007-05-11 08:58:23 +00:00
goldsimon
6a2e323792
Added some ASSERTs and NULL-pointer checks to sys_timeout/sys_untimeout
2007-05-10 14:23:38 +00:00
goldsimon
d4834803ae
Included opt.h before checking the options.
2007-05-10 11:00:16 +00:00
goldsimon
84fc489e0c
Included patch #5448 : include '#ifdef __cplusplus \ extern "C" {' in all header files. Now you can write your application using the lwIP stack in C++ and simply #include the core files. Note I have left out the netif/ppp/*h header files for now, since I don't know which files are included by applications and which are for internal use only.
2007-05-10 10:59:20 +00:00
goldsimon
255d5a748f
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().
2007-05-10 05:20:05 +00:00
goldsimon
b41520f9e2
Removed unused pbuf stats items
2007-05-08 18:55:29 +00:00
goldsimon
0e881170c2
Fixed 3 typos of the version checked in yesterday...
2007-05-08 18:09:14 +00:00
goldsimon
1571881f7a
If MEM_LIBC_MALLOC==1, allow the defines (e.g. mem_malloc() -> malloc()) to be overriden in case the C-library malloc implementation is not protected against concurrent access.
2007-05-08 11:00:49 +00:00
goldsimon
4dbf1dcad4
mem_realloc: Added assert to check that memory is shrinked, not expanded.
2007-05-08 10:50:19 +00:00
goldsimon
824ef1ff2c
Another attempt to fix bug #17922
2007-05-07 19:48:29 +00:00
goldsimon
79d9b36ece
Further update to ARP queueing: Changed pbuf_copy() implementation so that it can be reused (don't allocate the target pbuf inside pbuf_copy()).
2007-05-04 21:31:25 +00:00
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
615e52d396
Prototype of igmp_tick() in igmp.h did not match the one in igmp.c
2007-05-04 16:30:37 +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
fbernon
05ea5f05ae
Minor fix (tab, indent...) to respect source code style...
2007-05-04 15:14:14 +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
fbernon
eb28133b1f
Remove forgotten printf in pbuf_init().
2007-05-02 09:26:51 +00:00
goldsimon
c66932ab25
Checked in patch #5453 : removed mutex/other locking stuff if SYS_LIGHTWEIGHT_PROT=0, moved some pbuf pool logic to static functions
2007-04-30 13:18:22 +00:00
goldsimon
36e8213e42
PBUF_POOL_BUFSIZE: For the default length, alignment check in pbuf_init() failed.
2007-04-30 13:12:33 +00:00
goldsimon
cde6d0deed
pbuf_alloc() / pbuf_realloc(): added LWIP_DEBUG_ASSERT() and cast operator when assigning s32_t to u16_t to get rid of compiler warnings
2007-04-30 11:56:48 +00:00
goldsimon
b462cb4575
Define ETH_PAD_SIZE after including opt.h to avoid conflict with lwipopts.h
2007-04-30 11:45:39 +00:00
goldsimon
dd4ccfc672
task #6792 : added added LWIP_DEBUG_ASSERT(x,y), which triggers #ifndef LWIP_NOASSERT and #ifdef LWIP_DEBUG
2007-04-29 16:35:55 +00:00
goldsimon
6006e2f917
Changed some includes for loopif and added comments
2007-04-24 08:42:32 +00:00
goldsimon
4bedb07aa0
Added some more LWIP_UNUSED_ARG()s
2007-04-24 08:35:19 +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
goldsimon
82e579a29d
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.
2007-04-17 17:48:35 +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
kieranm
79be888b6f
* tcp.c, tcp_in.c, tcp_out.c, tcp.h: Modify way the retransmission
...
timer is reset to fix bug#19434, with help from Oleg Tyshev.
2007-04-12 14:56:07 +00:00
fbernon
9bc49b3268
opt.h: rename DBG_TYPES_ON & DBG_MIN_LEVEL with LWIP_ prefix.
2007-04-12 00:16:30 +00:00
jifl
d92e0dec22
From bug #19222 comment #18 . Minor tweak to sys_mbox_fetch to avoid redundant
...
code.
2007-04-11 23:16:49 +00:00
goldsimon
7932bf483b
Ongoing fix to patch #5822 : converted more statements like (void)arg; into LWIP_UNUSED_ARG(arg);
2007-04-11 19:39:24 +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
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