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
goldsimon
ddc783bee7
Make ip_current_netif() and ip_current_header() a define referring to extern variables to be save the function call.
2009-10-07 17:47:05 +00:00
goldsimon
bd2bc2ee14
Fixed bug bug #27345 : "ip_frag() does not use the LWIP_NETIF_LOOPBACK function" by checking for loopback before calling ip_frag
2009-08-30 20:52:43 +00:00
stoklund
d83fc6893b
Don't use an AutoIP-configured address on a new network until the address has been configured.
...
When connecting to a new network with an AutoIP address, take the
interface down until the old address has passed the
AUTOIP_STATE_PROBING state.
2009-08-24 13:11:35 +00:00
goldsimon
3a6165f0b9
Added missing include to <string.h>
2009-08-11 14:38:55 +00:00
goldsimon
62c27f7fce
Fixed bug #27155 : "'NULL' undeclared in inet_checksum.c"
2009-08-03 19:28:35 +00:00
fbernon
ce5699f41b
minor changes: typos and coding style
2009-07-09 10:21:16 +00:00
goldsimon
e0e9a63e63
Corrected function implementation of ip_current_* (void was missing)
2009-05-19 18:11:01 +00:00
goldsimon
078e2f60d6
bug #26487 : Added ip_output_if_opt that can add IP options to the IP header (used by igmp_ip_output_if)
2009-05-12 18:00:47 +00:00
goldsimon
c7ce2792c8
Fixed compilation if LWIP_PLATFORM_BYTESWAP && (BYTE_ORDER == LITTLE_ENDIAN)
2009-05-11 16:11:18 +00:00
goldsimon
105d72a3c2
Shrinked ICMP code, added option to NOT check icoming ECHO pbuf for size (just use it): LWIP_ICMP_ECHO_CHECK_INPUT_PBUF_LEN
2009-05-09 08:36:36 +00:00
goldsimon
95f6dc7011
On little endian architectures, use LWIP_PLATFORM_HTONS (if defined) for SWAP_BYTES_IN_WORD to speed up checksumming.
2009-05-06 17:35:50 +00:00
goldsimon
14dba4ae2b
Added ip_current_netif() & ip_current_header() to receive extended info about the currently received packet.
2009-05-05 17:50:39 +00:00
fbernon
4eda29abf9
inet.c: patch #6765 : Fix a small problem with the last changes (incorrect behavior, with ip address string not ended by a '\0', a space or a end of line)
2009-04-24 12:14:54 +00:00
goldsimon
580f334274
patch #6808 : Add a utility function ip_hinted_output() (for smaller code mainly)
2009-04-15 19:32:01 +00:00
goldsimon
4f52183a39
patch #6765 : Supporting new line characters in inet_aton()
2009-04-15 19:06:39 +00:00
goldsimon
56038b6457
Fixed many warnings: use %p to pass pointers to printf
2009-02-18 20:37:09 +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
e001a021d5
patch #6539 : (configurable) response to broadcast- and multicast pings
2009-02-16 20:24:29 +00:00
jifl
878532a30d
* ipv4/inet_chksum.c, ipv4/lwip/inet_chksum.h: inet_chksum_pseudo_partial()
...
is only used by UDPLITE at present, so conditionalise it.
2009-01-28 23:58:15 +00:00
goldsimon
9f96f09652
Another fix for bug #6683 (and a typo in changelog)
2008-12-19 18:16:50 +00:00
goldsimon
aa568727d1
patch #6699 : fixed some warnings on platform where sizeof(int) == 2
2008-12-19 18:08:29 +00:00
goldsimon
6777ae2ada
Another modification for patch #6683 (Customizable AUTOIP seed address)
2008-12-10 17:08:42 +00:00
goldsimon
2cf3e6e9bc
Corrected the range calculation of LWIP_AUTOIP_CREATE_SEED_ADDR, corrected comments
2008-12-04 18:34:48 +00:00
goldsimon
491b73d5f2
Checked in (slightly modified) patch #6683 : Customizable AUTOIP "seed" address. This should reduce AUTOIP conflicts if LWIP_AUTOIP_CREATE_SEED_ADDR is overridden.
2008-12-03 15:13:21 +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
goldsimon
c93cfb2c74
Changed two MEMCPY calls to SMEMCPY
2008-06-17 20:16:23 +00:00
goldsimon
ef3666ef26
Checked in some ideas of patch #6460 (loop optimizations) and created defines for swapping bytes and folding u32 to u16.
2008-06-17 20:06:25 +00:00
goldsimon
eba83ab740
Changed loopback code (less difference between NO_SYS = 0 / 1), added setting LWIP_LOOPBACK_MAX_PBUFS to limit loopback-queued pbufs
2008-06-17 19:39:22 +00:00
goldsimon
88ff8c83e9
Checked in slightly modified version of patch # 6370: Moved loopif code to netif.c so that loopback traffic is supported on all netifs (all local IPs).
2008-06-12 20:10:08 +00:00
fbernon
7fa9010f35
igmp.h, igmp.c: Fix bug #22613 "IGMP iphdr problem" (could have some problems to fill the IP header on some targets, use now the ip.h macros to do it).
2008-03-17 13:40:00 +00:00
jifl
a48370d5e9
* inet_chksum.c: Allow choice of one of the sample algorithms to be
...
made from lwipopts.h. Fix comment on how to override LWIP_CHKSUM.
2008-03-10 16:12:31 +00:00
fbernon
2637f2ad3a
inet_chksum.c: minor change for coding style
2008-03-04 14:26:44 +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
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
fbernon
52e6922e5a
ip.c: Integrate patch #6369 " ip_input : checking before realloc".
2008-01-14 20:53:23 +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
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
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
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
goldsimon
788892ee7c
Minor coding style changes
2007-11-28 21:44:17 +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
goldsimon
3874f5f5e8
Minor coding style changes
2007-11-27 19:55:31 +00:00
fbernon
9940b049ec
Minor changes (documentation).
2007-11-25 00:28:06 +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
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
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
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
0bf32b957d
Fixed bug #21107 (didn't reset IP TTL in ICMP echo replies)
2007-09-19 06:12:34 +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
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
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
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
d7cd90b5b8
Add in igmp_joingroup & igmp_leavegroup a LWIP_ERROR checking on netif value.
2007-09-03 09:56:38 +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
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
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
marcbou
0b8b9e8033
Changed // style comment to /* style */ comment.
2007-08-16 20:41:56 +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
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
f1c4a9ebfa
Minor fix (warning when LWIP_DEBUG is undefined)
2007-07-29 08:31:31 +00:00
fbernon
42eead8f41
igmp.c: Fix bug #20595 to accept IGMPv3 "Query" messages.
2007-07-26 17:10:56 +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
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
0113b735ad
Fixed a little cast-warning from u32_t to u16_t
2007-07-02 20:07:19 +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
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
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
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
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
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
goldsimon
3a09de82e3
Corrected #if ... when to include copy_from_pbuf()
2007-06-08 22:20:59 +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
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
a6b0d40f9d
Converted some DEBUGFs that should never happen to LWIP_ASSERTs
2007-06-03 17:18:33 +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
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
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
jifl
748ba22a19
* icmp.c: Reset IP header TTL in ICMP ECHO responses (bug #19580 ).
2007-04-12 18:55:44 +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
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
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
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
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
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
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
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
christiaans
b4f1deaa46
Accepted patch #5493 IP frag/reass config item tweak.
2006-11-27 14:48:21 +00:00
christiaans
d4b6471d39
Replaced tabs with space.
2006-11-17 10:51:13 +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
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
43bf9a8e46
Added SNMP counters, moved some defines.
2006-08-11 14:12:05 +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
7fc966dced
Optimized for speed and size. Test against zero for both the inverted and non-inverted address. (old and new-style broadcasts)
2006-04-24 07:26:06 +00:00
christiaans
c9db715bae
addr->addr test size and speed optimalisation (helping a dumb compiler)
2006-04-04 07:21:54 +00:00
christiaans
61dc2e7dd5
Added pbuf_alloc() return value checks in ip_frag().
2006-03-03 11:25:36 +00:00
christiaans
11a820458f
Increased ip_reassbitmap size with 1, added assertions to catch boundary cases.
...
Beautified indentation again.
2006-03-02 15:45:19 +00:00
christiaans
3aea7bc053
Removed timer dependency on sys.c (raw-API). Beautified indentation.
2006-02-13 08:12:07 +00:00
christiaans
e1b215aa73
Introduced cc.h formatters and removed SO_REUSE from transport layers.
2005-11-25 12:03:38 +00:00
likewise
6880fa62f8
Added some missing string.h includes.
2005-01-24 21:05:47 +00:00
likewise
f3def542ee
Compile dammit
2004-11-25 14:03:31 +00:00
likewise
aa249922df
Removed redundant closing bracket.
2004-11-25 13:59:06 +00:00
likewise
37a0c57bed
2004-11-25 Leon Woestenberg <leon.woestenberg@gmx.net>
...
* ip.c: Exploit the fact that ip_addr_isbroadcast() now checks that the
given IP address actually belongs to the network of the given interface.
2004-11-25 13:57:05 +00:00
likewise
90b7e68b4e
Removed the Smurf.
2004-11-25 13:52:34 +00:00
likewise
fd49ee3c8d
2004-11-25 Leon Woestenberg <leon.woestenberg@gmx.net>
...
* ipv4/ip_addr.h: Renamed ip_addr_maskcmp() to _netcmp() as we are
comparing network addresses (identifiers), not the network masks
themselves.
* ipv4/ip_addr.c: ip_addr_isbroadcast() now checks that the given
IP address actually belongs to the network of the given interface.
2004-11-25 13:33:07 +00:00
softins
a4f5673ff3
Small corrections to some debugging statements, to pacify compiler.
2004-07-22 08:06:00 +00:00
softins
d7699ca81d
Changed debug statements to use the tidier ip4_addrN() macros.
2004-07-21 09:23:11 +00:00
likewise
31c1e72b8c
ip_forward() returns netif on which packet was forwarded.
2004-06-30 18:39:17 +00:00
likewise
8bb3cab9d2
Adpated comments to match Doxygen/JavaDoc style.
2004-05-05 13:28:44 +00:00
likewise
1fe4edbe1c
Fix buggy comment.
2004-04-29 21:49:12 +00:00
likewise
de2e311e6e
Updated documentation.
2004-04-28 23:40:53 +00:00
likewise
384fb3c353
Corrected comparison by adding missing parentheses.
2004-04-28 23:36:39 +00:00
likewise
5b12c61a81
Removed old broadcast check macro.
2004-04-28 23:18:20 +00:00
likewise
237b5a2467
Fix in the ip_addr_isbroadcast() check.
2004-04-23 16:45:06 +00:00
likewise
82f852abf3
Fix cyclic dependencies by careful re-ordering of #includes.
...
This is really nasty. Can we forward-declare pointers to structs?
2004-03-12 00:10:07 +00:00
likewise
579d2ad811
Disabling ip_addr_isbroadcast() due to recursive header dependencies.
...
Currently, patch #2679 is broken, but will be neatly fixed once this is solved.
2004-03-11 21:37:56 +00:00
likewise
10d42c6fa3
Replaced ip_addr_isbroadcast() macro by function.
...
Overrides patch #2679 , as this must be solved inside ip_addr_isbroadcast(), inspired by BSD.
2004-03-11 21:20:10 +00:00
likewise
6434f7efad
Missing newline at EOF. Gave compiler warning.
2004-03-11 20:52:25 +00:00
likewise
ed4c5d88a3
Added replacement for ip_addr_isbroadcast() macro, code is dead for review and testing (#if 0).
2004-02-24 21:59:17 +00:00
kieranm
3a784509df
23/02/2003 - Kieran Mansley - kieranm@gtemail.net
...
* Applied patch #2679
* Adds check to line 75 for NETIF_FLAG_BROADCAST
2004-02-23 10:13:12 +00:00
lukem
4bf3359574
Added ability to disable checksum generation and checking at compile-time
2004-02-20 01:46:03 +00:00
likewise
e1c4bfad05
Merged from DEVEL, except for the API change in etharp.c.
2004-02-07 00:30:03 +00:00
likewise
1b96391cdf
Merged from DEVEL to main. Two TCP fixes and two NULL reference fixes.
2004-01-20 13:23:52 +00:00
likewise
e4a6d199fe
Merged from DEVEL into main tree.
2003-11-14 13:17:23 +00:00
likewise
cea2c0bbc4
Fixed a string literal being wrongly split over two lines.
2003-06-12 07:18:57 +00:00