Commit Graph

346 Commits

Author SHA1 Message Date
sg
974a853f40 patch #8423 "arch/perf.h" should be made an optional item 2015-02-11 21:25:47 +01:00
goldsimon
1cbd2121e2 Allow to overrid the check for p->ref==1 in TX packets (there *are* netif drivers that can handle this) 2015-01-16 17:58:07 +01:00
sg
f38352f1af fixed bug #43596 IGMP queries from 0.0.0.0 are discarded 2014-12-09 20:56:39 +01:00
goldsimon
4085a3fad4 task #11472 Support PBUF_REF for RX (IPv6 and IPv4/v6 reassembly might not work yet) 2014-12-08 14:45:36 +01:00
goldsimon
ec93b03d8d Fixed multiple smaller compiler warnings 2014-11-07 14:29:53 +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
b0502d1f3b added optional macros PACK_STRUCT_FLD_8() and PACK_STRUCT_FLD_S() to prevent gcc 4 from warning about struct members that do not need packing 2014-09-02 13:04:36 +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
goldsimon
e4ddd6cb6d Multiple fixes found by coverity scan 2014-04-30 12:22:31 +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
be75c483d0 Fixed bug #41787 DHCP Discovery is invalid when an IP is set to thet netif (send discover, request and decline from 'any').
Addd functions to send udp/ipv4/ipv6 packets with source address 'any' although netif has an address assigned
2014-04-06 20:32:37 +02:00
Simon Goldschmidt
f36d6b7ef5 fixed bug #39514 ip_route() may return an IPv6-only interface 2014-02-25 22:37:52 +01:00
Simon Goldschmidt
01ecd3517e fixed bug #39145 IGMP membership report for 224.0.0.1
-> ensure that we never send a report for 224.0.0.1
2014-02-25 22:21:31 +01:00
Simon Goldschmidt
0f24fba28a IGMP: fixed !define LWIP_RAND case 2014-02-20 22:07:58 +01: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
1e65eb4936 Added IPv6 loopback address to loopback-netif, fixed last commit 2014-01-17 21:55:46 +01:00
Simon Goldschmidt
381a7b110a fixed bug #41041 Potential use-after-free in IPv6 reassembly 2014-01-10 21:47:42 +01:00
Simon Goldschmidt
252126cf76 fixed possible division by zero 2013-04-24 22:20:12 +02:00
Simon Goldschmidt
ff3bf6d7f5 fixed bug #37665 ip_canforward operates on address in wrong byte order 2013-01-15 21:10:32 +01:00
goldsimon
c622985fda Better fix for bug #35927 (missing refragmentaion in ip_forward) when IP_FRAG is disabled. 2012-03-25 15:12:42 +02:00
goldsimon
d95bcab053 fixed bug #35927: missing refragmentaion in ip_forward 2012-03-22 19:35:04 +01:00
goldsimon
fe08467e45 Removed unused variable in ip_debug_print() 2012-02-14 21:29:14 +01:00
goldsimon
69d61eda01 Added option CHECKSUM_GEN_ICMP 2012-01-16 09:40:15 +01:00
goldsimon
d1fa13ed52 fix compilation of ip_canforward on 8-/16-bit platforms (where constants are 16-bit and thus cannot be left-shifted by 24) 2011-11-23 09:09:22 +01:00
Simon Goldschmidt
9d31401d47 fixed bug #34447 LWIP_IP_ACCEPT_UDP_PORT(dst_port) wrong 2011-10-09 14:30:49 +02:00
Simon Goldschmidt
5e8ee7e006 Make LWIP_RAND optional (useful for small targets) 2011-09-03 22:27:30 +02:00
Simon Goldschmidt
41c785d77a IPv4: splitted IPv4 header fields version/len and tos, made macros depend on BYTE_ORDER to prevent unnecessary calls to htons() 2011-07-26 20:55:32 +02:00
Simon Goldschmidt
78ac382fdf bug #33634 ip_forward() have a faulty behaviour: Added pbuf flags to mark incoming packets as link-layer broadcast/multicast. Also added code to allow ip_forward() to forward non-broadcast packets to the input netif (set IP_FORWARD_ALLOW_TX_ON_RX_NETIF==1). 2011-07-21 21:47:25 +02:00
goldsimon
2bd498524d Fixed bug #33653 (ip_data.current_ip_header_tot_len calculation errors!) introduced while mergin IPv4 and IPv6 2011-06-29 19:46:21 +00:00
goldsimon
91532b2d5c Removed unused static function 2011-06-07 19:19:24 +00:00
goldsimon
5b04860b8b Moved common call to pbuf_header outside the switch() 2011-06-07 19:10:10 +00:00
goldsimon
6865806b55 Combined IPv4 and IPv6 code where possible, added defines to access IPv4/IPv6 in non-IP code so that the code is more readable. 2011-05-25 17:16:35 +00:00
goldsimon
9546e65617 Removed autoip_init() since it does nothing; minor coding style changes 2011-05-21 16:01:19 +00:00
goldsimon
4bfbe7ebeb ... and finally, we got a first working version of a dual-stack lwIP runnin IPv4 and IPv6 in parallel - big thanks to Ivan Delamer! (this is work in progress, so please beware, test a lot and report problems!) 2011-05-17 19:35:14 +00:00
goldsimon
856ccb5bb7 Added missing U/UL modifiers to fix 16-bit-arch portability. 2011-02-18 13:31:28 +00:00
goldsimon
fee0c6afe9 Fixed constant not being 32 bit. 2011-02-17 17:03:12 +00:00
goldsimon
b49cf5e7a2 patch #7328: Autoip: ETHADDR16_COPY can be used 2010-11-22 17:35:57 +00:00
goldsimon
3c5723e49d Fixed invalid fix for bug #30402 (CHECKSUM_GEN_IP_INLINE does not add IP options) 2010-07-21 12:11:22 +00:00
goldsimon
a99219ad1f added missing casts 2010-07-12 09:34:17 +00:00
goldsimon
691410ba18 task #10495: Added support for IP_MULTICAST_LOOP at socket- and raw-API level. 2010-07-12 09:34:11 +00:00
goldsimon
714a43b18c Fixed bug #30402: CHECKSUM_GEN_IP_INLINE does not add IP options 2010-07-10 12:02:28 +00:00
goldsimon
60a456f757 Added ip_addr_netmask_valid() to check if a netmask is valid (starting with ones, then only zeros) 2010-07-05 14:20:58 +00: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
1aba9f031d nicer code for the last fix 2010-06-17 11:53:16 +00:00
goldsimon
2ffcc52f03 Fixed bug #30159: WomnIP_ACCEPT_LINK_LAYER_ADDRESSING 2010-06-16 19:53:07 +00:00
goldsimon
72518a0d6e fixed typos that MSVS did not complain about 2010-06-16 12:53:46 +00:00
goldsimon
1242575f0f Added an optional define (LWIP_IP_ACCEPT_UDP_PORT) that can allow link-layer-addressed UDP traffic to be received while a netif is down (just like DHCP during configuration) 2010-06-16 12:25:00 +00:00
goldsimon
5ab40f016d Fixed bug #30039: AutoIP does not reuse previous addresses 2010-06-14 20:27:14 +00:00
goldsimon
435115d4fb Use ip_addr_set_zero instead of memset(0) 2010-06-14 20:17:08 +00:00
goldsimon
f7479781c1 bug #27352: removed packing from ip_addr_t, the packed version is now only used in protocol headers. Added global storage for current src/dest IP address while in input functions. 2010-05-22 21:11:02 +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
778c65d27c CHECKSUM_GEN_IP_INLINE: Use defines to access the u32_t part of an IP address 2010-05-12 08:11:45 +00:00
goldsimon
f9f77876a1 .. and deleted NAT again as Christian obviously didn't have the copyright on the code he sent us... THANKS!!! 2010-05-05 19:49:40 +00:00
goldsimon
67d8c7999a Free NAT entries on remove (fixes a memory leak) 2010-05-05 19:39:29 +00:00
goldsimon
a7fdb67e8f task #7506: added NAT support 2010-05-05 19:34:23 +00:00
goldsimon
abc36471d9 Fixed bug #29763 (CHECKSUM_GEN_IP_INLINE), added macro LWIP_MAKE_U16() that's improved for endianess 2010-05-04 18:59:52 +00:00
goldsimon
72c580236e Create overridable macros for copying 2-byte-aligned IP addresses and MAC addresses 2010-04-29 04:57:31 +00:00
goldsimon
01d2a87f5d Inline generating IP checksum to save a function call 2010-04-28 19:36:51 +00:00
goldsimon
3562be2188 tabs -> spaces 2010-04-14 07:03:31 +00:00
goldsimon
e86446b785 patch #7143: Add a few missing const qualifiers 2010-03-28 10:28:32 +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
46b7bd6ec3 Make functions static where applicable, add default cases to switches where applicable, prevent old-style function prototypes (without arguments) 2010-03-26 14:07:05 +00:00
goldsimon
8bbe3d2fe0 Correctly cast pointers when assigning from void* 2010-03-26 14:05:56 +00:00
goldsimon
7466474365 Fixed compiler warnings when casting where we know the source is aligned (by casting to void-pointer first) 2010-03-15 10:44:19 +00:00
goldsimon
84ed9de21a Prepared for checksum-on-copy (task #6849):
- Added option LWIP_CHECKSUM_ON_COPY;
- Added function + define lwip_chksum_copy to create checksum when copying data
2010-03-14 11:23:37 +00:00
goldsimon
ffbb582dde ip_output: assert for p->ref == 1 to catch TCP retransmissions where the netif hasn't freed the pbuf yet 2010-03-09 16:24:38 +00:00
goldsimon
d91caf1cd3 ip_input: better check for old link-local-address (explicitly check for autoip->llipaddr instead of letting all link-local-addresses through) 2010-03-08 18:24:23 +00:00
goldsimon
2a2be49d2c task #10241 (AutoIP: don't break existing connections when assiging routable address): when checking incoming packets and aborting existing connection on address change, filter out link-local addresses. 2010-03-08 18:17:52 +00:00
goldsimon
5d4438e652 Don't try to forward link-local addresses 2010-03-06 10:15:39 +00:00
goldsimon
bcd4b76d31 Moved stack-internal parts of tcp.h to tcp_impl.h, tcp.h now only contains the actual application programmer's API 2010-02-21 11:35:21 +00:00
goldsimon
16a63c6554 Bug #28917: don't increase error counters for icmp echo response 2010-02-16 20:38:35 +00:00
goldsimon
5b221ecd4f Added missing cast; added more debug output 2010-02-16 11:28:40 +00:00
goldsimon
7af77aefa7 Added missing casts 2010-02-16 11:28:15 +00:00
goldsimon
96e9689dbd Use new macro ip_addr_copy where applicable 2010-02-14 12:42:49 +00:00
goldsimon
838c35acf6 struct ip_hdr: split u16_t _ttl_proto to u8_t _ttl and u8_t _proto to prevent unnecessary loading and htons 2010-02-14 11:42:08 +00:00
goldsimon
c858aa5686 Fixed compiler warnings for checksum algorithms 2 and 3 2010-02-14 11:40:13 +00:00
goldsimon
b1736b13d7 Use checksum algorithm 2 as default as it should be faster than 1 on most (if not all) platforms 2010-02-14 11:31:10 +00:00
goldsimon
2e795d2706 task #10139 (Prefer statically allocated memory): added autoip_set_struct() and dhcp_set_struct() to let autoip and dhcp work with user-allocated structs instead of callin mem_malloc 2010-02-12 16:42:02 +00:00
goldsimon
b6babe38ea Use braces for if blocks 2010-02-12 09:51:30 +00:00
goldsimon
79e6b4c819 Added reentrant versions of inet_ntoa/ipaddr_ntoa inet_ntoa_r/ipaddr_ntoa_r 2010-02-08 20:14:21 +00:00
goldsimon
ececc3ca45 Internalize another function; use the supplied max_response_time instead of dividing it by 2 2010-02-08 19:50:49 +00:00
goldsimon
630f575017 Moved most defines from igmp.h to igmp.c for clarity since they are not used anywhere else; removed some function prototypes from igmp.h, too 2010-02-08 19:41:53 +00:00
goldsimon
27d4cf6aef Improved IGMP stats (patch from bug #28798) 2010-02-08 19:19:26 +00:00
goldsimon
b156d392cb Fixed bug #28798 (Error in "Max Response Time" processing) and another bug when LWIP_RAND() returns zero. 2010-02-08 18:12:53 +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
a23b446ddf Use macros defined in ip_addr.h (some of them new) to work with IP addresses (preparation for bug #27352 - Change ip_addr from struct to typedef (u32_t) - and better code). 2010-02-04 17:21:32 +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
ea3b8f52d5 renamed netif pointer in struct igmp from 'interface' to 'netif' to not use keywords (or at least my editor highlights it as one...); minor layout change 2010-01-28 18:27:26 +00:00
goldsimon
e678e1bdcb bug #28659: Missing casts 2010-01-25 08:24:30 +00:00
goldsimon
dbcce3a4be bug #26523: Compiler Warnings 2010-01-23 17:48:36 +00:00
goldsimon
1c47d15577 Minor speedup ip_output_if when writing TTL/proto to ip header 2010-01-13 12:52:15 +00:00
goldsimon
d85a18752f patch #6463 (IGMP - Adding Random Delay): added define LWIP_RAND() for lwip-wide randomization (to be defined in cc.h) 2010-01-10 10:47:27 +00:00
goldsimon
f4c0655190 Fixed usage of logging levels (bug #27948: Incorrect logging levels used in various places) 2009-11-22 15:14:46 +00:00
goldsimon
af3b796488 Corrected parameter spelling in doc 2009-10-27 20:30:44 +00:00
goldsimon
b4404ff0c8 Corrected typo 2009-10-18 08:23:05 +00:00
goldsimon
d8d8cf7e98 Fixed bug #27390: Source IP check in ip_input() causes it to drop valid DHCP packets -> allow 0.0.0.0 as source address when LWIP_DHCP is enabled 2009-10-16 12:39:24 +00:00
goldsimon
2dc027401f Fixed bug #27704: autoip starts with wrong address: LWIP_AUTOIP_CREATE_SEED_ADDR() returned address in host byte order instead of network byte order 2009-10-15 14:05:35 +00:00