Dirk Ziegelmeier
f6e27940bd
Make lwIP compile with clang -Wdocumentation -> several documentation fixes
2016-10-09 12:21:39 +02:00
Dirk Ziegelmeier
13fb616bb2
Cleanup hton*/ntoh* function handling and platform abstraction
...
Let lwip use functions/macros prefixed by lwip_ internally to avoid naming clashes with external #includes.
Remove over-complicated #define handling in def.h
Make functions easier to override in cc.h. The following is sufficient now (no more LWIP_PLATFORM_BYTESWAP):
#define lwip_htons(x) <your_htons>
#define lwip_htonl(x) <your_htonl>
2016-10-06 12:55:57 +02:00
Elias Reichart
60a507f88b
ETHARP_TABLE_MATCH_NETIF is also used in the etharp_output shortcut
2016-10-04 22:15:59 +02:00
Axel Lin
5e15125b3d
igmp: Fix optimized code by always skipping the first entry in the linked groups list
...
commit 8c52afb6ca21 ("igmp: Optimize code by always skipping the first entry in the linked groups list - it is always the "allsystems" entry")
accidently changes the code logic. it should check groupref rather than group.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
2016-10-02 19:36:59 +02:00
Dirk Ziegelmeier
8f8f56914b
Fix bug #47731 : IGMP state transition missing
...
Set state variable according to RFC 2236 on timeout in delaying member state
2016-10-01 21:27:00 +02:00
Dirk Ziegelmeier
8c52afb6ca
igmp: Optimize code by always skipping the first entry in the linked groups list - it is always the "allsystems" entry
2016-10-01 17:28:36 +02:00
Dirk Ziegelmeier
149701b347
Fix bug #49218 : pbuf_clen() overflow as a result of tcp_write concatenation
...
Let pbuf_clen() return u16_t
2016-09-30 09:04:36 +02:00
Dirk Ziegelmeier
633696c153
Implement consistent IPx_ADDR_ANYx macro naming between IPv4 and IPv6
...
- rename IP4_ADDR_ANY to IP4_ADDR_ANY4
- IP4_ADDR_ANY (= IP_ADDR_ANY) is now IPv4 any address in ip_addr_t format
2016-09-28 12:56:57 +02:00
Dirk Ziegelmeier
c7c6b7ce93
Rework IGMP and MLD6 code to store group info per-netif.
...
Reasoning:
- Makes code in single-netif case perform better and smaller
- IGMP / MLD6 code is a little bit easier to read and understand
- Easier to get multicast groups per netif when implementing drivers
Downside: In multi-netif mode, there are two more pointers on each netif, even if IGMP/MLD6 is not used on it. But these systems should not be so memory-constrained that this will matter.
2016-09-21 13:33:33 +02:00
Dirk Ziegelmeier
623f9ce046
Remove one debug message from Daniel's patch
2016-09-19 12:32:43 +02:00
Daniel Elstner
4d4710dadf
Bug #49125 addendum: Remove group from list before callback
...
When leaving a multicast group, remove the group from the list
before invoking the MAC filter callback. This avoids the need
for the callee to skip over the group that is about to be deleted.
2016-09-19 12:26:51 +02:00
Dirk Ziegelmeier
ee4cd45c98
Fix bug #49125 : Need a way to iterate multicast groups for MAC filtering
...
-> let list heads be a public symbol
2016-09-19 08:45:57 +02:00
sg
34682facd1
Remove ip4_frag IP_FRAG_USES_STATIC_BUF code: nearly the same as the other code, but IP_FRAG_USES_STATIC_BUF doesn't work when queuing pbufs
2016-08-31 21:00:10 +02:00
Dirk Ziegelmeier
8d45162a59
Fix usage of uninitialized data in dhcp.c by checking pbuf_copy_partial() return value
2016-08-30 21:33:43 +02:00
Dirk Ziegelmeier
0d510dd66d
Add API macros for netif client data handling and update documentation accordingly
2016-08-26 11:21:49 +02:00
Dirk Ziegelmeier
c719c466b3
Remove SIZEOF_ETHARP_PACKET_TX #define, it is not needed any more after my last cleanups
2016-08-23 20:41:37 +02:00
Dirk Ziegelmeier
31778193da
Work on bug #48868 : Cleanup etharp.c not to use struct eth_hdr: Cleanup etharp_input() to use ethernet_output()
2016-08-23 17:23:21 +02:00
Dirk Ziegelmeier
6caa7b9927
Cleanup etharp_arp_input() signature to match the sig of other input functions (pbuf, netif). Rename to etharp_input()
2016-08-23 17:03:51 +02:00
Dirk Ziegelmeier
979bee386c
Work on bug #48868 : Cleanup etharp.c not to use struct eth_hdr: Cleanup etharp_raw() to use ethernet_output()
2016-08-23 16:58:17 +02:00
goldsimon
fd5b34ae43
ip4_forward(): fixed compiling IP_FORWARD_ALLOW_TX_ON_RX_NETIF==1
2016-08-23 15:26:05 +02:00
goldsimon
306171c93b
DHCP: fixed compiling LWIP_DHCP_BOOTP_FILE==1
2016-08-23 15:25:39 +02:00
goldsimon
d99d91dae9
removed ETHARP_TRUST_IP_MAC since it is insecure and we don't need it any more after implementing unicast ARP renewal towards arp entry timeout
2016-08-23 13:00:15 +02:00
Dirk Ziegelmeier
4456c7d230
Fix regression in etharp.c: Allocate correct pbuf layer
2016-08-23 12:32:57 +02:00
Dirk Ziegelmeier
bae4d6398c
Fix some comments to reference ethernet_output now
2016-08-23 10:23:59 +02:00
Dirk Ziegelmeier
18136c047b
Work on bug #48824 : ethernet.c extensions: Implement ethernet_output();
...
Fixes bug #48862 : ethip6 does not support setting vlan
2016-08-23 10:15:03 +02:00
goldsimon
6b1e1af3d1
combine MAC filter actions for IGMP and MLD6 (IGMP has compatibility defines for old code, MLD6 filter functions must be adapted)
2016-08-19 13:54:14 +02:00
Dirk Ziegelmeier
6688033bc4
Move IGMP protocol struct to prot/igmp.h
2016-08-19 12:50:41 +02:00
goldsimon
ed566cceaa
minor cleaup in (eth)arp
2016-08-19 12:49:02 +02:00
goldsimon
14fb48cd7a
minor: whitespace cleanups
2016-08-19 09:41:34 +02:00
Dirk Ziegelmeier
8eb9db18a2
Reduce usage of netif/ethernet.h header, mostly lwip/prot/ethernet.h is sufficient
2016-08-19 08:36:00 +02:00
Dirk Ziegelmeier
97fae7e41b
Code cleanup in autoip.c and dhcp.c
2016-08-18 12:49:59 +02:00
Dirk Ziegelmeier
7f60cb3889
Improve netif client data API for lwIP internal clients - these can use a compile-time constant to access their data now
2016-08-18 12:37:21 +02:00
Dirk Ziegelmeier
c9ad58308a
Minor documentation fixes
2016-08-18 10:59:18 +02:00
Dirk Ziegelmeier
fa6a2d48cc
Fix DHCP unit test after my last changes
2016-08-18 06:09:02 +02:00
Dirk Ziegelmeier
c62bfd8146
Port AUTOIP to new netif client data API
2016-08-17 21:26:08 +02:00
Dirk Ziegelmeier
1db9631e7d
Port DHCP to new netif client data API
2016-08-17 21:04:44 +02:00
goldsimon
dc7340bbd5
started with bug #48728 : move protocol definitions to 'include/prot/*.h' files (started with some IPv4 protocols)
2016-08-11 14:36:09 +02:00
Dirk Ziegelmeier
5a09fd3e35
Don't document ip4_route and ip6_route, users should use ip_route instead
2016-08-09 10:16:40 +02:00
Dirk Ziegelmeier
980a919c9a
Don't document IP type specific output functions, users should use IP type independent ones
2016-08-07 10:13:50 +02:00
Dirk Ziegelmeier
8d07629b71
Some documentation cleanups and include more comments that have been already in code into doxygen docs
2016-08-07 10:05:34 +02:00
Dirk Ziegelmeier
87855b0e0e
Update doxgen docs: PBUF layers, IPv4 and IPv6 functions, add some missing tcp raw API functions
2016-08-06 20:28:49 +02:00
David van Moolenbroek
02221cf5dc
Rename IP_HDRINCL to LWIP_IP_HDRINCL
...
In the BSD socket API world, IP_HDRINCL is a socket option for "raw"
sockets that indicates whether sent packets already include an IP
header. Within lwIP, "IP_HDRINCL" is redefined as a special value
that indicates to lwIP-internal functions that an IP header is already
included. While somewhat related, the two meanings are different and,
on platforms that define the IP_HDRINCL socket option, this results in
a conflict. This patch renames the lwIP one to "LWIP_IP_HDRINCL",
thus resolving the conflict.
2016-08-03 20:51:21 +02:00
Dirk Ziegelmeier
67d674a59c
Document IGMP and MLD6 API in doxygen module style
2016-07-26 18:20:30 +02:00
Dirk Ziegelmeier
dc0859b8d1
Document DHCP and AUTOIP API in doxygen module style
2016-07-26 18:10:05 +02:00
goldsimon
e8ffac852e
Fixed bug #48551 (autoip_supplied_address() does not work when address is first assigned); fixed AutoIP timeouts
2016-07-20 08:28:16 +02:00
sg
24a339a609
autoip: made private things private, use etharp_* shortcuts instead of etharp_raw()
2016-07-19 22:27:20 +02:00
sg
86e419425b
minor: code layout only
2016-07-19 22:06:59 +02:00
sg
d0a79ff085
fixed bug #48477 (ARP input packet might update static entry)
2016-07-19 22:01:42 +02:00
goldsimon
579fffd2ec
fixed task #14084 : make dhcp_supplied_address() usable in netif change callbacks triggered by changing the netif address assigned by dhcp
2016-07-19 12:58:21 +02:00
Dirk Ziegelmeier
72208cddfa
Rename ip_frag.* to ip4_frag.*
2016-07-19 10:12:56 +02:00