Commit Graph

278 Commits

Author SHA1 Message Date
Gregory Nutt 9c2af5317f Merge remote-tracking branch 'origin/master' into afunix 2015-01-28 12:03:43 -06:00
Gregory Nutt 371a9fd84c Networking: Fix another deadlock condition. tcp_write_buffer_alloc() calls sem_wait() with network locked. That worked if CONFIG_NET_NOINTS was not defined because interrupts are automatically restored when the wait happens. But with CONFIG_NET_NOINTS=y, the wait blocks with the network locked -- bad style and also can lead to a deadlock condition 2015-01-28 11:56:11 -06:00
Gregory Nutt 6a1bfc9594 Unix domain: Fix a typo and some missing conditional compilation 2015-01-28 11:48:23 -06:00
Gregory Nutt cba78c7349 Unix domain: More fixes. With these changes, apps/examples/ustream works 2015-01-28 08:39:48 -06:00
Gregory Nutt b76db036da Unix domain: A few more bugfixes 2015-01-27 17:31:42 -06:00
Gregory Nutt ca2102febb Unix domain: A few fixes from early integration 2015-01-27 16:39:30 -06:00
Gregory Nutt c250c97186 Unix domain: More fixed to build without Ethernet or Slip 2015-01-27 14:26:10 -06:00
Gregory Nutt 8f517ad0c1 recvfrom(): Missing else in conditional logic of recvfrom() 2015-01-27 14:14:53 -06:00
Gregory Nutt c49c7bc447 Merge remote-tracking branch 'origin/master' into afunix 2015-01-27 14:12:41 -06:00
Gregory Nutt cbf0608513 Various fixes to get Unix domain sockets to build on the simulator without Ethernet 2015-01-27 14:11:46 -06:00
Gregory Nutt a88b824f96 Networking: Hook in send and revcfrom Unix domain socket logic; still needs hooks for sendto logic 2015-01-26 18:47:48 -06:00
Gregory Nutt f756545eb0 Networking: Add local Unix domain socket accept logic 2015-01-25 16:27:25 -06:00
Gregory Nutt 90e59217c6 Networking: Move TCP specific logic out of net/socket/accept.c to net/tcp/tcp_accept.c; add hooks for local, Unix doamin sockets 2015-01-25 15:46:05 -06:00
Gregory Nutt 59f9a1a286 Networking: Add local Unix domain socket listen logic 2015-01-25 14:16:44 -06:00
Gregory Nutt c3f2023089 Networking: Add local Unix domain socket connection logic 2015-01-25 12:37:40 -06:00
Gregory Nutt ffc02f30b0 Networking: Add logic for binding Unix domain sockets 2015-01-25 08:33:39 -06:00
Gregory Nutt 3b64518049 Networking: A litle more Unix domain socket logic 2015-01-25 07:36:16 -06:00
Gregory Nutt 666ee755da Hook local socket functions into socket creation and close logic 2015-01-24 15:19:50 -06:00
Gregory Nutt 1c8dae4eee Correct calculation of initial MSS 2015-01-22 12:29:49 -06:00
Gregory Nutt 7106469191 Armv7-M: Remove Px4-only setting of stack to 0xff. This is incompatible with standard NuttX stack montitoring logic 2015-01-22 10:09:10 -06:00
Gregory Nutt 2e8667d304 Networking: New domain field in socket structure is created by socket(), but missed cases where a socket is created via accept() or dup() 2015-01-22 07:50:31 -06:00
Gregory Nutt 6175e9eec5 Networking: Correct the value returned by accept() in the case where net_lockingwait() is called. It was returning -1 and losing the errno value. Noted by Rony Xln 2015-01-22 06:51:31 -06:00
Gregory Nutt 5d31687e75 Correct name of fields in struct sockaddr_in6: sin6_port and sin6_family, not sin_port and sin_family 2015-01-20 18:14:09 -06:00
Gregory Nutt aec4528882 Cosmetic standardization of some naming in comments 2015-01-19 16:02:56 -06:00
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