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
|
33d6dcec5b
|
Fixed bug #33048 (Bad range for IP source port numbers) by using ports in the IANA private/dynamic range (49152 through 65535).
|
2011-04-13 17:52:00 +00:00 |
|
goldsimon
|
aaa8d2795e
|
Don't chain empty pbufs when sending them (fixes bug #30625)
|
2010-08-03 08:38:59 +00:00 |
|
goldsimon
|
04beab4f7d
|
IP_MULTICAST_LOOP shall be disabled by default
|
2010-07-12 14:10:28 +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
|
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
|
d8d964d09e
|
udp_input/SO_REUSE_RXTOALL: only call pbuf_header if there is a 2nd pcb to pass the data to
|
2010-05-15 17:11:41 +00:00 |
|
goldsimon
|
02f5e19420
|
udp_input: use SO_REUSE && SO_REUSE_RXTOALL to copy incoming (broad-/multicast) data to additional pcbs
|
2010-05-15 16:46:53 +00:00 |
|
goldsimon
|
a56795c149
|
Added new option SO_REUSE_RXTOALL to pass received UDP broadcast/multicast packets to more than one pcb
|
2010-05-15 14:52:39 +00:00 |
|
goldsimon
|
d0348e0c60
|
task #6995: Implement SO_REUSEADDR (correctly)
|
2010-05-12 22:29:58 +00:00 |
|
goldsimon
|
f98e5717e5
|
task #6849: added udp_send(_to/_if) functions that take a precalculated checksum, added pbuf_fill_chksum() to copy data into a pbuf and at the same time calculating the checksum for that data
|
2010-04-30 20:39:45 +00:00 |
|
goldsimon
|
94cbed5096
|
Corrected comment
|
2010-03-14 12:35:30 +00:00 |
|
goldsimon
|
82e4716784
|
Fixed comment to our flag names
|
2010-02-12 16:30:58 +00:00 |
|
goldsimon
|
90bed0c5ac
|
Added yet another IP-address-modifying define, ip_addr_set_any()
|
2010-02-08 17:24:08 +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
|
e678e1bdcb
|
bug #28659: Missing casts
|
2010-01-25 08:24:30 +00:00 |
|
goldsimon
|
2d4e76874c
|
Using typedefs for function prototypes and -pointers throughout the stack for clarity
|
2010-01-14 20:02:15 +00:00 |
|
goldsimon
|
6df94d3c76
|
Coding style
|
2010-01-13 15:17:01 +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
|
9e5cf1cf8e
|
Reverted change for bug #27252 (Address pointer invalid after freeing pbuf in UDP receive callback) as it made more problems than before :-(
|
2009-10-07 17:50:46 +00:00 |
|
goldsimon
|
362a295e06
|
Fixed bug #27252: Address pointer invalid after freeing pbuf in UDP receive callback
|
2009-08-23 11:32:38 +00:00 |
|
fbernon
|
d4ecb23015
|
raw.c, udp.c, init.c, opt.h, ip.h, sockets.h: bug #26309: Implement the SO(F)_BROADCAST filter for all API layers. Avoid the unindented reception of broadcast packets even when this option wasn't set. Port maintainers which want to enable this filter have to set IP_SOF_BROADCAST=1 in opt.h. If you want this option also filter broadcast on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1 in opt.h.
|
2009-04-29 12:42:43 +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
|
aa568727d1
|
patch #6699: fixed some warnings on platform where sizeof(int) == 2
|
2008-12-19 18:08:29 +00:00 |
|
jifl
|
886cfbe12d
|
Minor spelling typos and formatting fixes.
|
2008-01-11 14:28:58 +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
|
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
|
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
|
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
|
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
|
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 |
|
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
|
9152d6671c
|
Comments Fix for Doxygen documentation
|
2007-08-09 22:21:44 +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 |
|
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
|
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
|
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 |
|
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 |
|
goldsimon
|
3a429eabcd
|
Set q to NULL after freeing it before returning: cleaner code!
|
2007-06-04 10:42:03 +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 |
|
goldsimon
|
8fd6a61df6
|
Done some work on task #1549 (function documentation)
|
2007-06-03 18:05:52 +00:00 |
|