Gregory Nutt
59c0757183
Fix a few more dangling IPv6 issues found by code inspection
2015-01-18 10:33:27 -06:00
Gregory Nutt
eb3c6e8390
Networking: Some fixes for compilation when both IPv4 and IPv6 are enabled
2015-01-18 09:23:22 -06:00
Gregory Nutt
f7663ef0ab
Networking: Final detangle off IPv4 and IPv6 TCP/UDP send logic. The Networking subsystem now compiles with IPv6 enabled
2015-01-18 08:56:05 -06:00
Gregory Nutt
2a2c925259
Merge remote-tracking branch 'origin/master' into ipv6
2015-01-17 17:08:22 -06:00
Gregory Nutt
86f617cc88
Networking: Straighten up use if IPv6/IPv4 in TCP connection logic
2015-01-17 17:07:54 -06:00
Gregory Nutt
cfbe12adb2
Networking: Fix some errors detected by Travis in configuration that have TCP on and UDP off and vice versa
2015-01-17 17:00:19 -06:00
Gregory Nutt
b187b4f381
Networking: Straighten up use if IPv6/IPv4 in TCP connection logic
2015-01-17 15:17:35 -06:00
Gregory Nutt
b80cdb3880
Fix a few warnings introduced with the last commit
2015-01-17 14:25:40 -06:00
Gregory Nutt
f7681dbb43
Networking: Detangling IPv6/4 logic in UDP connection structures
2015-01-17 14:13:56 -06:00
Gregory Nutt
94f9312150
Networking: Save the IP domain in the connection structure
2015-01-17 13:07:48 -06:00
Gregory Nutt
820509eadc
Networking: Fix accept() so that it returns the correct IP address for the selected socket IP domain.
2015-01-17 09:27:05 -06:00
Gregory Nutt
4ad5998db3
net/socket and net/tcp: When we are ready to receive data or when we have outgoing data ready to be sent, we need to the notify the appropriate device driver of this condition. The notifying socket will be configured as either PF_INET or PF_INET6 and must look up the correct driver using the correct IP domain.
2015-01-17 08:33:14 -06:00
Gregory Nutt
2c251d845c
include/net/if.h: Add a bit to the device flags to indicate if the device packet buffer holds an IPv4 or an IPv6 domain packet. Set/clear the flag along with the correct offset to the application payload data as each packet is received.
...
net/socket, net/tcp, net/udp: Add logic to select the domain of the outputgoing packet before sending any UDP or TCP packet. This sets the bit to indicate the IPv4 or IPv6 domain and the correct offset to the output going payload data.
2015-01-17 07:42:09 -06:00
Gregory Nutt
88a0e82934
Networking: Remove field d_sndata from the device structure. It is the same as d_appdata and unnecessary
2015-01-17 05:59:13 -06:00
Gregory Nutt
8f8259a0d6
Networking: UDP and TCP MSS depends on the IP header size (as well as the link layer header size) and cannot be represented with a single value.
2015-01-16 15:03:10 -06:00
Gregory Nutt
2663538b0a
Networking: Replace all references to the macros net_ipaddr_copy, net_ipaddr_hdrcopy, net_ipaddr_cmp, net_ipaddr_hdrcmp, and net_ipaddr_maskcmp with the appropriate IPv4 or IPv6 version of the macro (such as net_ipv4addr_copy). The goal is to support both IPv4 and IPv6 simultaneously. This requires that the macros be distinct and not conditionally defined to one on or the other.
2015-01-16 13:01:08 -06:00
Gregory Nutt
5e938941a6
Networking: Replace all references to net_ipaddr_t with either in_addr_t on net_ipv6addr_t. The goal is to support both IPv4 and IPv6 simultaneously. This requires that the two types be distinct and not conditionally typedef'ed to net_ipaddr_t.
2015-01-16 12:30:18 -06:00
Gregory Nutt
bee89be4f4
Networking: Drivers can have both IPv4 and IPv6 addesses, but a socket can only only one or the other; The socket connnection structures need to include a union of IPv4 and IPv6 addresses for the local address binding and for the remote address connections
2015-01-16 10:01:54 -06:00
Gregory Nutt
fe8b3c5220
Networking: More detangling of IPv6 logic. Next steps will be more invasive and will get moved to a branch
2015-01-16 08:51:18 -06:00
Gregory Nutt
60e50ff3b5
Networking: More IPv6 detanglement
2015-01-15 13:08:28 -06:00
Gregory Nutt
b36dbe1d89
Add logic to netdev_findbyaddr() to return the correct network device for the case where a broadcast address is used. This change caused trivial ripples through other files because additional parameters are required for netdev_findbyaddr() when CONFIG_NET_MULTINIC
2014-11-23 11:00:22 -06:00
Gregory Nutt
08de18c1a6
Network: Various fixes for clean compile with both Ethernet and SLIP
2014-11-15 13:52:39 -06:00
Gregory Nutt
2e55db369d
Network: All logic will now handle varialbe length link layer protocol headers within incoming packets. This permits use of multiple network interfaces with differing data links. For example, ETHERNET + SLIP
2014-11-15 13:13:23 -06:00
Gregory Nutt
ae3cc327c7
AIO now also supports socket transfers
2014-10-11 08:15:23 -06:00
Gregory Nutt
d914f3ceec
Major structure of file system functions to better support asynchronous I/O. Respository should not be trusted until I have a chance to verify everything
2014-10-06 10:53:25 -06:00
Gregory Nutt
1780810d3d
Rename kmalloc to kmm_malloc for consistency
2014-08-31 17:26:36 -06:00
Gregory Nutt
54fa3b0b59
Rename kfree to kmm_free for consistency with other naming conventions
2014-08-31 17:04:02 -06:00
Gregory Nutt
6e04518e4a
If CONFIG_NET_ARP_SEND is enabled, then all ICMP, TCP, and UDP send operations will call arp_send() before attempting the real send operation. arp_send() will check if the the IP address mapping is in the ARP table and, if not send ARP requests periodically until it is. This eliminates losing the first outgoing message because there is not mapping in the ARP table.
2014-08-18 16:22:14 -06:00
Gregory Nutt
e463730c2f
A little too much was deleted in a recent commit
2014-08-16 12:52:28 -06:00
Gregory Nutt
79e098b20e
Clean missing function headers
2014-08-16 10:24:06 -06:00
Gregory Nutt
caba61999a
Remove CONFIG_DISABLE_CLOCK
2014-08-07 12:35:24 -06:00
Gregory Nutt
cab24a4bd8
Add inclusion of assert.h to so files that use DEBUGASSERT
2014-07-21 18:46:47 -06:00
Gregory Nutt
178b2b0cbe
NET: Important fix to the read-ahead buffer queue managment: Consumed bytes were being trimmed from the head of the queue, but the queue head itself was not being updated. From Rony XLN
2014-07-07 07:28:17 -06:00
Gregory Nutt
e89eac6365
NET: Fix a few problems after big merge of network reorganization
2014-07-06 17:58:36 -06:00
Gregory Nutt
73f3ecf7e2
NET: Rename network interrupt event flags more appropriately: TCP_, UDP_, ICMP_, or PKT_ vs UIP_
2014-07-06 17:22:02 -06:00
Gregory Nutt
b77fda2c95
NET: Rename TCP state values: UIP_ -> TCP_
2014-07-06 16:10:26 -06:00
Gregory Nutt
2d52d70d4c
NET: Move private definitions from include/nuttx/net/tcp to net/tcp/tcp.h
2014-07-06 12:34:27 -06:00
Gregory Nutt
9e87ab90b8
NET: Move private definitions from include/nuttx/net/arp.h to net/arp/arp.h
2014-07-06 11:05:28 -06:00
Gregory Nutt
47a502a5e2
NET: Most of the contents of include/nuttx/net/udp.h moved to net/pkt/udp.h
2014-07-05 14:40:29 -06:00
Gregory Nutt
dc8cba763d
NET: Most of the contents of include/nuttx/net/pkt.h moved to net/pkt/pkt.h
2014-07-05 13:59:22 -06:00
Gregory Nutt
c5fc24e110
NET: Standardize naming of all protocal header lengths
2014-07-05 13:04:48 -06:00
Gregory Nutt
60246e613b
NET: emoved all includes of uip.h; added includes of ip.h wherever needed. Tried to fix problems of the now missing sneak inclusions because uip.h was removed. There are probably a few of these that were missed.
2014-07-04 19:13:08 -06:00
Gregory Nutt
0bb153b8cb
Remove all inclusion of uip.h
2014-07-04 16:58:22 -06:00
Gregory Nutt
a6b39d1879
NET: in-progress change... don't use
2014-07-04 16:38:51 -06:00
Gregory Nutt
cce35ce975
NET: More renaming
2014-07-04 15:40:49 -06:00
Gregory Nutt
77330679d4
NET: Rename uip_mss to tcp_mss
2014-06-30 19:09:23 -06:00
Gregory Nutt
ad3e39e53d
NET: Rename uiphdr_ipaddr_copy to net_ipaddr_hdrcopy, uip_ip4addr_conv to net_ip4addr_conv32, and uip_ethaddr_cmp to eth_addr_cmp
2014-06-29 13:20:00 -06:00
Gregory Nutt
c362f21815
NET: Rename uip_ipaddr* to net_ipaddr*
2014-06-29 13:11:08 -06:00
Gregory Nutt
fa68fcc843
NET: Rename uip_callback_s to devif_callback_s
2014-06-29 12:59:34 -06:00
Gregory Nutt
5ac94ff988
Fixes for networking and tiny webserver from Max
2014-06-29 09:30:09 -06:00