goldsimon
536f2e42d2
Fixed UDPLite receive: checksum was calculated wrong if checksum coverage != tot_len
2007-10-09 19:43:29 +00:00
goldsimon
2ca113a218
Fixed UDPLite SENDING: Checksum was always generated too short and also was generated wrong if checksum coverage != tot_len.
2007-10-07 20:19:23 +00:00
fbernon
2bdd916b06
udp.h, udp.c, sockets.c: Changes for " #20503 IGMP Improvement". Add IP_MULTICAST_IF option in socket API, and a new field "multicast_ip" in "struct udp_pcb" (for netconn and raw API users), only if LWIP_IGMP=1. Add getsockopt processing for IP_MULTICAST_TTL and IP_MULTICAST_IF.
2007-09-15 15:19:41 +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
ca866c0d7d
Integrate "task #7272 : LWIP_ICMP option". The new option LWIP_ICMP enable/disable ICMP module inside the IP stack (enable per default). Be careful, disabling ICMP make your product non-compliant to RFC1122, but help to reduce footprint, and to reduce "visibility" on the Internet.
2007-09-05 17:20:45 +00:00
fbernon
9152d6671c
Comments Fix for Doxygen documentation
2007-08-09 22:21:44 +00:00
fbernon
118331207b
udp.c: Fix for bug #20503 : IGMP Improvement. Enable to receive a multicast packet on a udp pcb binded on an netif's IP address, and not on "any".
2007-08-09 18:34:03 +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
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
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
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
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
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
3a429eabcd
Set q to NULL after freeing it before returning: cleaner code!
2007-06-04 10:42:03 +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
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
874415a193
Added comments whether fields are host or network byte order (task #1568 )
2007-05-17 12:21:32 +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
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
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
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
e1b6a4cb21
udp.c: remove obsolete line "static struct udp_pcb *pcb_cache = NULL;"
...
Its is static, and never used in udp.c except udp_init().
2007-03-03 17:00:44 +00:00
christiaans
d4b6471d39
Replaced tabs with space.
2006-11-17 10:51:13 +00:00
christiaans
130d39cc03
Changed index structs to mib_list_node structs to place the table index trees directly in the mib tree.
2006-09-01 07:14:50 +00:00
christiaans
7d16087789
Fixed bug #17200 , added check for broadcast destinations for PCBs bound to a unicast address.
2006-08-17 09:40:15 +00:00
christiaans
19f57bf810
Exported udp_pcbs in udp.h (for SNMP agent).
2006-08-11 14:09:48 +00:00
curtmcd
6158aa684b
udp_input() operated by removing the IP and UDP headers, putting back
...
the UDP header, then re-removing it. However, pbuf_header() can't add
back the UDP header on pbufs of type PBUF_REF, so these would all get
dropped for bad checksum. This change addresses the problem and
simplifies things by stripping each header just once.
2006-05-26 02:40:54 +00:00
curtmcd
047e3455f7
Improve formatting by fixing wrong indents and lines too long.
2006-05-26 01:36:16 +00:00
christiaans
6c8850698d
Small optimalization for udp_input().
2006-01-02 12:06:02 +00:00
christiaans
e1b215aa73
Introduced cc.h formatters and removed SO_REUSE from transport layers.
2005-11-25 12:03:38 +00:00
likewise
f9355136d8
2005-06-08 Leon Woestenberg <leon.woestenberg@gmx.net>
...
* udp.c: Fixed memory leak; when ip_route() failed, a possibly allocated q was never de-allocated. Fixed by called ip_route() before allocating q.
2005-06-08 18:35:00 +00:00
likewise
3b715f4602
3 January 2004, Leon Woestenberg <leon.woestenberg@gmx>
...
udp.c: pcb->recv() callback was called even when it was NULL.
2005-01-03 17:54:21 +00:00
likewise
fab107a9df
DECLINE message was unicast instead of broadcast
2004-11-25 11:10:53 +00:00
likewise
7524893802
Dependencies on C library memset() etc., so include <string.h>.
2004-07-04 23:43:38 +00:00
likewise
0be3598990
Style fixes.
2004-06-30 18:42:54 +00:00
jani
d36b723056
fix SO_REUSE ifdef fixes
2004-03-26 12:40:58 +00:00
kieranm
2c8aa6f6f4
Kieran Mansley - kjm25@cam.ac.uk - 23rd March 2003
...
- Changed all #ifdef SO_REUSE into #if SO_REUSE
2004-03-23 19:33:53 +00:00
likewise
6f7c8fb355
Made #ifdef's into #if's for SO_REUSE.
2004-03-23 00:19:38 +00:00
likewise
82f852abf3
Fix cyclic dependencies by careful re-ordering of #includes.
...
This is really nasty. Can we forward-declare pointers to structs?
2004-03-12 00:10:07 +00:00
likewise
10d42c6fa3
Replaced ip_addr_isbroadcast() macro by function.
...
Overrides patch #2679 , as this must be solved inside ip_addr_isbroadcast(), inspired by BSD.
2004-03-11 21:20:10 +00:00
likewise
bfdf19f56c
Make udp_disconnect() clear its remote address association.
2004-03-11 20:45:09 +00:00
likewise
175053085a
Fixed @return in udp_sendto() docs, @see in udp_send*() docs.
2004-03-11 20:04:16 +00:00
likewise
3d90c062fd
Added udp_sendto() docs. Fixed udp_send() docs.
2004-03-11 20:01:26 +00:00
likewise
fda71b1230
Fixed udp_sendto() -> instead of .
2004-03-11 19:52:47 +00:00
likewise
a916de3b66
Added udp_sendto().
2004-03-11 19:41:22 +00:00
kieranm
5c7189124c
23/02/2003 - Kieran Mansley - kieranm@gtemail.net
...
* Applied patch #2679
* Adds check to line 314 for NETIF_FLAG_BROADCAST
2004-02-23 10:11:55 +00:00
lukem
4bf3359574
Added ability to disable checksum generation and checking at compile-time
2004-02-20 01:46:03 +00:00
likewise
e1c4bfad05
Merged from DEVEL, except for the API change in etharp.c.
2004-02-07 00:30:03 +00:00
likewise
1b96391cdf
Merged from DEVEL to main. Two TCP fixes and two NULL reference fixes.
2004-01-20 13:23:52 +00:00
likewise
fa9b1ba947
Merge from DEVEL. Includes important UDP fix for bug #6601 .
2003-11-18 01:40:08 +00:00
likewise
e4a6d199fe
Merged from DEVEL into main tree.
2003-11-14 13:17:23 +00:00
marcbou
351e590e01
Merged from DEVEL.
2003-06-27 20:46:11 +00:00
marcbou
bbc33080e7
Merged from DEVEL.
2003-06-19 11:15:39 +00:00
likewise
ba786dc49b
Applied patch #1596 fixing wrongly cast LWIP_DEBUGF arguments.
...
(printf expects integers on the var args stack)
2003-06-11 22:11:42 +00:00
kieranm
8014551908
Changed DEBUGF to LWIP_DEBUGF
2003-06-10 10:45:29 +00:00
likewise
df99ce9d98
Replaced all tabs with two spaces (regardless of indentation is correct).
2003-06-09 21:14:47 +00:00
likewise
4ae13c6c26
Set UDP_FLAGS_CONNECTED in udp_connect().
2003-05-20 11:23:59 +00:00
jani
398bf575d9
C++ comments cleanup
2003-05-06 12:15:08 +00:00
likewise
03bc7c868b
Major stylo search/replace for "One space between keyword and opening bracket."
2003-05-01 13:24:01 +00:00
likewise
7cb64f2a43
Patch #1183 applied. This drops short UDP/TCP packets.
2003-05-01 08:03:51 +00:00
likewise
9bc16878ea
Fixed tabs into spaces. Fixed other stylos.
2003-04-16 07:39:48 +00:00
likewise
0418edb7b6
Added debugging to verify correct result of udp_bind() / udp_connect().
2003-04-04 08:14:49 +00:00
likewise
af8f280811
Fixed ip_addr_set() to deal with IP_ADDR_ANY. Added "ip_addr.h" include.
2003-04-01 15:00:26 +00:00
likewise
7abb278b60
Added assertion checking against dupes in pcb active list. Added comments.
2003-04-01 14:52:41 +00:00
likewise
1a72feb128
etharp_query() has error return type now. Matched dhcp.c with this change.
...
Added debug messages in other places.
2003-04-01 14:02:50 +00:00
likewise
917f8ec799
Added debug messages for serious errors.
2003-03-31 08:00:01 +00:00
likewise
2bd3d51fcf
Removed the pbuf_dechain() from udp_send() matching new pbuf code.
2003-03-30 00:39:03 +00:00
likewise
ab630b2875
Strong assert checking against queueing behaviour in udp_send().
2003-03-26 10:59:31 +00:00
likewise
f4f717b20a
Fixed typo affecting debugging.
2003-03-26 00:31:55 +00:00
likewise
6621f8b88a
New tail section of udp_send() that handles both queued and unqueued cases.
2003-03-25 12:58:22 +00:00
likewise
7a92011933
Re-added pbuf_dechain() in udp_send() as it breaks current applications.
2003-03-24 12:57:00 +00:00
jani
859f06a91e
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
2003-03-21 10:48:21 +00:00
davidhaas
32d9f25a6f
Fixed up and made work a PBUF_REF type. Most of the code uses this now
...
instead of PBUF_ROM. This addition allows support of copy-on-demand where the
lower layers can call pbuf_unref() which tests for any PBUF_REF buffers and
replaces them with PBUF_POOL buffers. This is now used
everywhere. pbuf_unref() is called in ARP queueing and in the coldfire
driver, which puts frames on a DMA queue and frees them later.
Along with this change pbuf_free() now goes through the entire chain of
buffers and tests all the ref counters, not just the first one. Generally now
pbuf_ref_chain() should be called and not pbuf_ref(). This change was made
because it is possible for the head of the pbuf chain to have a different
count than the payload pbuf which might have been passed by the application.
2003-03-19 22:14:49 +00:00
jani
2f7e4bd587
patch 1197 form floriZ.When debug is on and port is 0 in udp_bind ERR_USE is always returned due to missing braces.Reindent that part of code while at it
2003-03-19 16:04:54 +00:00
likewise
090b4087fc
Using a negated unsigned value as func. arg. fails for Keil C166 compilers.
2003-03-16 22:39:15 +00:00
jani
18df3961e9
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.
2003-02-21 16:43:46 +00:00
likewise
0a51d72098
Removed Id: fields as they give conflicts while merging to leon-dhcp branch.
2003-02-19 22:07:42 +00:00
likewise
cb6cec0404
Disabled too restrictive behaviour in _bind() and _connect(). Reimplementation pending.
2003-02-14 15:49:02 +00:00
davidhaas
dc49999124
Fixed some build issues regarding snmp.h
2003-02-10 21:58:34 +00:00
likewise
c68ee2b2ed
SNMP functions are now unconditionally called and defined empty if LWIP_SNMP == 0
...
This removes a lot of #if #endif cluttering the source code.
2003-02-10 13:47:47 +00:00
davidhaas
dd2fa15e8a
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.
2003-02-06 22:18:56 +00:00
likewise
ea6432702f
Added comments. Code cleanup. Clearer debugging in udp_input().
2003-01-30 15:02:48 +00:00
likewise
4a720425b7
Rebinding an active pcb did not check the given address/port against other bound pcb's.
2003-01-27 13:58:45 +00:00
likewise
0e4d59541a
Fixed assignment of pcb->flags if pcb was NULL in udp_new().
2003-01-27 12:35:16 +00:00
likewise
7dfd162a34
Added source documenting comments.
2003-01-27 08:50:28 +00:00
jani
721d237120
Fixes so that UDP connect() works.Enable generation of ICMP destination unreachable when the port is unavailable
2003-01-23 16:46:01 +00:00
jani
46c575c038
Fix udp_bind to allow rebind for same socket (yesterday's commit broke that) and introduce connection info for UDP pcbs.New function netconn_disconnect, do_disconnect for deatching UDP from a remote addres.Fix #2240
2003-01-22 16:18:05 +00:00
jani
16434f0d01
Don't allow multiple binds to the same UDP port/address pair.Closes bug #1896
2003-01-21 14:09:31 +00:00
likewise
2154ac3ecb
Enhanced documentation on UDP PCB matchjng code.
2003-01-17 15:16:33 +00:00
likewise
1ad5537c9b
Fixed some typo's in the comments.
2003-01-13 13:22:09 +00:00
likewise
cc4df7100d
Updated lwIP module copyright years to include 2003. Committers must check theirs.
2003-01-08 10:09:39 +00:00
jani
156d2c866f
sizeof(u8_t) is 1 at temperatures > 0 K
2002-12-19 09:04:58 +00:00
jani
ef68392388
renamed (hopefully everywhere) stats to lwip_stats.closes bug #1901
2002-12-18 12:49:01 +00:00
jani
4c1069c38b
use memset and memcpy instead of bzero and bcopy throughout lwIP core code.Archs need to update.Bug #1899
2002-12-18 10:40:01 +00:00
likewise
c9bd32d12b
Added SNMP call-outs for monitoring of default SNMP status items for TCP/IP.
2002-11-21 10:32:19 +00:00
adamdunkels
28832ba9c2
Added #if LWIP_UDP around udp_init() body, fixed bug where un-connected UDP PCBs did not always receive correct datagram
2002-10-23 19:44:32 +00:00
likewise
f06e955072
Initial revision
2002-10-19 12:59:30 +00:00