79 Commits

Author SHA1 Message Date
Dirk Ziegelmeier
b91e47b518 Implement portable and overridable allocation of memory buffers
Fixes bug #48300 (Private mempools allocate foreign memory), bug #48354 (Portable alignment defines/include required for static allocation) and bug #47092 (Tag memory buffers like memp_memory_xxx and ram_heap with a macro so that attributes can be attached to their definitions)

Signed-off-by: Simon Goldschmidt <goldsimon@gmx.de>
2016-07-07 13:35:13 +02:00
Stephan Linz
80375e68dd ip_frag: fix compiler warnings, unused variable
In case of IP_REASS_FREE_OLDEST==0, the argument clen of
ip_reass_enqueue_new_datagram() will not used and leads
the compiler to a warning.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2016-01-18 11:55:54 +01:00
Joel Cunningham
a82c6122d5 Correct comment word usage in ip4_frag.c
This corrects word usage in ip4_frag.c:

 * 'On' was used when it should have been 'one'
 * 'Whole' was used when it should have 'hole'
2015-12-08 10:13:56 -06:00
goldsimon
b401f42520 minor: fixed coding style (lwip style) 2015-10-07 10:03:12 +02:00
sg
2b971400fa minor: coding style 2015-10-06 21:57:40 +02:00
sg
22df34fc70 minor/coding style: removed spaces before line ending (from file header) 2015-10-06 21:13:15 +02:00
sg
490581a0eb minor/coding style: removed spaces before line ending 2015-10-06 21:08:28 +02:00
goldsimon
7b5ef3ae58 implement/remove missing IP counters in stats_mib2 (see task #13731) 2015-09-30 15:05:52 +02:00
goldsimon
726af89168 minor compiler warning fixes and coding style 2015-09-17 11:00:21 +02:00
goldsimon
8a0fb03e21 Separate mib2 counter/table callbacks from snmp agent. This both cleans up the code and should allow integration of a 3rd party agent/mib2. 2015-09-08 09:47:30 +02:00
sg
aa0e41c389 task #12178: hardware checksum capabilities can be configured per netif (use NETIF_SET_CHECKSUM_CTRL() in your netif's init function) 2015-09-01 22:04:15 +02:00
sg
ce7e31cd04 task #12722 (improve IPv4/v6 address handling): renamed ip_addr_t to ip4_addr_t, renamed ipX_addr_t to ip_addr_t and added IP version;
ip_addr_t is used for all generic IP addresses for the API, ip(4/6)_addr_t are only used internally or when initializing netifs or when calling version-related functions
2015-04-09 22:21:15 +02:00
Greg Renda
4eb9efdd33 fixed bug #38210 (ip reassembly while remove oldest datagram) 2015-02-25 21:43:39 +01:00
chrysn
9f065c0ea5 (api break) qualify ip_addr_t as const where feasible
this changes the callback signatures of the ip_output and the
{udp,raw}_recv functions.

changes were made by going through all header files, searching for
occurrences of ip_addr_t, qualifying them as const and if required
modifying the corresponding c files, looking for other uses of ip_addr_t
that would be required.

the following header files were not treated as i'm not using them and
wouldn't see them compiled: api.h api_msg.h dhcp.h dns.h igmp.h
netifapi.h pppapi.h snmp.h snmp_msg.h snmp_structs.h ppp.h pppol2tp.h
test/*

no modifications were done on ip6_addr_t.
2015-02-22 21:46:02 +01:00
Simon Goldschmidt
33237419c1 Parts of patch #8397 Typos corrected in comments and text outputs 2014-09-18 21:15:13 +02:00
goldsimon
f1c7e73bef fixed last commit (copy & paste from patch broke the code) 2014-05-20 12:22:13 +02:00
Simon Goldschmidt
c18abd4fbe Fixed bug #41686 (ipv4 ip_reass() crash error) introduced some months ago while fixing bug #41041... 2014-05-19 22:07:57 +02:00
Simon Goldschmidt
c3ac875055 Fixed typo-bug introduced some months ago while fixing bug #41041... 2014-05-19 22:03:19 +02:00
Simon Goldschmidt
3f016fcc5a Multiple small/minor issues: bug #36492 Static Analysis on code 1.4.0 2014-04-06 21:43:37 +02:00
Simon Goldschmidt
018719d9d3 patch #8027: Completed HW checksuming for IPv4 and IPv6 ICMP's 2014-01-17 22:32:36 +01:00
Simon Goldschmidt
381a7b110a fixed bug #41041 Potential use-after-free in IPv6 reassembly 2014-01-10 21:47:42 +01:00
kieranm
e2f014f457 cleanup: fix minor build failures on unix 2010-06-28 13:24:14 +00:00
goldsimon
f61b80ca6a Fixed bug #29361 (ip_frag has problems with zero-copy DMA MACs) by adding custom pbufs and implementing custom pbufs that reference other (original) pbufs. Additionally set IP_FRAG_USES_STATIC_BUF=0 as default to be on the safe side. 2010-06-21 18:50:16 +00:00
goldsimon
dae247809b Add preprocessor-macros for compile-time htonl calculation (and use them throughout the stack where applicable) 2010-05-16 15:57:42 +00:00
goldsimon
a00448c35a create a new (contiguous) PBUF_RAM for every outgoing fragment if LWIP_NETIF_TX_SINGLE_PBUF==1 2010-03-28 10:22:48 +00:00
goldsimon
8bbe3d2fe0 Correctly cast pointers when assigning from void* 2010-03-26 14:05:56 +00:00
goldsimon
b6babe38ea Use braces for if blocks 2010-02-12 09:51:30 +00:00
goldsimon
5d360a6711 Replaced struct ip_addr by typedef ip_addr_t to make changing the actual implementation behind the typedef easier. 2010-02-04 18:47:44 +00:00
goldsimon
5fa0347e64 Cleanly separate the portability file inet.h and its contents from the stack: moved htonX- functions to def.h (and the new def.c - they are not ipv4 dependent), let inet.h depend on ip_addr.h and not the other way round. This fixes bug #28732. 2010-01-29 08:20:32 +00:00
goldsimon
dbcce3a4be bug #26523: Compiler Warnings 2010-01-23 17:48:36 +00:00
goldsimon
96b788bea7 patch #6528: the buffer used for IP_FRAG_USES_STATIC_BUF could be too small depending on MEM_ALIGNMENT 2009-02-18 16:54:02 +00:00
goldsimon
13a139eef7 fixed bug #24517: IP reassembly crashes on unaligned IP headers by packing the struct ip_reass_helper. 2008-10-15 18:20:23 +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
baab7c04f7 Minor changes: fix some traces in ip_frag.c (coding style and end of lines) 2008-01-21 16:53:10 +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
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
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
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
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
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
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
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
9152d6671c Comments Fix for Doxygen documentation 2007-08-09 22:21:44 +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
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
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
3a09de82e3 Corrected #if ... when to include copy_from_pbuf() 2007-06-08 22:20:59 +00:00