129 Commits

Author SHA1 Message Date
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
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
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
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
goldsimon
c91caa06d3 Set/get ARP hwlen and protolen in one piece. 2007-06-30 11:42:41 +00:00
goldsimon
47074c897e Removed warning: LWIP_DEBUGF had wrong argument count 2007-06-26 08:12:15 +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
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
bb9e9e5480 Changed the expression of LWIP_ERROR to the same as for LWIP_ASSERT 2007-06-22 20:50: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
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
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
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
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
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
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
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
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
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
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
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
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
christiaans
d4b6471d39 Replaced tabs with space. 2006-11-17 10:51:13 +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
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
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
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
469012b544 Added etharp_find_addr(), finds eth/IP address pair by interface ptr and IP address. 2006-08-08 15:10:42 +00:00
curtmcd
0148128881 Fix gcc warning per discussion on lwip-users 2006.04.25: dereferencing
type-punned pointer will break strict-aliasing rules.  Use memcpy
instead of structure copy; code is not in critical path.
2006-05-26 19:05:41 +00:00
christiaans
7446e31fce Address copy loops optimized for speed. 2006-03-29 13:16:40 +00:00
christiaans
39f8538776 Fixed compilation warning on sizeof(), reported by Beach at 20060320. 2006-03-21 08:28:15 +00:00
christiaans
7571fe5d13 Fixed unused variable warning. 2005-12-15 08:27:30 +00:00
christiaans
e1b215aa73 Introduced cc.h formatters and removed SO_REUSE from transport layers. 2005-11-25 12:03:38 +00:00
likewise
8579e4144f More robust DHCP ARP reply checking. 2005-01-24 23:02:29 +00:00
likewise
2a9ee35411 Removed assertion that always equaled true. 2004-12-27 14:50:03 +00:00
likewise
dfa96852f0 Disabled queueing more than 1 packet on a ARP entry, as I suspect this clashes with the TCP segment queueing. 2004-12-27 14:44:19 +00:00
likewise
928dd94ba6 etharp.c: Corrected DHCP_DOES_ARP_CHECK behaviour. 2004-11-30 17:22:18 +00:00
likewise
b429918b32 etharp.c: re-arranged code in find_entry(), supposedly making it more readable for all cases. 2004-11-29 11:01:20 +00:00
likewise
ed59dc1ada Prevented a race condition between a new ARP request and the ARP timer.
Timeouts stay the same (halved the ARP timer, doubled the counts), but
ETHARP_MAX_PENDING should be at least 2 to prevent it from reaching 0 right away,
giving too little time for any ARP responses to be noted.
2004-11-28 18:00:20 +00:00
likewise
a5cd3fcafd Added a missing "not" in the comment, the code was correct. 2004-11-25 14:04:45 +00:00
likewise
3488a5c3c4 2004-11-25 Leon Woestenberg <leon.woestenberg@gmx.net>
* etharp.c: ETHARP_CREATE is renamed to ETHARP_TRY_HARD.
    Do not try hard to insert arbitrary packet's source address,
    etharp_ip_input() now calls etharp_update() without ETHARP_TRY_HARD.
    etharp_query() now always DOES call ETHARP_TRY_HARD so that users
    querying an address will see it appear in the cache (DHCP could
    suffer from this when a server invalidly gave an in-use address.)
2004-11-25 13:32:31 +00:00
christiaans
67dd939d83 Match update_arp_entry() to prototype. 2004-10-28 08:21:33 +00:00
softins
36df79b207 Make sure the first pbuf queued on an ARP entry is properly ref counted. 2004-08-20 09:17:52 +00:00
likewise
515fb5a3fd First packet on queue generated assertion failure. Reported by David Haas on lwip-users on Friday 13th. 2004-08-17 08:39:43 +00:00