fbernon
2fe1254aae
Minor changes: coding style (tabs, ident, etc...).
2007-12-02 23:38:45 +00:00
fbernon
e4590b26fb
Include a temporary sample of queue.h to fix build.
2007-12-02 23:33:58 +00:00
fbernon
325d6e7cfa
Minor changes: coding style (tabs, ident, etc...).
2007-12-02 23:24:59 +00:00
fbernon
6bce832060
Minor changes: coding style (tabs, ident, etc...).
2007-12-02 22:56:19 +00:00
fbernon
37a5a87057
Minor changes: coding style (tabs, ident, etc...).
2007-12-02 22:35:55 +00:00
fbernon
865f6eb5f3
Changes for coding style (typo, use LINK_STATS_INC, tabs, ident, etc...). Be careful, even if this change is minor, there is lot of lines modified, so, an error is always possible (I hope there is no problems).
2007-12-02 20:38:02 +00:00
fbernon
dde6ddfd7c
process "localhost" name in dns_gethostbyname
2007-12-02 17:15:28 +00:00
goldsimon
47d8d69b81
fix bug #21654 : exclude definition of struct timeval from #ifndef FD_SET. If including <sys/time.h> for system-struct timeval, LWIP_TIMEVAL_PRIVATE now has to be set to 0 in lwipopts.h
2007-12-02 15:24:02 +00:00
goldsimon
df1b7ea311
Minor fix: #include "lwip/api.h" was missing to compile cleanly
2007-12-02 15:18:08 +00:00
goldsimon
113a52d091
fix bug #21656 (recvmbox problem in netconn API): always allocate a recvmbox in netconn_new_with_proto_and_callback. For a tcp-listen netconn, this recvmbox is later freed and a new mbox is allocated for acceptmbox. This is a fix for thread-safety and allocates all items needed for a netconn when the netconn is created.
2007-12-02 14:53:50 +00:00
goldsimon
081e4d9209
Minor change: use goto instead of redundant code to return on error in dhcp_rev().
2007-12-02 14:40:32 +00:00
fbernon
e5a98b6a5b
Minor changes: fix some problems with PPPoE include path, add small comments in slip.c (unusual octal values?)
2007-11-30 17:22:20 +00:00
fbernon
2942157ca4
Minor changes: dnsserver initialization with DNS_SERVER_ADDRESS in dns_init
2007-11-30 16:40:46 +00:00
goldsimon
6746beb2a3
Compacted code: moved the code creating a netconn (without pcb) from netconn_new_with_proto_and_callback to new (synchroneous) function netconn_alloc_with_proto_and_callback and call this function from netconn_new_with_proto_and_callback and accept_function.
2007-11-30 12:54:10 +00:00
goldsimon
92aa004b75
connect the UDP pcb to the DNS server (IPaddress and port) to receive faster (unconnected pcbs are very inefficient in udp_input)
2007-11-30 12:46:30 +00:00
goldsimon
b28cd02149
task #7497 : Sort lists (pcb, netif, ...) for faster access UDP: move a (connected) pcb selected for input to the front of the list of pcbs so that it is found faster next time. Same for RAW pcbs that have eaten a packet.
2007-11-30 09:44:18 +00:00
goldsimon
cedd5c21e6
first attempt to fix bug #21655 (DHCP doesn't work reliably with multiple netifs): if LWIP_DHCP is enabled, UDP packets to DHCP_CLIENT_PORT are passed to netif->dhcp->pcb only (if that exists) and not to any other pcb for the same port (only solution to let UDP pcbs 'bind' to a netif instead of an IP address)
2007-11-30 08:55:15 +00:00
fbernon
b714cd5f4b
First fix for bug #21664 "PPP code is broken".
2007-11-29 22:19:56 +00:00
goldsimon
788892ee7c
Minor coding style changes
2007-11-28 21:44:17 +00:00
goldsimon
1b07fecbf3
Introduced ETHARP_STATS
2007-11-28 21:25:06 +00:00
goldsimon
4a01122fb7
Use ICMP_STATS_INC instead of #if ICMP_STATS...
2007-11-28 21:21:06 +00:00
goldsimon
4211da00b3
Use IP_STATS_INC instead of #if IP_STATS...
2007-11-28 21:18:37 +00:00
goldsimon
7f3cff6e09
Use LINK_STATS_INC instead of #if LINK_STATS...
2007-11-28 21:15:55 +00:00
goldsimon
6e612e5def
mem_malloc with MEM_USE_POOLS=1: if size > size of biggest pool and custom pools (in addition to the MEM_POOLs) were defined, the first custom pool was used instead of asserting
2007-11-28 18:24:08 +00:00
jgrubb
a7718b2ef3
Minor change: remove unused #define
2007-11-28 17:19:39 +00:00
jgrubb
472407c719
Fix typo (MEMP_POOL_START/END to FIRST/LAST)
2007-11-28 17:19:15 +00:00
goldsimon
f07c1cf874
fixed bug #21643 (udp_send/raw_send don't fail if netif is down) by letting ip_route only use netifs that are up.
2007-11-28 06:48:50 +00:00
jgrubb
ce7c311ecf
Add two more sanity checks on memory settings
2007-11-28 00:11:05 +00:00
fbernon
499c63bd0a
Fix macro ERR_IS_FATAL (else, no error is fatal).
2007-11-27 21:54:58 +00:00
goldsimon
03777ccb21
Changed error handling: ERR_MEM, ERR_BUF and ERR_RTE are seen as non-fatal, all other errors are fatal. netconns and sockets block most operations once they have seen a fatal error.
2007-11-27 21:15:44 +00:00
goldsimon
b4741332e0
Implemented new function udp_sendto_if which takes the netif to send as an argument (to be able to send on netifs that are down).
2007-11-27 20:13:16 +00:00
goldsimon
3874f5f5e8
Minor coding style changes
2007-11-27 19:55:31 +00:00
fbernon
8c19f9a57e
Fix to be able to build SNMP with LWIP_ARP=0. It's not a perfect solution, but I put some @todo points to review them later.
2007-11-27 19:53:47 +00:00
goldsimon
f57c2424cf
Fixed bug #21582 : pcb->acked accounting can be wrong when ACKs arrive out-of-order
2007-11-26 19:08:39 +00:00
fbernon
181b68b01e
Minor change (forgot last CRLF)
2007-11-26 10:24:36 +00:00
fbernon
93d5bed697
Minor change: add #if 0 / #endif in ethernetif.c skeleton to avoid false bug reports.
2007-11-26 10:23:40 +00:00
goldsimon
5743b11925
Check state == CLOSED in tcp_bind and tcp_connect to prevent binding/connecting twice (using LWIP_ERROR: can be disabled)
2007-11-25 18:37:34 +00:00
goldsimon
4dcfdac2f5
initialize netconn->socket to -1 instead of 0 since 0 is a valid socket!
2007-11-25 16:13:56 +00:00
goldsimon
9343b767f8
lock event_callback against lwip_accept for data that arrives right away after an accept (before lwip_accept has processed the new conn)
2007-11-25 16:04:38 +00:00
fbernon
77d9233427
Minor change (redundant code)
2007-11-25 15:32:29 +00:00
goldsimon
f63a3c1f62
Added an explaining comment for the line 'nsock->rcvevent += -1 - newconn->socket;' in lwip_accept
2007-11-25 14:33:23 +00:00
goldsimon
511cdfb951
Minor coding style changes, added some comments
2007-11-25 14:23:59 +00:00
goldsimon
e1f49d990b
Fix some warnings discovered by compiling the unixsim under cygwin (gcc pedantic)
2007-11-25 13:57:05 +00:00
goldsimon
1b208d0954
dhcp_unfold_reply() uses pbuf_copy_partial instead of its own copy algorithm; corrected some assert messages
2007-11-25 11:51:44 +00:00
goldsimon
4ac4d56b53
Added documentation / minor code layout changes
2007-11-25 10:43:28 +00:00
goldsimon
c7a0f32c98
Back to old alloc_socket(), lwip_accept had a bug in last revision
2007-11-25 10:04:04 +00:00
goldsimon
be0686d905
Added some more comments and function documentation
2007-11-25 10:01:22 +00:00
fbernon
9940b049ec
Minor changes (documentation).
2007-11-25 00:28:06 +00:00
fbernon
3d9c76a69c
Minor change (doxygen tags)
2007-11-24 22:13:25 +00:00
goldsimon
7797ada1f5
Added documentation
2007-11-24 21:19:47 +00:00
goldsimon
8cfd923aaa
Added some documentation (mainly what is unimplemented in contrast to 'std-BSD'), alloc_socket returns the sock pointer directly (for speedup)
2007-11-24 17:39:53 +00:00
goldsimon
c86b446d4c
Moved lwip_gethostbyname from sockets.c to the new file netdb.c; included lwip_getaddrinfo.
2007-11-24 16:12:02 +00:00
goldsimon
32a09370e1
tcpip.h was not compilable with both NO_SYS and LWIP_NETCONN set to 0 (include sys.h was missing)
2007-11-24 14:50:26 +00:00
fbernon
32c6893081
Minor changes (typo and wrong defines names in sanity checks)
2007-11-22 10:17:16 +00:00
goldsimon
95425552d7
Implemented calculating the effective send-mss based on the MTU of the netif used to send. Enabled by default. Disable by setting LWIP_CALCULATE_EFF_SEND_MSS to 0. This fixes bug #21535 .
2007-11-21 18:37:23 +00:00
goldsimon
dc515c7ad3
Fixed bug #20287 : tcp_output_nagle sends too early. This fixes the nagle algorithm; nagle now also works for all raw API applications and has to be explicitly disabled with 'tcp_pcb->flags |= TF_NODELAY'
2007-11-21 17:59:03 +00:00
fbernon
c31b405af6
Minor changes in DNS client.
2007-11-20 21:37:04 +00:00
goldsimon
e7483f2e64
Added return value comments to netconn_gethostbyname
2007-11-20 21:23:24 +00:00
goldsimon
9a524dac86
Adopted lwip_gethostbyname and lwip_gethostbyname_r to the new return values of dns_gethostbyname/netconn_gethostbyname
2007-11-20 21:22:45 +00:00
goldsimon
b3c52f574a
Added function documentation to dns.c, removed function documentation from dns.h (functions should be documented where they are implemented!), dns_table_entry doesn't have to be packed (slower, bigger code for most machines), converted dns_init to return void, dns_table is implicitly initialized to zero, dns_lookup can be static, dns_send returns correct error values, added some asserts, compacted dns_recv using some (ugly) gotos, compacted dns_gethostbyname by combining the same return value
2007-11-20 20:28:01 +00:00
fbernon
f58515b51e
api_msg.c, dns.h, dns.c: Implement DNS_DOES_NAME_CHECK option (check if name received match the name query), implement DNS_USES_STATIC_BUF (the place where copy dns payload to parse the response), return an error if there is no place for a new query, and fix some minor problems.
2007-11-19 22:42:01 +00:00
fbernon
da4df1f414
Fix DNS client TTL processing.
2007-11-18 21:30:45 +00:00
fbernon
7f0640b040
Minor changes on DNS.
2007-11-18 21:04:53 +00:00
fbernon
8c0e6de00a
fix DNS problem with pbuf chain.
2007-11-18 20:54:44 +00:00
fbernon
8ff1194b6a
Changes on DNS client. Add multiples dns servers support.
2007-11-18 20:30:12 +00:00
goldsimon
9dd4ad6c1f
Added thread-safe function gethostbyname_r (as in glibc)
2007-11-18 16:36:34 +00:00
fbernon
4e398e2aa9
Minor changes on DNS client. Coding style & add "response" checking
2007-11-18 15:51:34 +00:00
fbernon
92401faa72
Minor changes on DNS client. Note that "compressed answers are fixed".
2007-11-18 15:01:45 +00:00
fbernon
edc46281a4
Minor changes on DNS client.
2007-11-18 14:19:27 +00:00
goldsimon
6c8b3e3b58
Deleted old inet.c/inet6.c files
2007-11-16 19:32:19 +00:00
goldsimon
1faf0ab9e3
Moved inet files into ipv4/ipv6 directory; splitted inet.c/inet.h into inet and chksum part; changed includes in all lwIP files as appropriate
2007-11-16 19:31:10 +00:00
goldsimon
e6ec23d7cc
Added sequential (socket API) function gethostbyname and the struct hostent it uses
2007-11-16 17:29:30 +00:00
goldsimon
e2cd201f6a
Added sequential dns resolver function for netconn api (netconn_gethostbyname)
2007-11-16 17:16:17 +00:00
goldsimon
7e447c83fb
Turned all hostname variables and parameters into (const char*)
2007-11-16 17:08:03 +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
a4d14722f3
sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c: Fixed bug #20900 . Now, most of the netconn_peer and netconn_addr processing is done inside tcpip_thread context in do_getaddr.
2007-11-12 22:39:24 +00:00
goldsimon
8020ba2dc5
tcp_send_ctrl(): call tcp_enqueue with the new flag TCP_WRITE_FLAG_COPY instead of 1
2007-11-12 19:38:25 +00:00
goldsimon
21bbc9a81a
Fixed bug: assert fired when MEMP_ARP_QUEUE was empty (which can happen any time). Now the packet simply isn't enqueued when out of memory.
2007-11-10 17:41:46 +00:00
goldsimon
bfe24b138d
Patch #6215 : added ifAdminStatus write support (if explicitly enabled by defining SNMP_SAFE_REQUESTS to 0); added code to check link status for ifOperStatus if LWIP_NETIF_LINK_CALLBACK is defined.
2007-11-06 20:53:37 +00:00
goldsimon
f3dbd986cb
Task #7410 : Removed the need to include core header files in api.h (ip/tcp/udp/raw.h) to hide the internal implementation from netconn api applications.
2007-11-06 20:31:28 +00:00
fbernon
ecce865cfe
api.h, api_lib.c, api_msg.c, sockets.c, opt.h: add SO_RCVBUF option for UDP & RAW netconn. You need to set LWIP_SO_RCVBUF=1 in your lwipopts.h (it's disabled by default). Netconn API users can use the netconn_recv_bufsize macro to access it. This is a first release which have to be improve for TCP. Note it used the netconn::recv_avail which need to be more "thread-safe" (note there is already the problem for FIONREAD with lwip_ioctl/ioctlsocket).
2007-11-02 10:37:08 +00:00
fbernon
4a6f60937a
Minor change, add comment for "apiflags" parameters.
2007-11-01 19:38:01 +00:00
fbernon
cbe9b050a9
sockets.h, sockets.c, api.h, api_lib.c, api_msg.h, api_msg.c, tcp.h, tcp_out.c: Integrate "patch #6250 : MSG_MORE flag for send". MSG_MORE is used at socket api layer, NETCONN_MORE at netconn api layer, and TCP_WRITE_FLAG_MORE at raw api layer. This option enable to delayed TCP PUSH flag on multiple "write" calls. Note that previous "copy" parameter for "write" APIs is now called "apiflags".
2007-11-01 17:37:50 +00:00
goldsimon
2d5908f4de
Fixed bug #21494 : The send mss (pcb->mss) is set to 536 (or TCP_MSS if that is smaller) as long as no MSS option is received from the remote host.
2007-11-01 16:53:43 +00:00
goldsimon
298d5cf042
Fixed bug #21491 : The MSS option sent (with SYN) is now based on TCP_MSS instead of pcb->mss (on passive open now effectively sending our configured TCP_MSS instead of the one received).
2007-11-01 16:23:32 +00:00
goldsimon
853765954e
Fixed bug #21181 : On active open, the initial congestion window was calculated based on the configured TCP_MSS, not on the MSS option received with SYN+ACK.
2007-11-01 15:51:43 +00:00
goldsimon
7a99d73092
Added some explaining comments.
2007-10-28 17:43:21 +00:00
fbernon
7077d51f1f
api.h, api_lib.c, api_msg.c: Add macro API_EVENT in the same spirit than TCP_EVENT_xxx macros to get a code more readable. It could also help to remove some code (like we have talk in "patch #5919 : Create compile switch to remove select code"), but it could be done later.
2007-10-24 12:09:18 +00:00
goldsimon
270c7c1110
Removed check for conn->err for functions whose counterparts in api_msg.c also do the check (1. remove redundant code, 2. check is better done in tcpip thread context)
2007-10-22 20:01:16 +00:00
goldsimon
2d3a64815f
Minor coding style fixes, added comment
2007-10-22 19:59:52 +00:00
fbernon
86dc53b72a
Minor change (coding style, #if/#endif to include icmp.h is not necessary)
2007-10-16 07:11:35 +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
6d9b44e243
IP_REASSEMBLY: send ICMP time exceeded when discarding datagrams for which the first fragment was received; try to keep the header of the first (octet 0) fragment; combined code to make it smaller; fixed bug in timer: when freeing packets, counter was not updated correctly
2007-10-15 19:33:16 +00:00
goldsimon
e864ba6c91
IP_REASSEMBLY: Changed 'packet' to 'datagram' to match the names used in the RFCs
2007-10-15 19:28:09 +00:00
goldsimon
0686380302
Removed bug on memory failure introduced 3 months ago in rev 1.34 (input pbuf was freed on puf_alloc failure)
2007-10-15 19:18:02 +00:00
fbernon
282e9ead17
Minor change (sanity check for MEMP_NUM_REASSDATA only done if IP_REASSEMBLY=1)
2007-10-12 06:50:16 +00:00
goldsimon
1f08a5e5f5
Added code to free the oldest packets if the IP_REASS_MAX_PBUFS limit is reached or MEMP_REASSDATA is empty.
2007-10-11 19:49:06 +00:00
goldsimon
c41508cc8d
Added check that MEMP_NUM_REASSDATA is bigger than IP_REASS_MAX_PBUFS (because each MEMP_NUM_REASSDATA has one pbuf at least!)
2007-10-11 19:26:04 +00:00
goldsimon
187df4464e
Added description for MEMP_NUM_REASSDATA and changed the default value to 5.
2007-10-11 19:24:59 +00:00
goldsimon
c94d640e2a
Gave the parameters of pbuf_cat() and pbuf_chain() better names to make the use more clear.
2007-10-11 19:24:23 +00:00
fbernon
cf998b7bf8
Minor fix (remove warning)
2007-10-10 08:13:58 +00:00
fbernon
ebd167b658
Add sanity checking on TCP_MAXRTX and TCP_SYNMAXRTX
2007-10-09 20:48:28 +00:00
goldsimon
c13ec867c9
Forgot two explicit initializations...
2007-10-09 20:00:55 +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
536f2e42d2
Fixed UDPLite receive: checksum was calculated wrong if checksum coverage != tot_len
2007-10-09 19:43:29 +00:00
goldsimon
0f9799d7e0
Added todo: free the oldest entry when the MEMP_REASSDATA pool is empty or the IP_REASS_MAX_PBUFS limit is reached
2007-10-09 19:31:54 +00:00
goldsimon
b1a4b00091
Preprocessor statements have to start at the beginning of a line for old compilers!
2007-10-09 19:30:17 +00:00
goldsimon
c1c9983cfe
Removed <warning: potential uninitialized reference to
...
"buf" in function "lwip_recvfrom">
2007-10-09 19:29:54 +00:00
goldsimon
8980c3f74e
Typo in chain_frag_into_packet_and_validate (but obviously worked anyway...)
2007-10-09 06:13:12 +00:00
goldsimon
418f57dd6a
Removed type conversion warning in debug statement.
2007-10-08 19:06:58 +00:00
goldsimon
9ef005454a
lfree was not updated in mem_realloc!
2007-10-08 18:39:44 +00:00
fbernon
afad35a8ac
Minor change (add a default value to tune for MEMP_NUM_REASSDATA in opt.h)
2007-10-08 07:39:24 +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
911ee4d9f9
Minor change (coding style)
2007-10-07 17:41:21 +00:00
fbernon
87e16a8f47
sockets.c, api.h, api_lib.c: First step to fix "bug #20900 : Potential crash error problem with netconn_peer & netconn_addr". VERY IMPORTANT: this change cause an API breakage for netconn_peer, since a parameter type change. Any compiler should cause an error without any changes in yours netconn_peer calls (so, it can't be a "silent change"). It also reduce a little bit the footprint for socket layer (lwip_getpeername & lwip_getsockname use now a common lwip_getaddrname function since netconn_peer & netconn_addr have the same parameters).
2007-10-07 17:26:54 +00:00
goldsimon
e561c7b49d
Added check for overlapping or duplicate fragments. ip_reass_init() is not needed any more (the check is done in chain_frag_into_packet_and_validate()).
2007-10-07 11:52:32 +00:00
goldsimon
8cd65eaf46
Check for TCP_SND_QUEUELEN overflow.
2007-10-07 11:27:45 +00:00
goldsimon
b7ef6077df
Changed IP_REASSEMBLY to enqueue the received pbufs so that multiple packets can be reassembled simultaneously and no static reassembly buffer is needed.
2007-10-06 15:24:43 +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
79c00be516
netifapi.h, netifapi.c: add function netifapi_netif_set_default. Change the common function to reduce a little bit the footprint (for all functions using only the "netif" parameter).
2007-10-05 13:34:48 +00:00
fbernon
949efb414a
netifapi.h, netifapi.c: add functions netifapi_netif_set_up, netifapi_netif_set_down, netifapi_autoip_start and netifapi_autoip_stop. Use a common function to reduce a little bit the footprint (for all functions using only the "netif" parameter).
2007-10-03 16:54:27 +00:00
jifl
5dd1256769
Small tweak: clarify use of link speed in comments for NETIF_INIT_SNMP.
2007-10-03 09:10:28 +00:00
fbernon
c52ef1d2b3
Minor changes for debug (indent, and set LWIP_DBG_TYPES_ON to LWIP_DBG_ON to have all traces selected display per default, in the same spirit that LWIP_DBG_MIN_LEVEL is set per default to LWIP_DBG_LEVEL_OFF)
2007-09-22 11:16:07 +00:00
fbernon
c7e91d3302
Minor change, sys_prot_t is undefined is NO_SYS=1
2007-09-21 21:23:39 +00:00
jifl
c1bbcf5ed3
Add further checking that MEMP_NUM_SYS_TIMEOUT is high enough
2007-09-21 14:39:03 +00:00
fbernon
87c5a61d07
Minor changes by Andrew Dennison: add sanity check, improve debug messages for memp, fix some warnings...
2007-09-21 12:36:35 +00:00
goldsimon
0aa3d89134
Fixed bug #21080 (tcp_bind without check pcbs in TIME_WAIT state) by checking tcp_tw_pcbs also
2007-09-20 18:27:50 +00:00
goldsimon
0bf32b957d
Fixed bug #21107 (didn't reset IP TTL in ICMP echo replies)
2007-09-19 06:12:34 +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
kleshov
93c487fb75
Fix bug #21077 : inaccuracy in calculation of lwip_stat.mem.used
2007-09-15 11:34:06 +00:00
fbernon
036d1aae50
Fix "bug #21075 : pbuf_realloc() use with PBUF_RAM and MEM_LIBC_MALLOC fails" signaled by Bill Florac
2007-09-15 06:53:16 +00:00
kleshov
f600a868f5
Indentation fix
2007-09-13 17:46:13 +00:00
fbernon
95f2d48ac4
Avoid to lost previous error codes in sockets.c and api_lib.c.
2007-09-13 15:03:42 +00:00
fbernon
8c847a85ae
Add a sanity check for PPP, and a #if !NO_SYS/#endif for slipif_loop
2007-09-12 19:16:44 +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
6aab0332e8
Add missing #if/#endif to fix build problems
2007-09-12 09:02:26 +00:00
fbernon
47ae677652
enable to remove SNMP timer (which consumne several cycles even when it's not necessary). snmp_agent.txt tell to call snmp_inc_sysuptime() each 10ms (but, it's intrusive if you use sys_timeout feature). Now, you can decide to call snmp_add_sysuptime(100) each 1000ms (which is bigger "step", but call to a lower frequency). Or, you can decide to not call snmp_inc_sysuptime() or snmp_add_sysuptime(), and to define the SNMP_GET_SYSUPTIME(sysuptime) macro. This one is undefined by default in mib2.c. SNMP_GET_SYSUPTIME is called inside snmp_get_sysuptime(u32_t *value), and enable to change "sysuptime" value only when it's queried (any direct call to "sysuptime" is changed by a call to snmp_get_sysuptime).
2007-09-10 18:50:44 +00:00
jgrubb
54e1b79ac5
Make pbuf_alloc a bit easier to read (change parameter name from "l" to "layer" and use LWIP_MIN instead of ternary operatory)
2007-09-10 18:25:15 +00:00
jgrubb
6afe1f3597
DHCP_DOES_ARP_CHECK is set to 1 by default -- the compile-time checks fail if DHCP is off... So this patch sets the default to be 1 only if both DHCP and ARP are set.
2007-09-10 18:12:13 +00:00
fbernon
4466260480
Remove CVS keyword
2007-09-10 07:56:16 +00:00
fbernon
1c6e31173d
Add missing include files.
2007-09-09 22:34:55 +00:00
fbernon
939180c1a1
igmp.h, igmp.c, netif.h, netif.c, ip.c: To enable to have interfaces with IGMP, and others without it, there is a new NETIF_FLAG_IGMP flag to set in netif->flags if you want IGMP on an interface. igmp_stop() is now called inside netif_remove(). igmp_report_groups() is now called inside netif_set_link_up() (need to have LWIP_NETIF_LINK_CALLBACK=1) to resend reports once the link is up (avoid to wait the next query message to receive the matching multicast streams).
2007-09-09 20:46:33 +00:00
fbernon
8205737fdb
sockets.c, ip.h, api.h, tcp.h: declare a "struct ip_pcb" which only contains IP_PCB. Add in the netconn's "pcb" union a "struct ip_pcb *ip;" (no size change). Use this new field to access to common pcb fields (ttl, tos, so_options, etc...). Enable to access to these fields with LWIP_TCP=0.
2007-09-07 23:47:02 +00:00
fbernon
75d4c9b446
Add some deprecated options from "task #7142 : Sanity check user-configurable values".
2007-09-07 23:28:02 +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
027a70a415
Last sanity checking centralization for "task #7142 : Sanity check user-configurable values".
2007-09-07 17:59:30 +00:00
fbernon
3dfe5f993b
DON'T WORRY, it's just a test on CVS keywords (I will remove)
2007-09-07 12:32:40 +00:00
fbernon
f5991dd9b6
DON'T WORRY, it's just a test on CVS keywords (I will remove)
2007-09-07 12:31:50 +00:00
fbernon
58c5d008d5
DON'T WORRY, it's just a test on CVS keywords (I will remove)
2007-09-07 09:23:51 +00:00
fbernon
ac1149156d
several-files: replace some #include "arch/cc.h" by "lwip/arch.h", or simply remove it as long as "lwip/opt.h" is included before (this one include "lwip/debug.h" which already include "lwip/arch.h"). Like that, default defines are provided by "lwip/arch.h" if they are not defined in cc.h, in the same spirit than "lwip/opt.h" for lwipopts.h.
2007-09-06 16:43:43 +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
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
fbernon
c1f89c5640
Move some build time checkings inside init.c for task #7142 "Sanity check user-configurable values".
2007-09-05 13:19:25 +00:00
fbernon
5865a78c1e
Minor fix (add some parenthesis where macro expansion could cause problems)
2007-09-05 10:18:39 +00:00
fbernon
d4616a7fc6
Replace mem_malloc call by memp_malloc, and use a new MEMP_NUM_IGMP_GROUP option (see opt.h to define the value). It will avoid potential fragmentation problems, use a counter to know how many times a group is used on an netif, and free it when all applications leave it. MEMP_NUM_IGMP_GROUP got 8 as default value (and init.c got a sanity check if LWIP_IGMP!=0).
2007-09-04 15:15:20 +00:00
fbernon
d794357504
Fix warnings inside sockets.c with "gcc" compilers. See "Description" in http://www.opengroup.org/onlinepubs/007908799/xns/syssocket.h.html :
2007-09-04 14:30:26 +00:00
fbernon
79b0484e20
Minor changes (fix some warnings like "function declaration isn't a prototype" and "no previous prototype for 'lwip_init'"...)
2007-09-04 13:51:48 +00:00
fbernon
62b4741b19
Changes for " #20503 IGMP Improvement". Initialize igmp_mac_filter to NULL in netif_add (this field should be set in the netif's "init" function). Use the "imr_interface" field (for socket layer) and/or the "interface" field (for netconn layer), for join/leave operations. The igmp_join/leavegroup first parameter change from a netif to an ipaddr. This field could be a netif's ipaddr, or "any" (same meaning than ip_addr_isany).
2007-09-03 14:53:18 +00:00
fbernon
327f06bbaf
Replace "netif_default = NULL;" by "netif_set_default(NULL);" in netif_remove (do some processing, like for SNMP...)
2007-09-03 12:22:00 +00:00
fbernon
d7cd90b5b8
Add in igmp_joingroup & igmp_leavegroup a LWIP_ERROR checking on netif value.
2007-09-03 09:56:38 +00:00
fbernon
85fef90c94
Add enum snmp_ifType in snmp.h, and use it in network interfaces for NETIF_INIT_SNMP
2007-08-31 10:14:09 +00:00
fbernon
fca25479ad
Minor fix (else, cause build error). Since SO_REUSE is always used in the code (even if the current code is not working), it is defined in opt.h with 0 as default value (it's normal). So, the error is not if it is defined, but if it is defined to 1.
2007-08-31 09:42:32 +00:00
fbernon
231d965bcb
Minor fix (use ETHARP_HWADDR_LEN)
2007-08-31 09:02:53 +00:00
jgrubb
6c10282f9a
Put back in SO_REUSE
2007-08-30 22:41:24 +00:00
jgrubb
cb399272fd
Move deprecated options from opt.h to init.c
2007-08-30 22:33:55 +00:00
fbernon
245bce04d1
Add netbuf.h, netbuf.c, Change api.h, api_lib.c: #7249 "Split netbuf functions from api/api_lib". Now netbuf API is independant of netconn, and can be used with other API (application based on raw API, or future "socket2" API). Ports maintainers just have to add src/api/netbuf.c in their makefile/projects.
2007-08-30 16:55:10 +00:00
fbernon
3101bdf127
Add some others sanity checkings
2007-08-30 16:06:51 +00:00
fbernon
384ae9c407
Minor change (ident, remove comment, change trace text)
2007-08-30 15:53:15 +00:00
fbernon
c671f8e7ef
Replace API programmation error checking for IGMP join/leave (ismulticast(addr)) by LWIP_ERROR checking.
2007-08-30 15:48:14 +00:00
jifl
f39b9c85fe
Add further checks. Move compile-time checks out of LWIP_DEBUG ifdef
2007-08-30 15:33:51 +00:00
fbernon
ab36270885
igmp.h, igmp.c: Some changes to remove some redundant code, add some traces, and fix some coding style.
2007-08-30 14:20:54 +00:00
fbernon
bd65dd8098
init.c: Add first version of lwip_sanity_check for task #7142 "Sanity check user-configurable values".
2007-08-30 10:15:17 +00:00
fbernon
36b6f308e6
Minor fix (coding style, comments, spaces, endline...)
2007-08-30 09:14:28 +00:00
fbernon
cd208314e0
igmp.h, igmp.c, tcpip.c, init.c, netif.c: change igmp_init and add igmp_start. igmp_start is call inside netif_add. Now, igmp initialization is in the same spirit than the others modules. Modify some IGMP debug traces.
2007-08-29 21:12:32 +00:00
fbernon
da7b5135de
Minor Fix (ident)
2007-08-29 20:50:53 +00:00
fbernon
cb3d2b327a
Minor fix: replace C++ comments by C comments.
2007-08-29 09:25:17 +00:00
fbernon
48db3a3e92
Add init.h, init.c, Change opt.h, tcpip.c: Task #7213 "Add a lwip_init function" Add lwip_init function to regroup all modules initializations, and to provide a place to add code for task #7142 "Sanity check user-configurable values". Ports maintainers should remove direct initializations calls from their code, and add init.c in their makefiles. Note that lwip_init() function is called inside tcpip_init, but can also be used by raw api users since all calls are disabled when matching options are disabled. Also note that their is new options in opt.h, you should configure in your lwipopts.h (they are enabled per default).
2007-08-29 08:11:06 +00:00
fbernon
7182fb8fb0
tcpip.c: Fix TCPIP_MSG_INPKT processing: now, tcpip_input can be used for any kind of packets. These packets are considered like Ethernet packets (payload pointing to ethhdr) if the netif got the NETIF_FLAG_ETHARP flag. Else, packets are considered like IP packets (payload pointing to iphdr).
2007-08-29 07:51:20 +00:00
fbernon
d7da390ae9
Fix coding style (use #if and not #ifdef) for IPv6
2007-08-28 16:03:53 +00:00
fbernon
54c1025ec0
First fix for "bug #20900 : Potential crash error problem with netconn_peer & netconn_addr". Introduce NETCONN_LISTEN netconn_state and remove obsolete ones (NETCONN_RECV & NETCONN_ACCEPT).
2007-08-27 10:08:53 +00:00
jifl
5e7b7cba31
"Fix" a few more cases where Paradigm C++ may mis-compile 16-bit right shifts on 32-bit quantities
2007-08-27 01:59:52 +00:00
marcbou
180e6d2c75
Reset the callbacks and arg (conn) to NULL in do_close_internal(), because
...
TCP callbacks in api_msg.c can under certain circumstances be called with an
invalid conn pointer after the connection has been closed (and conn has been
freed).
2007-08-26 23:58:33 +00:00
fbernon
acbf25f2eb
netif.h, netif.c: Integrate "patch #6163 : Function to check if link layer is up". Add a netif_is_link_up() function if LWIP_NETIF_LINK_CALLBACK option is set.
2007-08-25 10:43:19 +00:00
kieranm
7c90cc6aac
inet.c Modify (acc >> 16) test to ((acc >> 16) != 0) to help buggy
...
compiler (Paradigm C++)
2007-08-24 14:31:53 +00:00
fbernon
261af8dc07
netif.h, netif.c, opt.h: Rename LWIP_NETIF_CALLBACK in LWIP_NETIF_STATUS_CALLBACK to be coherent with new LWIP_NETIF_LINK_CALLBACK option before next release.
2007-08-22 11:26:01 +00:00
fbernon
2f344268ff
Minor fix (spaces and comment)
2007-08-22 11:00:02 +00:00
fbernon
42f3c24fc4
tcpip.h, tcpip.c, ethernetif.c, opt.h: remove options ETHARP_TCPIP_INPUT & ETHARP_TCPIP_ETHINPUT, now, only "ethinput" code is supported, even if the name is tcpip_input (we keep the name of 1.2.0 function).
2007-08-22 10:04:35 +00:00
fbernon
c4b97a1710
Forget to rename this line (pbuf->flgs->pbuf->flags)
2007-08-22 08:47:48 +00:00
fbernon
4f76bc42d7
Rename pbuf's "flgs" in "flags" (see in [lwip-devel] Last changes by Marc)
2007-08-20 19:15:43 +00:00
fbernon
fbd5600563
Force a build error if MEMP_NUM_TCPIP_MSG is always defined
2007-08-20 18:53:33 +00:00
fbernon
3259e2eac9
Replace PBUF_LINK_HLEN before PBUF_POOL_BUFSIZE, restore PPP options changed by Marc Boucher but lost with last Jared changes...
2007-08-20 17:05:01 +00:00
jgrubb
baca292f47
Task #7136 : Fix bug of wrong file name for centralized mempool settings.
2007-08-20 16:42:16 +00:00
fbernon
8babf0ec73
Fix wrong define for both pool "struct tcpip_msg" + minor fix (coding style)
2007-08-20 16:25:15 +00:00
fbernon
c07d124d4b
Minor change (fix comment)
2007-08-20 16:22:17 +00:00
marcbou
a0db1eaa32
Removed PBUF_FLAG_LINK_BROADCAST.
2007-08-17 22:23:42 +00:00
marcbou
dbd61d129d
Fix potential pbuf leaks.
2007-08-17 22:15:24 +00:00
jgrubb
21b5fb5ddb
Task #7143 : Clean up opt.h. Made all the comment formats the same (uses Doxygen style), a couple minor reorderings. Changed a few of the default stats variables to depend on whether the modules were even used (i.e. #define TCP_STATS (LWIP_TCP) ). PPP options could still use some cleaning.
2007-08-17 18:31:05 +00:00
jgrubb
768843f1f0
Task #7136 : Centralize mempool settings into new memp_std.h and optional user file lwippools.h. (Remove MEMP_POOL_SIZE/NUM flags, add new MEMP_USE_CUSTOM_POOLS option)
2007-08-17 18:18:58 +00:00
jgrubb
cc7d1226ee
Task #7136 : Centralize mempool settings into new memp_std.h and optional user file lwippools.h.
2007-08-17 17:49:17 +00:00
fbernon
8abafc54a6
Fix comment
2007-08-17 10:49:35 +00:00
fbernon
885695fa67
Minor changes (tabs)
2007-08-17 10:46:07 +00:00
fbernon
e0bf309bb5
Add raw_init in tcpip_init + minor changes (tabs, ident, coding style...)
2007-08-17 09:57:37 +00:00
marcbou
d907bcd57a
lwip_recvfrom() tweaks.
2007-08-17 05:55:24 +00:00
marcbou
0167bbb89a
Per Frederic's suggestion, renamed
...
[MEMP_[NUM_]]TCPIP_MSG to [MEMP_[NUM_]]TCPIP_MSG_API
and
[MEMP_[NUM_]]TCPIP_MSG_INPUT to [MEMP_[NUM_]]TCPIP_MSG_INPKT.
Added defines in opt.h for temporary compatibility with older lwipopts.h.
2007-08-17 02:46:43 +00:00
marcbou
0471aaec52
Use enum pbuf_flag as pbuf_type.
...
Renumber PBUF_FLAG_*.
2007-08-17 02:09:43 +00:00
marcbou
18636a4df5
Fixed misplaced #endif.
2007-08-17 02:07:26 +00:00
fbernon
2be122875a
Minor changes (tabs, ident, coding style...)
2007-08-17 00:30:27 +00:00
marcbou
c517f6daf9
Backed out lwip_close() change after discussion with Frederic.
2007-08-16 23:09:04 +00:00
marcbou
07223bf5ef
Backed out last change to netconn_delete() after discussion with Frederic.
2007-08-16 23:06:42 +00:00
marcbou
7862ba583e
Moved lwip/src/netif/ppp/ppp_oe.h to lwip/src/include/netif/ppp_oe.h
2007-08-16 21:12:24 +00:00
marcbou
8c10d91135
ethbroadcast now a shared global provided by etharp.
2007-08-16 20:52:59 +00:00
marcbou
c81d0f3393
fix ethernet_input() return code warning.
2007-08-16 20:50:43 +00:00
marcbou
0b8b9e8033
Changed // style comment to /* style */ comment.
2007-08-16 20:41:56 +00:00
marcbou
b73198d5ef
Provide default value for MEMP_NUM_TCPIP_MSG_INPUT if not defined.
2007-08-16 20:39:29 +00:00
marcbou
4236699052
Split pbuf flags in pbuf type and flgs.
...
Improved lwip_recvfrom(). TCP push now propagated.
2007-08-16 20:22:15 +00:00
marcbou
75935ad251
Changed // style comments to /* style */ comments.
2007-08-16 20:17:50 +00:00
marcbou
a3c3f47e17
lwip_close(): call netconn_delete() under socksem to properly handle
...
concurrent closes.
2007-08-16 20:08:33 +00:00
marcbou
17f07a36ef
netconn_delete(): unblock potentially waiting recv.
2007-08-16 20:03:23 +00:00
marcbou
557a0c7ae3
Removed TCPIP_MSG_ETHINPUT. TCPIP_MSG_INPUT now used for
...
both ETHARP_TCPIP_INPUT and ETHARP_TCPIP_ETHINPUT.
2007-08-16 19:55:30 +00:00
marcbou
1b98df4a0d
Added distinct memp (MEMP_TCPIP_MSG_INPUT) for input packets to prevent
...
floods from consuming all of MEMP_TCPIP_MSG and starving other message types.
2007-08-16 19:49:08 +00:00
marcbou
58bfb0458e
Added PPPoE support to ethernet_input()
2007-08-16 19:16:03 +00:00
marcbou
95cbf95c50
Added mem_calloc().
2007-08-16 18:37:15 +00:00
marcbou
0b4402ebc8
lwip_accept(): check netconn_peer() error return.
2007-08-16 18:29:37 +00:00
marcbou
d64b3f21e6
Initialize newconn->state to NETCONN_NONE in accept_function;
...
otherwise it was left to NETCONN_CLOSE and sent_tcp() could prematurely
close the connection.
2007-08-16 18:24:29 +00:00
marcbou
931fcfd0f5
Added PPPoE support and various PPP improvements.
2007-08-16 18:12:20 +00:00
kieranm
a6ca9aa306
* tcp_in.c: Fix for bug #19953 - correct TCP state machine when
...
* receiving FIN+ACK in SYN_RECV state
2007-08-16 15:57:31 +00:00
fbernon
40ef282982
Minor change: add in tcp_in.c in tcp_input(), some calls to handle error statistics (stats & snmp)
2007-08-14 18:01:34 +00:00
fbernon
9152d6671c
Comments Fix for Doxygen documentation
2007-08-09 22:21:44 +00:00
fbernon
d057e95ce3
Minor Fix (remove unused USE_ROUTER_ALERT and some coding style)
2007-08-09 20:21:59 +00:00
fbernon
ac2932bac3
stats.h, stats.c, igmp.h, igmp.c, opt.h: Fix for bug #20503 : IGMP Improvement. Introduce IGMP_STATS to centralize statistics management.
2007-08-09 20:09:22 +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
fbernon
7c104c8fbb
igmp.h, igmp.c, ip.c: Fix minor changes from bug #20503 : IGMP Improvement. This is mainly on using lookup/lookfor, and some coding styles...
2007-08-09 16:53:47 +00:00
fbernon
11c94b6566
Minor fix (spaces)
2007-08-09 10:51:26 +00:00
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
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
jifl
712a22e18c
Applied patch #5832 from Tai-hwa Liang to keep ipv6 building.
2007-04-10 13:18:14 +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
787eecbf43
Fix mistakes in netconn's error field checking.
2007-04-05 21:11:16 +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
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
goldsimon
f8aa14d402
Fix bug #5848 : add #if PAP_SUPPORT around the whole file pap.h
2007-04-04 19:21:27 +00:00
goldsimon
11a4f5538b
Change names of 2 global variables again, as the previous names did not have lwip-style...
2007-04-03 16:33:14 +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
goldsimon
34fcccc50b
- Changed the names of some variables in SNMP module to avoid them shadowing each other (which produces a lot of warnings and makes the code hard to maintain)
...
- Added missing defines for 3 snmp-functions if LWIP_SNMP==0
2007-04-02 20:39:24 +00:00
goldsimon
2f53df93e8
Removed printf formatter warning introduced by last check-in (changed local variable from u32_t to u16_t)
2007-04-02 20:34:18 +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
f75be85eea
Add NETIF_FLAG_ETHARP flag and comments in this skeleton.
2007-03-30 10:32:57 +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
4208bcd8d1
Fix on NETIF_FLAG_ETHARP test (test inverted)
2007-03-30 09:25:41 +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
9ec08fa76a
Missing recv_timeout initialize in accept_function. Minor style fix (indent, mbox checking...)
2007-03-28 18:21:24 +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
d301b69dae
Minor. Add LWIP_NETIF_HOSTNAME in skeleton and comment on #endif for LWIP_SNMP.
2007-03-28 10:29:06 +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
goldsimon
4aee4c1ac7
Free pbuf if pbuf_header() fails
2007-03-26 19:27:11 +00:00
goldsimon
bef0503545
Removed warning: sizeof() was automatically casted to negative
2007-03-26 18:57:30 +00:00
goldsimon
7aea2cd6f1
Remove warnings: "converting from 'u32_t' to 'u16_t': possible loss of data": check that received timeout values fit into u16_t.
2007-03-26 18:52:52 +00:00
goldsimon
028d707077
Remove warning in netif_add(): "converting from 's16' to 'u8_t': possible loss of data" (static variable netifnum)
2007-03-26 17:19:12 +00:00
goldsimon
c9df03d1a9
Remove warnings: "comparision between signed and unsigned" and "converting from 'unsigned long' to 'u8_t': possible loss of data"
2007-03-26 17:15:23 +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
fbernon
a880469d7d
Remove obsolete include from my port.
2007-03-21 13:57:45 +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
1af676385c
Add igmp.h and igmp.c inside tree :
...
src/core/ipv4/igmp.c
src/include/ipv4/lwip/igmp.h
2007-03-11 19:45:32 +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
goldsimon
41a84ef1d3
Fixed bug #11400-2: New etharp queueing introduced bug: memp_memory was allocated too small.
2007-03-09 07:15:04 +00:00
fbernon
86cecd6700
Keepalive values can be configured at compile time, but don't change this unless you know what you're doing (default are RFC1122 compliant).
2007-03-08 21:02:39 +00:00
fbernon
fdcb87db19
Implement LWIP_SO_RCVTIMEO configuration option to enable/disable SO_RCVTIMEO on UDP sockets/netconn.
2007-03-08 20:58:46 +00:00
goldsimon
a868832776
Initialize dhcp timers in tcpip_thread (if LWIP_DHCP) to protect the stack from concurrent access.
2007-03-08 10:37:31 +00:00
goldsimon
5eabd4591a
SNMP UDP ports can be configured at compile time
2007-03-08 10:32:29 +00:00
goldsimon
91afefa61a
Reverted pbuf_alloc() to REV 1.82
2007-03-07 15:47:54 +00:00
goldsimon
ea7bdb8e9e
Last change (reduce code size if not used) had a bug...
2007-03-06 19:37:32 +00:00
fbernon
7cda728469
Fix some "little" build problems, and a redundancy call to "lwip_stats.link.recv++;" in low_level_input() & ethernetif_input().
...
If LINK_STATS was defined, tcpip.c couldn't be build.
Even if IP_FRAG or IP_REASSEMBLY were set, ip_frag.c functions are not build.
2007-03-06 19:31:49 +00:00
fbernon
7fd37d4e87
Implement SO_RCVTIMEO on UDP sockets/netconn.
2007-03-06 16:41:02 +00:00
goldsimon
874bfe19d2
Reduce code size: don't include code in those files if IP_FRAG == 0 and IP_REASSEMBLY == 0
2007-03-06 15:27:58 +00:00
fbernon
ed07d481d6
opt.h, ip_frag.h, tcpip.h, tcpip.c, ethernetif.c: add new configuration option named ETHARP_TCPIP_ETHINPUT, which enable the new tcpip_ethinput. Allow to do ARP processing for incoming packets inside tcpip_thread (protecting ARP layer against concurrent access). You can also disable old code using tcp_input with new define ETHARP_TCPIP_INPUT set to 0. Older ports have to use tcpip_ethinput.
2007-03-06 14:18:02 +00:00
goldsimon
7115975212
fixed compiler warning "initialization dircards qualifiers from pointer target type"
2007-03-06 07:28:22 +00:00
fbernon
ddf0982d0f
opt.h, sockets.h: add new configuration options (LWIP_POSIX_SOCKETS_IO_NAMES, ETHARP_TRUST_IP_MAC, review SO_REUSE).
...
Also include directly tcp.h in sockets.h to improve application independancy from ip stack (avoid to include directly in application the "unknown" tcp.h if you need options like TCP_NODELAY and TCP_KEEPALIVE in application.
2007-03-05 14:43:11 +00:00
goldsimon
7b54ddd828
Corrected patch to bug #19168
2007-03-04 17:21:43 +00:00
fbernon
1ffd049833
api_msg.c: Remove some compiler warnings : parameter "pcb" was never referenced.
2007-03-04 16:25:04 +00:00
fbernon
12e0a2ef7d
api_lib.c: Fix "[patch #5764 ] api_lib.c cleanup: after patch #5687 " (from Dmitry Potapov).
...
The api_msg struct stay on the stack (not moved to netconn struct).
2007-03-04 14:49:46 +00:00
goldsimon
9da7afb345
Fixed buf #19168 based on patch by Dmitry Potapov
2007-03-04 12:45:58 +00:00
goldsimon
1f544e087b
Fix BUG#11400 - don't corrupt existing pbuf chain when enqueuing multiple pbufs to a pending ARP request
2007-03-04 12:12:42 +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
goldsimon
bb8522b737
tcpip.c: Moved call to ip_init(), udp_init() and tcp_init() from tcpip_thread() to tcpip_init()
2007-03-03 16:22:38 +00:00
kieranm
527d18a526
2007-02-28 Kieran Mansley (based on patch from Simon Goldschmidt)
...
* api_lib.c, tcpip.c, memp.c, memp.h: make API msg structs allocated
on the stack and remove the API msg type from memp
2007-02-28 14:15:43 +00:00
kieranm
5ace5976a1
* pbuf.c: Fix BUG#17645 - ensure pbuf payload pointer is not moved
...
outside the region of the pbuf by pbuf_header()
2007-02-28 13:45:35 +00:00
kieranm
c52ac01fbc
sockets.c: Fix BUG#19161 - ensure milliseconds timeout is non-zero
...
when supplied timeout is also non-zero
2007-02-28 12:52:44 +00:00
jifl
f4f2bfe379
Ensure the size of each pbuf in the pool meets alignment constraints
2007-02-27 16:50:05 +00:00
jifl
75beb3bd35
Fix incorrect comparison in get_socket().
...
Spotted by Frederic Bernon.
2007-02-26 20:16:38 +00:00
jifl
1d22294974
* sockets.h, sockets.c: Move socket initialization to new
...
lwip_socket_init() function.
2007-02-26 20:01:04 +00:00
jifl
de665f7cf9
2007-02-26 Jonathan Larmour (based on patch from Simon Goldschmidt)
...
* api_lib.c: Use memcpy in netbuf_copy_partial.
2007-02-26 19:49:49 +00:00
christiaans
205520c620
Fix the fix for GETSHORT and GETLONG bug #19052 , needs to be tested by some PPP user.
2007-02-14 08:08:35 +00:00
christiaans
11f2e8d1a6
Added MEM_LIBC_MALLOC option as workaround for failing mem_malloc().
2006-12-04 08:24:25 +00:00
christiaans
a91374a916
Added MEM_LIBC_MALLOC option as workaround for failing mem_malloc().
2006-12-01 15:38:56 +00:00
christiaans
36e6c26545
Included xid to some DEBUGFs.
2006-12-01 13:52:07 +00:00
christiaans
9a68f74857
Fixed false triggers of request_timeout.
2006-11-30 16:25:43 +00:00
christiaans
b96c15890c
Disabled alignment fix. Stepping back, #17922 fix fails on my target, DHCP won't start, I don't understand.
2006-11-28 13:29:05 +00:00
christiaans
5a6b26d69e
In netif_add() fixed clearing of ip_addr, netmask, gw and flags.
2006-11-28 13:12:15 +00:00
christiaans
a3d912a801
Fixed uninitalized variable warnings (using gcc 4.1.1)
2006-11-27 15:37:44 +00:00
christiaans
b4f1deaa46
Accepted patch #5493 IP frag/reass config item tweak.
2006-11-27 14:48:21 +00:00
christiaans
976bce4c7f
Changed heap to use naturally aligned start address and added near-fit case to #17922 fix.
2006-11-27 14:23:24 +00:00
christiaans
77e0f77850
Added snmp_send_trap() parameter, caller must pass enterprise id for enterprise secific traps.
2006-11-27 08:43:10 +00:00
christiaans
a885cbf8ed
Removed mem_dump() reference.
2006-11-22 09:56:39 +00:00
christiaans
b6af5d9bda
Initial attempt at fixing bug #17922 , calling for reviewers. This seems to work for me, more or less, but it looks like it breaks TCP.
2006-11-22 08:27:38 +00:00
christiaans
b72677c3ce
Added missing NULL return checks for snmp_mib_lrn_alloc() and trimmed whitespace at line ends.
2006-11-17 11:07:25 +00:00
christiaans
5e44122552
Trimmed whitespace at line ends.
2006-11-17 11:05:26 +00:00
christiaans
d4b6471d39
Replaced tabs with space.
2006-11-17 10:51:13 +00:00
christiaans
fe1bea9538
Added netif_set_up and call protection for NULL function pointers. Bug #16602 and #17777 .
2006-11-02 12:25:57 +00:00
christiaans
2f41e2b0ec
Made ip_id static again, fixing bug #18065 . This is required when outputting IP fragments.
2006-11-01 09:33:14 +00:00
christiaans
bd86f95512
Cold case #9191 fixes for NC30 compiler for the M16 mcu, reported by Bjorn Sundman.
2006-10-25 07:51:17 +00:00
christiaans
4e583dab2e
Again, fixed decoding of negative integers in snmp_asn1_dec_s32t(), tnx to though testing by Sander.
2006-10-13 13:45:06 +00:00
christiaans
bc182cab7c
Removed EXPERIMENTAL status.
2006-10-13 12:00:35 +00:00
christiaans
f6f6f11838
Fixed decoding of negative integers in snmp_asn1_dec_s32t(), removed EXPERIMENTAL status.
2006-10-13 11:59:45 +00:00
christiaans
b5f4672155
Partially accepted patch #5449 for ANSI C compatibility / build fixes. Fixed bug #17574 corrected UDP-Lite protocol identifier.
2006-10-11 12:04:04 +00:00
christiaans
729da3c873
Fixed Nagle algorithm as reported by Bob Grice.
2006-10-10 07:48:27 +00:00
christiaans
2539b5cf61
Fixed up mib_external_node support, snmpwalk works for external objects.
2006-10-06 08:41:24 +00:00
christiaans
f7881e58bb
Improved message parse robustness. Rejecting 'error requests'. Removed invalid genError return on varbindlist parse error, changed badValue into noSuchName error for non-writeable objects.
2006-10-04 09:15:23 +00:00
christiaans
25ed4e9d16
Fixed clearing of head and tail pointers in snmp_mib_node_delete().
2006-10-03 10:41:48 +00:00
christiaans
7eddf93b36
Added missing snmp_delete_arpidx_tree() in find_entry where entry state was set to ETHARP_STATE_EMPTY.
2006-10-03 10:39:37 +00:00
christiaans
cfb082a20b
Added external mibnode panic closure functions, tobe called for error responses.
2006-10-02 10:13:04 +00:00
christiaans
e440590c37
Fixed snmp_mib_node_insert() to return 2, for node present (not inserted). Also solves invalid rootnode count for this case.
2006-09-29 13:34:38 +00:00
christiaans
c851a19ab2
Added en->get_value_a() call for zero size get_value replies, e.g. for closing external transactions.
2006-09-28 11:46:24 +00:00
christiaans
c2f9d7dee0
Fixed encoding of object sub identifiers with trailing zero.
2006-09-28 11:43:49 +00:00
christiaans
473e567047
Added en->set_value_a() call for closing external transactions.
2006-09-27 15:11:30 +00:00
christiaans
64dab92c6b
Redesign of snmp_msg_event() fsm, added SNMP SET to fsm.
2006-09-27 07:25:16 +00:00
christiaans
f576755b13
Added snmp_msg_event_loop() prototype.
2006-09-22 08:09:08 +00:00
christiaans
d0f279ece4
Set TODO_SNMP_MSG_EVENT to 1. Moved some more code from snmp_recv() to snmp_event_service().
2006-09-22 08:05:17 +00:00
christiaans
a5532ffd4d
Added one strategic LWIP_DEBUGF to snmp_send_response().
2006-09-22 08:03:16 +00:00
christiaans
cb412134dd
Added newlines to LWIP_DEBUGFs.
2006-09-22 08:00:56 +00:00
christiaans
d079aae0e0
Fixed NULL dereferencing for zero length raw data.
2006-09-22 07:59:44 +00:00
christiaans
eabfb233b8
Moved SNMP_CONCURRENT_REQUESTS to opt.h, babysteps for external MIB nodes.
2006-09-20 13:33:50 +00:00
christiaans
960e724ad3
Improved mib node struct for external object access and moved get_object_def() calls to the message processing bit.
2006-09-14 15:08:54 +00:00
christiaans
82c46f957a
Fixed double iterator bug in send_trap(), multiple trap destinations work ok now.
2006-09-12 12:46:36 +00:00
christiaans
320ea29861
Added some lines for SET command.
2006-09-12 10:03:46 +00:00
christiaans
c5e99ada63
Fixed sysObjectID length to copy private IDs with unkown lengths properly.
2006-09-08 09:22:28 +00:00
christiaans
a88d054d05
Improved TRAP interfacing. Varbinds maybe allocated at (external) trap source as wel. Added trap destination settings.
2006-09-07 14:17:03 +00:00
christiaans
6576802287
Fixed compilation for LWIP_SNMP 0.
2006-09-07 07:39:49 +00:00
christiaans
693316c83f
Corrected snmp_delete_arpidx_tree() to be called in the expired state, not only maxage.
2006-09-06 13:01:47 +00:00
christiaans
41ff80e5d3
First getnext succes, values are returned insead of NULLs, empty tables are skipped. Limitation: a single varbind per request, so 'snmptable' will fail.
2006-09-06 10:14:07 +00:00
christiaans
56c5fdbeaf
Added newlines in debug output, small optimalisations, more work on 'getnext', fixed 'get' on udp table.
2006-09-04 09:22:48 +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
1485edf8e1
Added index tree node structs and functions, e.g. to be used for ARP table indexes.
2006-08-29 11:28:28 +00:00
christiaans
514ee867a6
Pacified GCC warnings and elaborated getnext to work on scalars, tables don't work yet.
2006-08-21 11:52:58 +00:00
christiaans
3cc7a406f4
Pacified GCC warnings and fixed double mem_free() while returning nosuchname err.
2006-08-21 11:51:19 +00:00
christiaans
c3f82acf7a
Pacified GCC warnings.
2006-08-21 11:50:03 +00:00
christiaans
cdb7557d88
Added SNMP counters.
2006-08-18 10:18:42 +00:00
christiaans
2dcbd016e6
Added tree expansion func protos for getnext.
2006-08-17 14:16:30 +00:00
christiaans
7d1728f05a
Started with getnext and ensure zero length identifiers are accepted.
2006-08-17 14:14:58 +00:00
christiaans
4b5c14470a
Fixed htons into htonl for trap desctination ip.
2006-08-17 14:11:45 +00:00
christiaans
f198b11f27
Accepting zero length identifiers e.g. for getnext operation. Uncommon but valid.
2006-08-17 14:09:57 +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
d734cd986c
Moved noleafs_get_object_def() and noleafs_get_value() protos from mib2.c to snmp_structs.h
2006-08-15 07:28:43 +00:00
christiaans
8559f3e583
MIB-2 object values near to completion, just committing for keeping the flame alive.
2006-08-11 14:16:36 +00:00
christiaans
d0b81d3b20
Corrected comment typo.
2006-08-11 14:13:39 +00:00
christiaans
43bf9a8e46
Added SNMP counters, moved some defines.
2006-08-11 14:12:05 +00:00
christiaans
19f57bf810
Exported udp_pcbs in udp.h (for SNMP agent).
2006-08-11 14:09:48 +00:00
christiaans
469012b544
Added etharp_find_addr(), finds eth/IP address pair by interface ptr and IP address.
2006-08-08 15:10:42 +00:00
christiaans
9b11c4670d
Corrected returned object id for interfaces.ifTable.ifEntry.ifSpecific to zeroDotZero (0.0).
2006-08-07 11:35:32 +00:00
christiaans
7eeaf8eaa5
Corrected object identifier codec for object ids not starting with .iso.dod (e.g. zeroDotZero (0.0)).
2006-08-07 11:32:44 +00:00
christiaans
a82e02ef15
Partial fix for bug #15926 , flushing TCP output in do_close().
2006-08-07 10:00:44 +00:00
christiaans
d8922d0410
Added minimalistic SNMP GET functionality.
2006-07-14 12:54:38 +00:00
christiaans
5c628d2a61
Added netif SNMP init.
2006-07-14 11:17:00 +00:00
christiaans
54bb20b486
Added SNMP statistics to struct netif and changed SNMP macro glue.
2006-07-14 09:58:02 +00:00
christiaans
57a6eaae7b
Added SNMP debug options.
2006-07-10 12:41:25 +00:00
christiaans
7a5cb21056
Fixed (experi)mental typo.
2006-07-07 11:33:36 +00:00
christiaans
333c3f18c0
Initial commit. Expirimental code, please note this is not yet fully functional.
2006-07-07 09:49:31 +00:00
christiaans
12f9adbdd3
Added ip_frag_init() prototype.
2006-07-04 08:24:55 +00:00
christiaans
a5cab96ff3
Added ip_frag_init() and some LWIP_DEBUGFs.
2006-07-04 08:24:17 +00:00
christiaans
dd060ceed3
Added ip_frag_init() to ip_init().
2006-07-04 08:23:33 +00:00
christiaans
63140ca7f8
Applied patch for cold case bug #11135 .
2006-06-27 10:33:52 +00:00
christiaans
cbe83f32b6
Honoured Pedro Alves namespace request, following lwip style struct naming.
2006-06-22 11:22:47 +00:00
christiaans
3bffb0a181
Added struct obj_id and a few system group access funcs.
2006-06-22 09:33:10 +00:00
christiaans
09dc9c89a8
Added mib-2 snmp group statistics prototypes.
2006-06-19 13:04:11 +00:00
christiaans
09707a3e81
Prepared some SNMP options.
2006-06-19 13:03:09 +00:00
christiaans
d821277430
Fixed cold case bug #1748 , printing of mem_size_t and u16_t statistics.
2006-06-15 07:10:04 +00:00
christiaans
1f01634029
Applied patch #5146 to handle allocation failures in accept() by Kevin Lawson.
2006-06-14 08:02:35 +00:00