Dirk Ziegelmeier
70f3e5ed05
Cleanup: Create new file ip.c and move dual-stack code from ipv4 and ipv6 folder in there
2016-02-26 23:04:51 +01:00
Dirk Ziegelmeier
2dc8f59bf4
Fix compile when PPPOE is enabled
2016-02-26 22:50:44 +01:00
Dirk Ziegelmeier
d5778bad2f
No need for dual-stack code in ip4.c and icmp.c -> use ip4 only versions
2016-02-26 22:50:20 +01:00
goldsimon
81c8121551
minor: fixed compiler warning "unary minus operator is applied to an unsigned expression"
2016-02-26 15:23:04 +01:00
goldsimon
97b7555119
bring back ETHARP_HWADDR_LEN (if anyone uses it)
2016-02-26 14:21:03 +01:00
Dirk Ziegelmeier
a5214abd04
udp: udp_send and udp_send_chksum: Check for PCB NULL pointer and PCB must not be the new IP_ANY_TYPE, but a real IPv4 and IPv6 address
2016-02-26 09:20:50 +01:00
goldsimon
bf8bcfafe2
revert accidentally committed comment from a649a3eb50
2016-02-26 08:59:50 +01:00
Joel Cunningham
8cb64698aa
Allow backlog to be updated
...
This commit adds support to the sockets and netconn layer to update the
backlog by calling listen when the netconn is already in the listen state.
When backlog is not enabled, the call returns successfully
This commit also introduces a macro for setting the backlog value that
prevents a 0 sized (invalid) backlog
2016-02-25 15:19:52 -06:00
sg
163d7f9791
added ethernet.c to Filelists.mk
2016-02-25 22:11:16 +01:00
sg
a649a3eb50
dual-stack fix: moved common definitions/code for ethernet used by etharp and ethip6 to new files ethernet.h/.c
2016-02-25 22:10:28 +01:00
Joel Cunningham
2a8398dfb8
Fix bug in FIONREAD handling in LINUXMODE
...
Fix a bug in the socket API's ioctl for FIONREAD. If the socket's
lastdata was assigned the function returned without error but did not
update the argument pointer.
The cast type for argp was also changed to int to conform with the
other SO_RCVBUF handling.
2016-02-25 12:53:12 -06:00
Dirk Ziegelmeier
fd891081c4
minor: Cleanups in raw/tcp/udp code by using macros and reducing #ifdefs
2016-02-24 23:04:25 +01:00
Dirk Ziegelmeier
953b7bdd59
Implement UDP dual-stack PCB support
...
Create special IP address type "IPADDR_TYPE_ANY" for it.
SNMP uses new feature in non-netconn mode.
TODO: Same for TCP & RAW, adapt NETCONN to use this feature
2016-02-24 22:37:01 +01:00
sg
1dde3d6e56
Fixed bug #46524 : "Device as dhcp server does not work after upgrade to lwip-1.4.1"
2016-02-24 22:13:58 +01:00
sg
ec49b68b38
minor: udp_input/local_match: coding style, added comments
2016-02-24 22:04:59 +01:00
sg
68590c2b27
minor/coding style: lowpan6_opts.h: tabs->spaces, trim trailing spaces
2016-02-24 22:03:40 +01:00
Dirk Ziegelmeier
ac4b089b18
udp.c: Further udp_input simplifications
...
- Move local PCB matching code in a function that can be reused in SO_REUSE && SO_REUSE_RXTOALL case.
- Some checks have been written in the dual-stack version and then repeated with the ipv6-only version. Example:
IPv6 only: ip6_addr_ismulticast(ip6_current_dest_addr())
IPv4 AND IPv6: ip_addr_ismulticast(ip_current_dest_addr())
2016-02-24 19:57:20 +01:00
Dirk Ziegelmeier
005c196ed8
udp.c: Simplify and cleanup input PCB matching
2016-02-24 19:13:30 +01:00
Dirk Ziegelmeier
3b5803ec9a
sys.h: Avoid un #defined LWIP_COMPAT_MUTEX macro (usually #defined in arch/sys_arch.h)
2016-02-23 15:49:58 +01:00
Dirk Ziegelmeier
fd4a109ffa
lowpan6.c: Implement SNMP counters
2016-02-23 13:01:46 +01:00
Dirk Ziegelmeier
481d350bf3
lwip/stats.h: Add some comments to MIB2 variables to explain correct usage a bit
2016-02-23 12:08:31 +01:00
Dirk Ziegelmeier
d121ea84d0
Add note about 6LoWPAN in src/netif/FILES
2016-02-23 11:46:28 +01:00
goldsimon
a5ac41c203
lowpan6: fixed compiler warning when casting u16_t to u8_t
2016-02-23 11:28:54 +01:00
goldsimon
e4457335b8
minor: tried to fix coding style in lowpan6.c
2016-02-23 10:36:16 +01:00
Dirk Ziegelmeier
680f8f31ab
I don't know why I have a diff here (I guess line ending problems like in my last lowpan6.c commit)...
2016-02-23 10:20:05 +01:00
Dirk Ziegelmeier
6650eb4cd2
snmp_traps.c: Fix compile on Win32 - missing string.h include
...
Catch possible strlen returnvalue > 0xffff
2016-02-23 10:06:46 +01:00
Dirk Ziegelmeier
799fe7a5ba
Fix shadowing warning in lowpan6.c - found by Erik Ekman's Travis CI
...
https://travis-ci.org/yarrick/lwip-merged
2016-02-23 08:58:34 +01:00
Dirk Ziegelmeier
9a4d7b9956
Use netif_input_fn typedef instead of creating a new one in tcpip.h
2016-02-22 21:10:50 +01:00
Dirk Ziegelmeier
fe8d2ba72f
Eliminate tcpip_pppos_input function
2016-02-22 21:00:00 +01:00
Dirk Ziegelmeier
e90591bb78
Add note to CHANGELOG about 6LoWPAN
2016-02-22 20:46:15 +01:00
Dirk Ziegelmeier
e2a3565971
Initial import of Ivan Delamer's 6LoWPAN implementation with slight modifications to allow compiling in IPv6 only mode
2016-02-22 20:44:32 +01:00
Dirk Ziegelmeier
aeab047ede
slipif: Fix compile when only IPv6 is enabled
2016-02-22 20:43:32 +01:00
Dirk Ziegelmeier
777e667f08
Add generic tcpip_inpkt function that can be called to make last changes really usable
2016-02-22 20:18:10 +01:00
Dirk Ziegelmeier
fa6f068fd1
Eliminate TCPIP_MSG_INPKT_PPPOS message type.
...
Fix my last commit, I accidentally unchecked the wrong file in commit dialog
2016-02-22 17:47:01 +01:00
Dirk Ziegelmeier
439ae629e0
Change TCPIP INPKT API message to take a function pointer. Allows integration of other protocols without extending lwIP core (e.g. 6LoWPAN)
...
Remove unused sem member of struct tcpip_msg
2016-02-22 17:39:01 +01:00
Dirk Ziegelmeier
17fad79f71
Two compile fixes after eliminating isipv6 member in PCBs
2016-02-22 17:07:17 +01:00
Dirk Ziegelmeier
d8531a2407
Cleanup NETCONNTYPE_ISIPV6 macro
2016-02-22 13:55:27 +01:00
Dirk Ziegelmeier
c805843e64
Change signature of ip_output, ip_output_if, ip_output_if_src, ip_output_hinted, ip_route, ip_netif_get_local_ip, ip_route_get_local_ip and tcp_eff_send_mss not to take an isipv6 parameter. Use the IP version of the destination address instead.
2016-02-22 13:38:40 +01:00
Dirk Ziegelmeier
880f1008d6
Together with Simon: Eliminate last instances of isipv6 member in pcbs;
...
Don't allow NULL pointers (IPv4 ANY) in connect() and sendto() functions as destinations since this does not make sense.
2016-02-22 13:03:51 +01:00
Dirk Ziegelmeier
be9cd800b0
Review with Simon: Init TCP/UDP/RAW PCBs with correct IP types in _new functions to make my changes work correct
2016-02-22 11:16:13 +01:00
Dirk Ziegelmeier
0106cf7ae0
Review with Simon: Remove dead code (since 2003)
2016-02-22 10:18:19 +01:00
Dirk Ziegelmeier
50303eea23
Reduce PCB_ISIPV6 macro usage some more
2016-02-21 19:59:08 +01:00
Dirk Ziegelmeier
339e82d7aa
Eliminate IP_PCB_IPVER_EQ macro
2016-02-21 19:45:51 +01:00
Dirk Ziegelmeier
5a25652c21
Eliminate IP_PCB_IPVER_INPUT_MATCH macro
2016-02-21 19:21:36 +01:00
Dirk Ziegelmeier
8f675c37fc
Reduce usage of PCB IP version flag in UDP code. Maybe we can figure out a good way for dual-stack UDP when we manage to remove the flag (nearly) entirely from the code.
2016-02-20 20:54:58 +01:00
Dirk Ziegelmeier
5809b01388
Reduce usage of PCB IP version flag in raw and tcp code. Maybe we can figure out a good way for dual-stack UDP when we manage to remove the flag (nearly) entirely from the code.
2016-02-20 20:40:04 +01:00
Dirk Ziegelmeier
f104d68569
PPP: Init SNMP members of PPP netifs
2016-02-19 23:51:18 +01:00
Dirk Ziegelmeier
10edba936b
Fix tcp pcb access after it was freed in tcp.c - found by Coverity
2016-02-19 23:28:09 +01:00
Dirk Ziegelmeier
bbb5e99f25
Fix netconn access after it was freed in lwiperf - found by Coverity
2016-02-19 23:26:06 +01:00
Joel Cunningham
ea94549cb2
Optimize lwip_selscan()
...
This makes a couple of simple re-arrangements in lwip_selscan() that
should improve performance in the following ways:
1) The old code linearly walked all sockets to maxfd regardless of
whether they were set in the fd set. The process involved
acquiring sys arch protect, looking up the socket, and then
checking if the socket was present in any of the fd sets. On
systems with lots of sockets and a heavy SYS_ARCH_PROTECT
infrastructure (a mutex) this can result in a lot of extra work.
Now we skip this process for any fd that is not in the input sets
2) If the socket from tryget_socket() is NULL we no longer continue
and compare the input fd sets with a zeroed out set of events
3) We no longer need to zero out our event sets because they are
only accessed when tryget_socket() is successful
lwip_selscan() is called at most once per select call and sometimes up to three times
2016-02-18 13:17:45 -06:00