jifl
f067d34392
* pbuf.c, ppp.c: Fix warnings on some systems with mem_malloc.
2008-03-04 16:37:46 +00:00
jifl
30d4c243ec
* mem.c, stats.c, mem.h: apply patch #6414 to avoid compiler errors
...
and/or warnings on some systems where mem_size_t and size_t differ.
2008-03-04 16:31:31 +00:00
fbernon
2637f2ad3a
inet_chksum.c: minor change for coding style
2008-03-04 14:26:44 +00:00
fbernon
9b92f4c882
dhcp.c: minor change for coding style
2008-03-04 14:25:58 +00:00
kieranm
42344ce20c
2008-03-04 Kieran Mansley (contributions by others)
...
* Numerous small compiler error/warning fixes from contributions to
mailing list after 1.3.0 release candidate made.
2008-03-04 13:41:23 +00:00
goldsimon
c54777d957
Coding style: use named constants instead of numbers only
2008-01-27 11:22:14 +00:00
fbernon
7b11fb75d9
Minor changes: replace directy call to memcpy by MEMCPY macro.
2008-01-26 16:11:39 +00:00
fbernon
e937521014
dns.c: Fix bug #22108 "DNS problem" caused by unaligned structures.
2008-01-25 13:12:12 +00:00
fbernon
f02c39a402
tcp.c, tcp_in.c, tcp.h, opt.h: Rename LWIP_CALCULATE_EFF_SEND_MSS in TCP_CALCULATE_EFF_SEND_MSS to have coherent TCP options names.
2008-01-22 21:15:14 +00:00
fbernon
c580c2be75
Minor changes: fix a warning: "src\core\ipv4\ip_frag.c (782) : warning: potential uninitialized reference to "newpbuflen" in func "_ip_frag""
2008-01-22 18:56:40 +00:00
fbernon
bfd96264e6
Minor changes: fix warning in dhcp_unfold_reply when LWIP_DEBUG=0
2008-01-21 16:55:26 +00:00
fbernon
baab7c04f7
Minor changes: fix some traces in ip_frag.c (coding style and end of lines)
2008-01-21 16:53:10 +00:00
kieranm
6f00cbb6ef
2008-01-15 Kieran Mansley
...
* tcp_out.c: BUG20511. Modify persist timer to start when we are
prevented from sending by a small send window, not just a zero
send window.
2008-01-15 13:00:51 +00:00
fbernon
7518acf634
rawapi.txt, api_msg.c, tcp.c, tcp_in.c, tcp.h: changes for task #7675 "Enable to refuse data on a TCP_EVENT_RECV call". Important, behavior changes for the tcp_recv callback (see rawapi.txt).
2008-01-14 21:07:08 +00:00
fbernon
52e6922e5a
ip.c: Integrate patch #6369 " ip_input : checking before realloc".
2008-01-14 20:53:23 +00:00
fbernon
82ddf82866
Minor change: add comment
2008-01-12 16:46:40 +00:00
jifl
886cfbe12d
Minor spelling typos and formatting fixes.
2008-01-11 14:28:58 +00:00
jifl
b333b7c9dc
* opt.h, ip.c: Rename IP_OPTIONS define to IP_OPTIONS_ALLOWED to avoid
...
conflict with Linux system headers.
2008-01-09 10:05:23 +00:00
fbernon
de4b9b584c
Fix DHCP build problem.
2008-01-06 22:07:03 +00:00
jifl
bf924118de
* dhcp.c: fix bug #19927 : "DHCP NACK problem" by clearing any existing set IP
...
address entirely on receiving a DHCPNAK, and restarting discovery.
2008-01-06 21:09:11 +00:00
fbernon
caa1834b70
Minor changes in lwip folder: fix some warnings.
2008-01-05 00:13:33 +00:00
fbernon
c61262d839
Minor changes in lwip folder: fix some warnings.
2008-01-04 23:24:05 +00:00
fbernon
9c4daa312d
Minor changes in lwip folder: fix some warnings, coding style, and rename "internal" netconn_alloc function.
2008-01-04 23:07:44 +00:00
fbernon
32005617b9
rawapi.txt, api.h, api_lib.c, api_msg.h, api_msg.c, sockets.c, tcp.h, tcp.c, tcp_in.c, init.c, opt.h: rename backlog options with TCP_ prefix, limit the "backlog" parameter in an u8_t, 0 is interpreted as "smallest queue", add documentation in the rawapi.txt file.
2008-01-04 22:18:27 +00:00
jifl
7e616ea71c
* core/ipv4/ip.c (ip_input): Rename ipsrcchecking -> check_ip_src, to make
...
purpose clearer.
2008-01-03 17:49:25 +00:00
kieranm
99afb15ced
Add persist timer
2007-12-31 13:34:47 +00:00
fbernon
22e2540eb6
autoip.c, etharp.c: ip_addr.h: Integrate patch #6348 : "Broadcast ARP packets in autoip". The change in etharp_raw could be removed, since all calls to etharp_raw use ethbroadcast for the "ethdst_addr" parameter. But it could be wrong in the future.
2007-12-31 13:22:03 +00:00
fbernon
8d39b1a152
ip.c: Fix bug #21846 "LwIP doesn't appear to perform any IP Source Address Filtering" reported by Tom Evans.
2007-12-30 01:09:11 +00:00
goldsimon
1ed34774c8
tcp.h, opt.h, api.h, api_msg.h, tcp.c, tcp_in.c, api_lib.c, api_msg.c, sockets.c, init.c: task #7252 : Implement TCP listen backlog: Warning: raw API applications have to call 'tcp_accepted(pcb)' in their accept callback to keep accepting new connections.
2007-12-21 16:47:56 +00:00
kieranm
1cb470662b
Whitespace fix.
2007-12-20 15:05:09 +00:00
kieranm
add4874801
2007-12-20 Kieran Mansley (based on patch from Oleg Tyshev)
...
* tcp_in.c: fix bug# 21535 (nrtx not reset correctly in SYN_SENT stat)e
2007-12-20 14:58:43 +00:00
kieranm
8cc32bc29c
2007-12-20 Kieran Mansley (based on patch from Per-Henrik Lundbolm)
...
* tcp.c, tcp_in.c, tcp_out.c, tcp.h: fix bug #20199 (better handling
of silly window avoidance and prevent lwIP from shrinking the window)
2007-12-20 14:51:35 +00:00
goldsimon
a3ef33c56f
Removed debug code
2007-12-16 16:24:10 +00:00
fbernon
2b54da5070
api_msg.c, err.h, err.c, sockets.c, dns.c, dns.h: replace "enum dns_result" by err_t type. Add a new err_t code "ERR_INPROGRESS".
2007-12-13 23:06:49 +00:00
goldsimon
d2fa5c91a7
Fix bug #21699 : segment leak in ooseq processing when last data packet was lost (free last segment if FIN is already received)
2007-12-13 20:24:39 +00:00
fbernon
4653974c2a
Minor change: move DNS_MSG_SIZE in opt.h, add comments.
2007-12-12 19:22:20 +00:00
fbernon
de11e7fd75
dns.h, dns.c, opt.h: move DNS options to the "right" place. Most visibles are the ones which have ram usage.
2007-12-12 17:56:03 +00:00
goldsimon
8d3d08e814
fix bug #21699 (segment leak in ooseq): add assert that all segment lists are empty in tcp_pcb_remove before setting pcb to CLOSED state; don't directly set CLOSED state from LAST_ACK in tcp_process
2007-12-04 20:41:12 +00:00
goldsimon
22f51f953b
Added short comment in file description about how to handle MEM_USE_POOLS / MEM_LIBC_MALLOC
2007-12-03 18:01:28 +00:00
goldsimon
f3f7bd00e5
ip_input: check if a packet is for inp first before checking all other netifs on netif_list (speeds up packet receiving in most cases)
2007-12-03 17:55:01 +00:00
fbernon
dde6ddfd7c
process "localhost" name in dns_gethostbyname
2007-12-02 17:15:28 +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
2942157ca4
Minor changes: dnsserver initialization with DNS_SERVER_ADDRESS in dns_init
2007-11-30 16:40:46 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
86dc53b72a
Minor change (coding style, #if/#endif to include icmp.h is not necessary)
2007-10-16 07:11:35 +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
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
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
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
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
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
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
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
fbernon
4466260480
Remove CVS keyword
2007-09-10 07:56:16 +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
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
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
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
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
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
jgrubb
cb399272fd
Move deprecated options from opt.h to init.c
2007-08-30 22:33:55 +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
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
d7da390ae9
Fix coding style (use #if and not #ifdef) for IPv6
2007-08-28 16:03: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
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
4f76bc42d7
Rename pbuf's "flgs" in "flags" (see in [lwip-devel] Last changes by Marc)
2007-08-20 19:15:43 +00:00
jgrubb
baca292f47
Task #7136 : Fix bug of wrong file name for centralized mempool settings.
2007-08-20 16:42:16 +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
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
fbernon
2be122875a
Minor changes (tabs, ident, coding style...)
2007-08-17 00:30:27 +00:00
marcbou
0b8b9e8033
Changed // style comment to /* style */ comment.
2007-08-16 20:41:56 +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
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
95cbf95c50
Added mem_calloc().
2007-08-16 18:37:15 +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
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
f1c4a9ebfa
Minor fix (warning when LWIP_DEBUG is undefined)
2007-07-29 08:31:31 +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
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
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
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
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
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
6c3c184bc7
Added check to prevent tcp_pcb->snd_queuelen from overflowing.
2007-06-29 17:09:47 +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
2b02db2675
Remove warning in tcp_enqueue (cast from u32_t to u16_t)
2007-06-27 16:42:20 +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
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
fbernon
4c07b1606c
Minor changes: fix some comments for Doygen documentation
2007-06-21 07:17:29 +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
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
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
10f4604939
Corrected some copy & paste errors
2007-06-16 14:09:27 +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
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
goldsimon
6336279ce0
In udp_input, for UDP Lite, chksum_len_tx was used instead of chksum_len_rx
2007-06-12 07:03:32 +00:00
goldsimon
046a270156
Added UDP lite support for sockets
2007-06-11 18:43:16 +00:00
goldsimon
2f293d53ba
UDP Lite: corrected the use of chksum_len (based on RFC3828: if it's 0, create checksum over the complete packet. On RX, if it's < 8 (and not 0), discard the packet. Also removed the duplicate 'udphdr->chksum = 0' for both UDP & UDP Lite.
2007-06-11 18:03:57 +00:00
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
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
goldsimon
3a09de82e3
Corrected #if ... when to include copy_from_pbuf()
2007-06-08 22:20:59 +00:00
goldsimon
837cb42679
Done some work on task #1549 (function documentation)
2007-06-08 20:59:17 +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
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
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
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
goldsimon
3a429eabcd
Set q to NULL after freeing it before returning: cleaner code!
2007-06-04 10:42:03 +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