likewise
7a92011933
Re-added pbuf_dechain() in udp_send() as it breaks current applications.
2003-03-24 12:57:00 +00:00
jani
c60d0de919
Add sio.h containing interface to platform specific serial layer.Make slipif use it instead of defining extern functions.This is in preparation for PPP
2003-03-24 10:54:03 +00:00
likewise
6457b93a1f
Made some flag defines unsigned.
2003-03-24 10:30:12 +00:00
likewise
20667e5163
Added debug levels for some serious errors (out of memory).
2003-03-24 10:29:03 +00:00
davidhaas
96f2e162ef
Fixed memory leak caused by my last pbuf_ref change.
2003-03-21 23:01:20 +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
jani
9cafc7a764
avoid compiler warning
2003-03-21 10:34:47 +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
jani
84697ce713
Add priority argument to thread sys_thread_new.Patch from floriZ but slightly modfied
2003-03-19 15:27:56 +00:00
jani
0846206bc0
rename STATS to LWIP_STATS and make it checked by #if not #ifdef.The rest of the _STATS defines should follow
2003-03-19 12:37:46 +00:00
jani
441e9b8431
add tcpip_callback patch from Marc
2003-03-19 11:23:46 +00:00
davidhaas
f9f21934ab
Fix to last fix for bug 2826: find_arp_entry() was now not finding any
...
entries unless there was an attached buffer. Fixed so that it finds entries
without attached buffer.
Also: Now attaching buffer to arp queue before sending arp request. For
Coldfire, where ethernet receive is done under interrupts arp response was
received before buffer was attached, thus causing attached frame to never get
transmitted.
2003-03-18 14:48:40 +00:00
davidhaas
2673568cfd
Added default settings for DBG_MIN_LEVEL and definitions for the possible
...
levels.
2003-03-17 16:59:22 +00:00
likewise
45c13ad08f
Fixed bug #2826 (re-use of oldest ARP entry with queued packet leaks pbuf). Only if ARP_QUEUEING == 1.
2003-03-16 23:46:29 +00:00
likewise
76d395c8de
Fixed bug #2841 (etharp.c packet queueing always picks table entry 6).
2003-03-16 22:44:05 +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
likewise
7ece19c474
pbuf_unfold_reply() lost memory if already unfold.
...
dhcp_stop() leaked memory if a unfold reply was still in existance.
2003-03-16 22:36:54 +00:00
likewise
dbdd0f520f
Added source comments.
2003-03-13 08:50:04 +00:00
likewise
d47ef79c04
Moved DBG_MIN_LEVEL out of here to lwipopts.h
2003-03-11 14:16:27 +00:00
likewise
400ff200ee
Added comments on some ARP options.
2003-03-11 13:57:25 +00:00
likewise
daeb21b3b9
Include "netif.h" for ntohl and friends.
2003-03-10 16:13:25 +00:00
likewise
7e36c58529
Make sure that BYTE_ORDER is actually defined. Panic with #error if not.
2003-03-10 16:12:41 +00:00
likewise
aa84869fdb
Fixed cyclic dependency by including netif.h. Not sure if this breaks other compilers?
2003-03-10 16:09:41 +00:00
likewise
bd6b1a0237
DBG_TYPES_ON added (must be overridden in lwipopts.h).
2003-03-10 16:08:52 +00:00
likewise
adf088e575
DBG_TYPES_ON removed (must be in lwipopts.h instead).
2003-03-10 16:07:50 +00:00
jani
8613f2a48e
factor out netif_set_addr so address of netif can be changed
2003-03-07 10:55:58 +00:00
jani
f308f7cc80
Add sys_untimeout stub in case of NO_SYS
2003-03-07 10:29:25 +00:00
jani
eb1a41f3c9
socket functions use socklen_t, patch from floriZ.Also set/getsockopt use void * instead of char * as fourth arg
2003-03-03 10:29:21 +00:00
davidhaas
ee2c049518
Fixed build for coldfire after last debug.h and opt.h changes.
2003-02-25 21:46:04 +00:00
jani
0ba9a45d32
icmp messages need only PBUF_IP layer
2003-02-25 16:00:21 +00:00
jani
bcfc7173f3
default value for NO_SYS
2003-02-24 13:57:39 +00:00
jani
d390ca7056
cleaned up opt.h a bit, added more option defaults ad changed SYS_LIGHTWEIGHT_PROT to be a 0/1 define.The same for COMPAT_SOCKET
2003-02-24 10:49:05 +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
jani
d372121d6e
dhcp.h and ip.h declare struct netif and don't include netif.h to avoid warnings.
2003-02-20 17:16:30 +00:00
jani
8e9aa84070
do not directly include lwipopts.h but lwip/opt.h instead
2003-02-20 16:32:22 +00:00
jani
6319ffbcb8
delete ethernetif.h
2003-02-20 15:23:04 +00:00
likewise
d1c03cbd69
Fixed some issues open after merging 'leon-dhcp'.
2003-02-20 14:35:40 +00:00
likewise
37629fc1b6
Fixed some issues open after merging 'leon-dhcp'. Added new debugging.
2003-02-20 13:13:51 +00:00
jani
cc31bb9358
make netif->init return err_t instead of void.Patch from David Le Corfec
2003-02-20 11:51:53 +00:00
jani
35ef1e1b86
fix compiler error
2003-02-20 11:48:13 +00:00
likewise
d8d787545e
Merged with leon-dhcp branch. Tagged as POST_leon-dhcp afterwards.
2003-02-20 08:41:59 +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
davidhaas
e13c78820f
Fixed SYS_ARCH_PROTECT macros when NO_SYS is not defined.
...
Added documentation for lightweight protection.
Fixed debug statement in ip.c.
Removed tabs in files I changed.
2003-02-18 21:14:16 +00:00
davidhaas
7f1becc682
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().
2003-02-18 19:27:48 +00:00
likewise
1660e800e0
Made UDP flag defines unsigned (by adding the U suffix).
2003-02-18 12:41:52 +00:00
jani
da40fbd054
move FD_SET defines to sockets.h from arch.h .Last arg of select is not a const according to linux and openBSD manpages
2003-02-17 11:34:48 +00:00
likewise
90bc698a40
Lightweight protection macros were not defined if NO_SYS was defined.
2003-02-17 10:13:00 +00:00
likewise
cb6cec0404
Disabled too restrictive behaviour in _bind() and _connect(). Reimplementation pending.
2003-02-14 15:49:02 +00:00
davidhaas
de29a0818e
By request: moved lightweight protection to macros.
2003-02-12 22:00:18 +00:00
davidhaas
4fc309b1dd
Made sys_arch_prot() interface more generic by returning sys_prot_t instead
...
of u32_t.
2003-02-12 16:38:46 +00:00
davidhaas
353478180d
Fix some compile issues with both coldfire and unix builds.
2003-02-12 15:09:04 +00:00
jani
ea66eb6c23
one more C++ comment changed two prototypes added for the SNMP = 1 case
2003-02-12 08:06:50 +00:00
davidhaas
7b3e158c92
sys_thread_new() now returns the thread (request from Marc Boucher).
...
Removed some unused .h files in coldfire port.
Support LWIP_DIAG and LWIP_ASSERT in coldfire (sort of).
Fix to last api fix to make sure select() is triggered, even when there has
been a FIN.
Allow build of unixsim from cygwin by specifying "make ARCH=cygwin" or from
linux by specifying "make ARCH=linux".
2003-02-11 21:00:14 +00:00
jani
848dea2058
Only access non-NULL pbufs on some paths where they can be NULL in newly introduced callback code
2003-02-11 16:33:02 +00:00
jani
f2d35751ca
fix doxygen comment for netif_add
2003-02-11 09:51:22 +00:00
jani
16833de1cf
remove list.h
2003-02-11 09:10:10 +00:00
likewise
0cb0cd6611
C instead of C++ style comments.
2003-02-10 23:51:06 +00:00
davidhaas
dc49999124
Fixed some build issues regarding snmp.h
2003-02-10 21:58:34 +00:00
likewise
daebdd1d77
Removed my #error.
2003-02-10 19:55:35 +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
likewise
32fbec2e48
Include arch/cc.h first, as architecture headers might #define NULL itself.
2003-02-10 13:20:33 +00:00
jani
c13e08a7f5
make debugs and asserts platform independent.No more use of abort and printf.delete 2 references to arch/cpu.h and arch/lib.h
2003-02-10 11:15:19 +00:00
jani
451926e5c3
don't include arch/lib.h
2003-02-07 10:23:15 +00:00
jani
1868b2d244
tcp_timer_needed should be a noop when using the raw API.Fix link error bug #2489
2003-02-07 10:13:51 +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
jani
d2e008d4b4
Update src/FILES and src/netif/FILES
2003-02-05 13:39:35 +00:00
davidhaas
98fbb855fb
Added lightweight protection. In coldfire this is implemented by disabling
...
interrupts. In unixsim this is implemented by using a mutex. Uses #define
SYS_LIGHTWEIGHT_PROT to enable. It is enabled in coldfire by default, but
disabled in unixsim.
Fixes bug 2005 if you enable SYS_LIGHTWEIGHT_PROT. So the bug is closed.
2003-02-04 22:52:22 +00:00
likewise
987e9df948
Fixed comment typo.
2003-02-04 18:50:30 +00:00
likewise
70d54479a1
Changed some comments into JavaDoc format.
2003-02-04 18:49:46 +00:00
davidhaas
f5f31f5eaa
----------------------------------------------------------------------
...
Fixed the following bugs:
2366: For coldfire port: pbuf is freed twice when no room on
output ring.
2368: Coldfire port: buffer cleanup in 5272 driver causes
problems.
2376: Can't have timeouts large enough
Note that timeouts are now 32 bits. This was done for select()
support. Coldfire and unix ports have been updated.
Committing in .
Modified Files:
src/core/sys.c src/include/lwip/sys.h
----------------------------------------------------------------------
2003-02-04 14:50:45 +00:00
jani
442f46a1ce
recvfrom accesses freed netbuf.If it's reused in the small window by another thread recvfrom returns bad from info.Patch #1041 by Florian Zschocke
2003-01-31 12:51:56 +00:00
likewise
ea6432702f
Added comments. Code cleanup. Clearer debugging in udp_input().
2003-01-30 15:02:48 +00:00
likewise
faa9191191
Added commented about the signedness of pbuf_header() argument.
2003-01-30 12:38:03 +00:00
likewise
8560f6ef2b
Fixed DHCP packet input filter. Added numerous comments. Code cleanup.
2003-01-30 10:18:40 +00:00
likewise
bb0194cc0c
Some macro's were not surrounded by brackets. Was dangerous when nesting macro's.
2003-01-30 09:32:31 +00:00
likewise
bcfdf4c1cf
Removed the src/arch tree from the lwip module. (Now in seperate contrib module).
2003-01-29 13:18:40 +00:00
likewise
663b79ca72
ip_input() changed. A configured netif accepts any traffic and an unconfigured netif accepts only DHCP traffic.
...
Fixes bug #2004 .
2003-01-28 18:24:25 +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
ba666295eb
Nullified stray pointer for debugging purposes.
2003-01-27 11:31:30 +00:00
likewise
d34851db91
Initial commit of snmp.h function prototypes.
2003-01-27 09:29:07 +00:00
likewise
7dfd162a34
Added source documenting comments.
2003-01-27 08:50:28 +00:00
jani
6d0a8a85c7
Fix locking for disconnect operation (use post and fetch on the connection's mbox in the two threads like other operations).Make netconn_peer take a pointer to addr instead of pointer to pointer to addr.Addr is a 4 byte struct an IP address so use structure assignment not just pointer assignment when saving the peer.This way the address is really saved :fixes bug #1897
2003-01-24 09:24:44 +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
jani
39edc69514
When all entries are 0 due to the whole table changing since the last arp tick (past 10 seconds) there's no oldest entry and the new entry does not get a spot.Fix this (from Ed Sutter)
2003-01-18 16:05:24 +00:00
likewise
2154ac3ecb
Enhanced documentation on UDP PCB matchjng code.
2003-01-17 15:16:33 +00:00
jani
42309b5d6f
put a state field in listen PCBs to since they are often treated as normal pcbs. patch #922 , bug #2114
2003-01-17 14:18:55 +00:00
likewise
fa8f6cb204
Free incoming pbuf's in the TCP event macro if the recv callback is NULL. Fixes bug #2156 .
2003-01-14 12:54:02 +00:00
jani
049853362a
ack duplicate segments too to prevent connection hanging when a single transmitted ACK gets lost
2003-01-14 09:38:10 +00:00
jani
3e6202f614
do not set rtime too many times to 0.it's enough to do it in tcp_output_segment
2003-01-14 08:37:01 +00:00
jani
a993e962f5
fix compiler warnings in DEBUGF
2003-01-14 08:22:05 +00:00
likewise
1ad5537c9b
Fixed some typo's in the comments.
2003-01-13 13:22:09 +00:00
likewise
ea0dc429a7
Added #include <string.h> for memset()/memcpy().
2003-01-13 13:14:45 +00:00
jani
8d7f09fa92
remove global ctime.Each entry's ctime is now absolute.This avoids wrapping and also solves naming clash reported on the list
2003-01-13 09:38:21 +00:00
jani
02a6a8a809
etharp_output_sent no longer exists
2003-01-11 15:10:12 +00:00
jani
2bba9bcd9f
make rtime field u16_t like rto otherwise it won't catch rto if that goes beyond 255.When that happens there's trouble already since 255 ticks is over 2 minutes but still...
2003-01-10 15:46:58 +00:00
jani
4eebbdea0d
print correct pcb->rtime value in debug statament.it does not directly depend on tcp_ticks
2003-01-10 15:41:02 +00:00