Commit Graph

922 Commits

Author SHA1 Message Date
Gregory Nutt 01d176af76 net_startmonitor.c always returned zero. In the case where a socket has already been closed, it correctly handled the disconnetion event but still returned OK. Returning OK causes the callers of net_startmonitor to assume that the connection was okay, undoing the good things that net_startmonitor did and causing the socket to be marked as connected. This behavior was noted by Pelle Windestam. 2015-05-28 08:23:51 -06:00
Gregory Nutt 0e2b6929b4 Add function headers to prototypes in net/socket/socket.h 2015-05-28 07:26:03 -06:00
Gregory Nutt d6c3ed1c6f Networking: Fixes an important TCP bug: 16-bit flags was being converted to 8-bits in a few locations, causing loss of status indications 2015-05-27 17:17:42 -06:00
Gregory Nutt 4fd0192a3e Networking: No that ARP, ICMP, and ICMPv6 reside in the same list we need to make the definitions of ARP_POLL, ICMP_POLL, and ICMPv6_POLL different because there are small differences in the context for each. 2015-05-27 15:04:51 -06:00
Gregory Nutt 390eeaae69 Add function headers to netdev.h header file 2015-05-27 14:34:15 -06:00
Gregory Nutt 2ecff2a432 Add some missing NETDEV_DOWN support for ICMPv6 auto configuration and router support 2015-05-27 12:49:39 -06:00
Gregory Nutt 7d8e8bc188 Missed a place where NETDEV_DOWN needs to be added to notification flags 2015-05-27 12:22:07 -06:00
Gregory Nutt b94321cfb4 Extend device specific callbacks to ICMPv6 and ARP. Fix some IPv6 compilation errors that have crept in 2015-05-27 11:39:44 -06:00
Gregory Nutt 8ecb84ed89 Improve icmp handling if MULTINIC enabled. From Max Neklyudov 2015-05-27 09:26:00 -06:00
Gregory Nutt 608f812407 Fix bug in IPv6 router from Max Neklyudov. 2015-05-13 07:26:24 -06:00
Gregory Nutt f20ac5ef93 Add inclusion of assert.h in networking files where needed to avoid compilation errors. From Max Neklyudov. 2015-05-13 07:24:22 -06:00
Gregory Nutt 8cb4e78a1a Complete implementation of the IPv6 routing logic. From Max Neklyudov. 2015-05-13 07:22:02 -06:00
Gregory Nutt 0f5c35260b Local sockets: Local stream sockets had problem of double releasing pipes (both server and client attempt release), which causes wrong pipe pair being closed in multi-client case. Solve by adding per connection instance ID to pipe names. From Jussi Kivilinna (2015-05-12). 2015-05-12 07:47:32 -06:00
Gregory Nutt 3c1af2feed Local sockets: Add poll support for Unix stream sockets. From Jussi Kivilinna. 2015-05-12 07:41:12 -06:00
Gregory Nutt 2fcb93d2ca Correct some network lock logic: Two error conditions where the network was not being unlocked and one where it was getting unlocked twice. From Jussi Kivilinna. 2015-05-12 07:28:26 -06:00
Gregory Nutt 1f3ee83134 Increase the size of the number of bytes sent from uint16_t to uint32_t in order to avoid TCP errors with long sessions. For exmple:
int hello_main(int argc, char *argv[])
{
   uint32_t i;
   for(i = 0; i < 65536; i++)
    {
      printf("Hello, World!!\n");
    }

  printf("press any key!!\n");
  if (getchar()=='t')
    return 0;
  else
    return 1;
}

When ran in a Telnet session, the "press any key" is not displayed because the tcp session closed unexpectedly with:

tcp_input: ERROR: conn->sndseq xx, conn->unacked xx"

This is fixed by increasing the width of conn->sent to 32-bits to prevent overflow.

From Rony XLN
2015-05-11 07:14:25 -06:00
Gregory Nutt d35926ea4a Fix typo introduced by commit a00f14a60a8ec54fbcf63e44d00f7101ec7cb5a3 2015-05-08 14:19:18 -06:00
Gregory Nutt 00011d4766 Another newly missing semicolon after a debug assertion. Noted by Librae 2015-04-29 15:56:08 -06:00
Gregory Nutt 621eae86b1 Networking: If IPV6 is not enabled, an warning occurs for an unused variable, which is currently used inside the IPV6 block, but declared outside. From ObitalFox. 2015-04-27 11:28:28 -06:00
Gregory Nutt 7a745c3fa4 Use common macro(s) for calculating link layer header length. From Brennan Ashton. 2015-04-13 13:53:13 -06:00
Gregory Nutt 3840c2a14b Fix several typos in comments 2015-04-09 16:13:03 -06:00
Gregory Nutt 3ba9dda227 socket: net_dupsd: Do not call sockfd_socket() twice. From Juha Niskanen 2015-03-12 08:11:08 -06:00
Gregory Nutt 21d6e41032 Add TUN device. From Max Neklyudov 2015-03-11 06:52:56 -06:00
Gregory Nutt 5c13722416 Networking: Improve the network device registration logic. When multiple link types are used, modify how each interface number is assigned to the device name by incrementing the device number individually for each interface link type. From Max Neklyudov. 2015-02-27 08:23:14 -06:00
Gregory Nutt 19f3d46eb0 Fix a list handling error in netdev_unregister(). From Max Neklyudov 2015-02-27 08:01:31 -06:00
Gregory Nutt cded7ea682 Fix some time value changes; mostly changing greater than 1000000000 to greater than or equal to 1000000000. From Juha Niskanen 2015-02-20 07:07:36 -06:00
Gregory Nutt 63ab39b274 VFS: The inode unlink method should not be support if operations on the root pseudo-filesystem are disabled. 2015-02-18 09:34:58 -06:00
Gregory Nutt db741dd695 Move some useful internal logic from recvfrom.c and udp_callback.c and put them in ip.h where they can be used more generally 2015-02-17 07:37:44 -06:00
Gregory Nutt 686dcbb79c Move some useful internal macros from udp_send.c and put them in ip.h where they can be used more generally 2015-02-17 07:08:11 -06:00
Gregory Nutt eb8f5e548f Purely cosmetic changes resulting from last review IPv6 UDP change 2015-02-16 15:23:02 -06:00
Gregory Nutt 3f5ff4b210 IPv4 mapping to IPv6 implementation. Just for UDP. From Macs Neklyudov 2015-02-16 14:33:58 -06:00
Gregory Nutt d6704a1cd7 Suffer the consequences of moving struct timeval to its correct location 2015-02-15 15:18:35 -06:00
Gregory Nutt 8337710084 Stray semicolon caused compile failure when IPv6 enabled 2015-02-14 09:30:22 -06:00
Gregory Nutt 8840102554 Networking: Divide net_intiialize() into net_setup() and net_initialize() to solve a chicken-and-egg problem. net_setup() must be caleld before up_initialize() is called so that networking data structures are ready to register new network devices.
net_initialize() now does only timer related operations and is called AFTER up_initialize() where the timers are configured.  This is really.
2015-02-14 06:36:53 -06:00
Gregory Nutt 77d8f2f63d Add some inclusions of nuttx/net.h to two files. Without these there can be compilation errors in certain configurations. From Max Neklyudov. 2015-02-13 13:43:19 -06:00
Gregory Nutt 005643de2c Networking: Fix a compilation error recently introduced into the raw packet logic 2015-02-11 09:30:30 -06:00
Gregory Nutt a82b8fd71f Networking: Fix several build errors/warning with IPv4 + IPv6 + multiple networks are enabled. 2015-02-10 06:54:10 -06:00
Gregory Nutt 8a380a084d IOB Configuration: Default number of IOB changes must be more than zero is UDP read-ahead is enabled. 2015-02-10 06:25:55 -06:00
Gregory Nutt b756df982d net/: Lots of build problems introduced into multiple NIC support. Many places where conditional logic based on CONFIG_NETDEV_MULTINIC is confused with CONFIG_NET_MULTILINK. Lots of code changed with IPv6 that was never compiled with MULTINIC enabled. Still some problem with parameter passing. 2015-02-09 18:15:34 -06:00
Gregory Nutt 559f1ef825 Networking: Clean up and consolidate some clunky stuff by adding new net_timedwait() function 2015-02-09 07:50:10 -06:00
Gregory Nutt 1928feafca Networking: Fix some errors that crept in with IPv6 2015-02-06 13:34:19 -06:00
Gregory Nutt 252802d1cd Remove inclusion of some un-necessary header files. 2015-02-06 08:50:53 -06:00
Gregory Nutt 3e6705b526 IPv6: Separate function that converts prefix lengths to a netmask 2015-02-06 08:11:09 -06:00
Gregory Nutt 10cf7e9634 Make some conditional compilation consistent 2015-02-05 14:26:11 -06:00
Gregory Nutt 3bd6dcf435 IPv6 fixes: Both ICMPv6 autonomous auto-configuration and the ICMPv6 router function appear to be fully functional. 2015-02-05 12:48:02 -06:00
Gregory Nutt c7f71c99a5 Networking: Changes need to build ICMPv6 'router' configuration on STM32 with network debug enabled 2015-02-05 11:47:56 -06:00
Gregory Nutt 6568d94902 ICMPv6: Add logic to behave like a router (if so configured): NuttX will not send the router advertisement message in response to any router solicitation messages. 2015-02-05 09:43:29 -06:00
Gregory Nutt 111f4a45a3 Forgot to add this file before a previous commit 2015-02-05 09:43:07 -06:00
Gregory Nutt da1d1d7139 ICMPv6: Add option to send Router Advertisement Messages. 2015-02-05 09:28:00 -06:00
Gregory Nutt 6f3f43d930 IPv6: Add a netmaks for the local link address 2015-02-05 05:43:57 -06:00
Gregory Nutt 453c25cdbb Minor logic simplification 2015-02-04 21:06:11 -06:00
Gregory Nutt 28b89b7a65 ICMPv6 Auto-configuration: If no router reponds to the Router Solicitation, claim the link local address by sending the Neighbor Advertisement and return success 2015-02-04 16:13:27 -06:00
Gregory Nutt c5ed77120f ICMPv6: Separate out Neighbor Advertise message so that we can reuse it 2015-02-04 15:43:54 -06:00
Gregory Nutt f558dfbb96 Remove unnecessary, inappropriate inclusion of ARP head file in IPv6 code 2015-02-04 14:52:46 -06:00
Gregory Nutt 24d800398e Networking: Break out Ethernet definitions into a separate file; add IPv6 multicast addresses as common globals, Ethernet drivers need to filter link-local, all nodes Ethernet address 2015-02-04 14:51:20 -06:00
Gregory Nutt 6159d1307d Forgot to add a file from a previous commit 2015-02-03 17:45:24 -06:00
Gregory Nutt 0e38ca9a42 ICMPv6: Fix some multi-cast addresses 2015-02-03 17:26:05 -06:00
Gregory Nutt f7ace410d1 Minor updates to comments, debug messages, documentation 2015-02-03 17:01:48 -06:00
Gregory Nutt 154d3ce955 ICMPv6: Some initial bugfix from first tests of the ICMPv6 auto-configuration logic. so far so good but a lot more testing is needed 2015-02-03 16:19:08 -06:00
Gregory Nutt 9791e829f5 ICMPv6: This completes coding of the ICMPv6 auto-configuration feature. It is not yet functional 2015-02-03 15:40:56 -06:00
Gregory Nutt 66f0198e3f Networking: Add support for sending ICMPv6 Router Solicitation and receiving Router advertisement. This is a part of the ICMPv6 auto-configuration logic is still still not complete 2015-02-03 13:25:28 -06:00
Gregory Nutt 553b93cd23 Costmetic updates to comments 2015-02-03 11:19:33 -06:00
Gregory Nutt 0e23712db4 Add an ioctal() that can be used to perform ICMPv6 auto-configuration 2015-02-03 08:54:42 -06:00
Gregory Nutt b427e8288b Add netlib and application hooks for ICMPv6 auto-configuration (still incomplete 2015-02-03 08:01:55 -06:00
Gregory Nutt d89073ae13 Add some comments to C files 2015-02-03 06:04:54 -06:00
Gregory Nutt 88f6573f31 ICMPv6: Add file/build structure that will eventually support ICMPv6 auto-configuration 2015-02-02 17:54:48 -06:00
Gregory Nutt f019d11384 Restore 20Msec default 2015-02-02 14:59:49 -06:00
Gregory Nutt bba3fccd74 Networking: Apply the same ARP fix for the Neighbor Solicitation logic 2015-02-02 14:50:16 -06:00
Gregory Nutt e4c602747b Networking: Fixes another CONFIG_NET_NOINTS issues. When called sem_timedwait() with the network locked, the network stays logcked while we wait which is not what we want (without CONFIG_NET_NOINTS, interrupts are re-enabled while we wait and all is well). 2015-02-02 14:48:11 -06:00
Gregory Nutt fb72b1b1b7 Auto neighbor solicitation is no longer EXPERIMENTAL and is the default for the DK-TM4C129X/ipv6 configuration 2015-02-02 14:09:06 -06:00
Gregory Nutt a07a764d42 ICMPv6: Adds basic logic to support verification that we have the IPv6 address in the Neighbor Table. This feature is important because otherwise the first packet sent to a remote peer will fail (it will be replaced with a Neighbor Solicitation). 2015-02-02 13:44:31 -06:00
Gregory Nutt 4ce94a7e95 IPv6: Eliminate a warning from UDP code 2015-02-02 11:37:22 -06:00
Gregory Nutt b1b8c0e47d IPv6: More framework for automatic neighbor solicition. I think this also corrects and error in a broadcast/multicast address chedk 2015-02-02 11:34:51 -06:00
Gregory Nutt 3385082b99 IPv6: Remove an unusd file (kruft from original IPv6 develoment); Add inital hooks to support automatic Neighbor Solitication 2015-02-02 10:49:50 -06:00
Gregory Nutt 011ff49685 Cosmetic update to a few comments 2015-02-01 12:23:57 -06:00
Gregory Nutt 6d7891c4de Fix compile issues with configs/sim/nettest 2015-02-01 12:00:30 -06:00
Gregory Nutt 898d511e05 Unix domain: Fix some bugs in logic the frees stream FIFOs 2015-02-01 09:16:55 -06:00
Gregory Nutt f8bb77365a Unix domain: Enable logic to clean up the FIFOs underlying stream sockets with those sockets are disconnected. Tehre is still no corresponding clean-up logic in place for Unix domain datagram sockets because the life of the FIFO is not as well known in that case 2015-02-01 08:52:26 -06:00
Gregory Nutt 0fc8d2fcc5 Unix domain: Add options to build in stream or datagram support separately 2015-01-31 07:58:51 -06:00
Gregory Nutt 6b8da59df6 Networking: Add fcntl support for Unix domain sockets and UDP sockets with read-ahead enabled 2015-01-30 14:41:09 -06:00
Gregory Nutt f421723fbd Fix some errors in debug assertions 2015-01-30 13:29:56 -06:00
Gregory Nutt 62b706fa68 If a Unix domain socket is non-blocking, then the underlying FIFO should also be opened non-blocking 2015-01-30 12:43:37 -06:00
Gregory Nutt e8a74527a0 Fix mimatched #if/#endif 2015-01-30 12:28:29 -06:00
Gregory Nutt e86d00913e Unix domain/FIFOs: Fix a race condition between FIFO buffer operations and the opening and closing of FIFOs which necessary when the FIFOs are used to support Unix domain, datagram sockets. The default policy is the deallocate FIFO buffering when the last client closes the pipe. When when used for datagram communicatinos, packets left in the FIFO will be lost. Some like UDP read-ahead is needed: The buffered data in the FIFO needs to be retained until the reader gets a chance to re-open the FIFO. Added an ioctl (PIPEIOC_POLICY) to control the buffer policy. Default (0) is the legacy behavior; Unix domain datagram logic sets the alternative policy so that the packet data persists after the FIFO is closed. 2015-01-30 11:14:24 -06:00
Gregory Nutt 4205d68505 Networking: Any linger UDP read-ahead buffers must be freed when UDP socket is closed 2015-01-30 09:44:00 -06:00
Gregory Nutt 2a39105b3f Unix domain: Add logic to release references to the half duplex FIFO after sendto and recvfrom 2015-01-30 09:28:55 -06:00
Gregory Nutt 52f9a2744c Should fix another warning reported by Travis 2015-01-30 08:57:35 -06:00
Gregory Nutt a76b87305a Networking: Should fix a few compile errors/warnings reported by Travis 2015-01-30 08:54:40 -06:00
Gregory Nutt f357ba6c80 Fix error just introduces into recvfrom. From Macs N. 2015-01-30 08:22:44 -06:00
Gregory Nutt a438784054 Forgot to add a file in the last commit 2015-01-30 07:28:30 -06:00
Gregory Nutt 5736cf10af Networking: Separate TCP poll logic out of net/sockets/net_poll.c and move it into the new net/tcp/tcp_netpoll.c. 2015-01-30 07:25:01 -06:00
Gregory Nutt de91d34a19 Networking: Separate out UDP poll logic from socket/net_poll.c into a new udp/udp_netpoll.c; Create a skeleton local/local_netpoll.c for future poll support on Unix domain sockets. 2015-01-30 07:09:25 -06:00
Gregory Nutt 6eda06888a Eliminate a warning 2015-01-30 06:39:23 -06:00
Gregory Nutt ccc72edc0b Networking: Add UDP read-ahead support and support for poll/select on UDP sockets. From Macs N. 2015-01-30 06:08:26 -06:00
Gregory Nutt 7e7d228cd7 Update a comment 2015-01-30 05:40:28 -06:00
Gregory Nutt 7f95e4fb2c Networking: Fix a major TCP bug introduced with commit e71c09ce9777ff732cb60bd07fb43d85522f79d6. Some connection logic was reorder -- setting the socket got moved BEFORE the point where the check was made if the socket was already connected. The resulting behavior was odd: Telnet would connect, but then when you exit and reconnect, it would fail to connect. But then if try again, it would connect okay. So the symptom was connect-fail-connect-fail-... 2015-01-29 16:30:47 -06:00
Gregory Nutt 8b9958b7ba Fix two compilation errors that occur when Unix domain occurs an IPv6 are enabled 2015-01-29 12:31:29 -06:00
Gregory Nutt 0deca5b039 Unix domain: Various fixes to get apps/examplex/udgram working 2015-01-29 11:05:04 -06:00
Gregory Nutt e5f820a2cd Unix domain: Add sendto logic for SOCK_DRAM protocoal 2015-01-29 10:40:10 -06:00
Gregory Nutt 9abd8e2e64 Fix typo in conditional compilation 2015-01-29 10:08:16 -06:00
Gregory Nutt f6bec26e53 Elminate some warnings with TCP and UDP are disabled 2015-01-29 09:33:45 -06:00
Gregory Nutt ffb16f658f Unix domain: Add initial cut at redvfrom() for Unix domain datagram sockets 2015-01-29 07:47:09 -06:00
Gregory Nutt 1c8ddae655 Fix a typo in comments 2015-01-28 17:51:59 -06:00
Gregory Nutt 72ac79e7a1 Minor fixes after initial tests with apps/examples/udgram 2015-01-28 15:27:54 -06:00
Gregory Nutt dfa642601a Merge remote-tracking branch 'origin/master' into afunix 2015-01-28 14:58:49 -06:00
Gregory Nutt 35a814abca net/socket/accept.c: Ooops.. deleted one too many header files 2015-01-28 14:56:06 -06:00
Gregory Nutt 2c7123197c Networking: Move UDP-specifc parts of sendto() out of socket/sendto.c and into udp/udp_sendto.c. Hook in Unix domain sokcet sendto() logic (still just a stub for the moment) 2015-01-28 13:41:24 -06:00
Gregory Nutt 508f8aefa6 Unix domain socket support is no longer EXPERIMENTAL 2015-01-28 13:22:53 -06:00
Gregory Nutt e4e863e752 Merge remote-tracking branch 'origin/master' into afunix 2015-01-28 12:14:00 -06:00
Gregory Nutt 5c2aad64cd Networking: Missed header file inclusion 2015-01-28 12:09:00 -06:00
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 5f9837dcc8 Merge remote-tracking branch 'origin/master' into afunix
Conflicts:
	nuttx/ChangeLog
2015-01-27 21:47:12 -06:00
Gregory Nutt c4bd6f52b5 Networking: The are issues with the TCP write-ahead buffering if CONFIG_NET_NOINTS is enabled: There is a possibility of deadlocks in certain timing conditions. I have not seen this with the Tiva driver that I have been users but other people claim to see the issue on other platforms. Certainly it is a logic error: The network should never wait for TCP read-ahead buffering space to be available. It should drop the packets immediately.
This was fixed by duplicating most of the IOB interfaces:  The versions that waited are still present (like iob_alloc()), but now there are non-waiting verisons of the same interfaces (like iob_tryalloc()).  The TCP read-ahead logic now uses only these non-waiting interfaces.
2015-01-27 21:23:42 -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 55d94b6748 Unix domain: With these changes I can build a system with no link layer enabled, only Unix domain sockets 2015-01-27 15:26:03 -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 8f29039f42 Unix sockets: Fleshes out the recvfrom() logic 2015-01-27 11:51:24 -06:00
Gregory Nutt 120efa4717 Local sockets: Add basic packet send logic 2015-01-27 08:05:09 -06:00
Gregory Nutt 1f7b40ce15 Local sockets: Remove some ill-conceived logic 2015-01-27 07:03:20 -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 2201c9b449 Add stub files for sending and receiving on FIFOs 2015-01-26 17:28:36 -06:00
Gregory Nutt 1828badd1d Networking: Add FIFO management logic needed to support Unix domain sockets 2015-01-26 13:30:27 -06:00
Gregory Nutt a25f6cb7fd Replace an un-necessary goto 2015-01-25 17:53:01 -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 0def771c8d 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:45:51 -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 81a3daca6d Add basic build structure for Unix domain sockets 2015-01-24 14:03:32 -06:00
Gregory Nutt f4bb7f14e1 Networking: Clean up network status collection and presentation for IPv6 2015-01-24 08:26:12 -06:00
Gregory Nutt 96a53254dd Some minor clean-up of IPv4/6 flags 2015-01-24 07:29:43 -06:00
Gregory Nutt e5d1ff373b Networking: IPv4 and IPv6 work together. This fixes a bug necessary to accomplish that as well as cleaning up a couple of other issues 2015-01-23 16:40:18 -06:00
Gregory Nutt e02ced8c98 Networking: Final fixes. IPv6 pings now work in both directions 2015-01-23 15:10:47 -06:00
Gregory Nutt 8e844a3c27 Networking: Various bugfixes related to IPv6 ping 2015-01-23 14:40:09 -06:00
Gregory Nutt 30f0a942e1 Networking: First cut at ICMPv6 ping logic 2015-01-23 14:06:08 -06:00
Gregory Nutt 51f8e9dbf6 IPv6 is not longer EXPERIMENTAL 2015-01-23 11:43:03 -06:00
Gregory Nutt af71b7a1ed Networking: Eliminate a warning with UDP checksums are suppressed 2015-01-23 11:42:12 -06:00
Gregory Nutt f4ce875711 Networking: Fix issues with UDP packet length and checksum calculations when IPv6 is selected 2015-01-23 09:33:18 -06:00
Gregory Nutt e22848c19c Networking: UDP checksums must always be used with IPv6 2015-01-23 09:31:44 -06:00
Gregory Nutt b51c00c8d7 Networking: Need to set the IPv6 EtherType on outgoing IPv6 packets 2015-01-23 09:30:50 -06:00
Gregory Nutt c77426e550 Cosmetic changes to comments; refresh configuration 2015-01-22 14:46:36 -06:00
Gregory Nutt 1c8dae4eee Correct calculation of initial MSS 2015-01-22 12:29:49 -06:00
Gregory Nutt eac4ea7ae5 Networking: Back out a previous change. It is incorrect 2015-01-22 12:10:16 -06:00
Gregory Nutt 46fc574f0f Forgot to remove some debug instrumentation in the last commit 2015-01-22 10:35:11 -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 4ab8e85dba Networking: Change some debug outputto vebose debug output 2015-01-21 14:23:50 -06:00
Gregory Nutt 4db99c631f Networking IPv6: Fix and error when adding a neighbor to the table. Comparing wrong address. Add more debug info too 2015-01-21 14:13:57 -06:00
Gregory Nutt 7dd07f7179 Networking: IPv6 receipt logic errors. Don't save neighbor address in table when solicitation is recieved. Save it when the advertisement is received 2015-01-21 14:13:03 -06:00
Gregory Nutt 8132afb3de Fix some errors in memcpy arguments. No ampersands on array arguments. 2015-01-21 12:42:22 -06:00
Gregory Nutt 5e23a855ec More typos in debug statements 2015-01-21 10:32:59 -06:00
Gregory Nutt 354bc626ab Fix a typo introduced in the last commit 2015-01-21 10:31:18 -06:00
Gregory Nutt 3202819328 IPv6 -- various fixed from problems found in testing 2015-01-21 10:29:18 -06:00
Gregory Nutt 4498bf9f5b ICMPv6 Neighbor Advertisement: Need to set O flag or response is not used. Also, TTL=255 seems to be more-or-less standard in this message 2015-01-21 08:37:23 -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 cdff532bfa Networking: When sending ICMPv6 advertisements and solicitations, set the NOARP bit so that we don't overwrite the destination MAC address 2015-01-20 15:59:52 -06:00
Gregory Nutt 67a655ecf0 Networking: Add logic to search the Neighbor Table and update the destination address in the output Ethernet header OR to send an ICMPv6 Neighbor Solicitation if there is no entry in the Neighbor table for the IPv6 address 2015-01-20 14:37:02 -06:00
Gregory Nutt 41bb57efea Fix typo in function name 2015-01-20 13:48:42 -06:00
Gregory Nutt 109c7c7437 Networking: Clean up IPv6 Neighbor Table logic 2015-01-20 12:31:56 -06:00
Gregory Nutt d68cd0d8de Networking: Update ICMPv6 logic to RFCs 2015-01-20 11:06:51 -06:00
Gregory Nutt aec4528882 Cosmetic standardization of some naming in comments 2015-01-19 16:02:56 -06:00
Gregory Nutt 33d95bdcee Networking: Hook in ICMPv6 polling operations into periodic network logic 2015-01-19 15:51:40 -06:00
Gregory Nutt 2fd334432c Networking: Fix to ICMPv6 logic: Needs to set source and destination address in the Ethernet header 2015-01-19 14:57:55 -06:00
Gregory Nutt 6d901e4d8b Networking: Costmetic changes 2015-01-19 14:56:35 -06:00
Gregory Nutt 13149536f2 Networking: Update ICMPv6 message numbers 2015-01-19 14:04:16 -06:00
Gregory Nutt bd3d26ccd7 Networking: Fix an IPv6 bug: Wrong network byte order in comparison 2015-01-19 13:21:26 -06:00
Gregory Nutt ce75017d7c Networking: net/neighbor/Make.defs was not being included by Makefile 2015-01-19 10:36:22 -06:00
Gregory Nutt adc91965ed NSH library: Disable put and get commends of TFTP client is not enabled; disable wget command if web client is not enabled 2015-01-19 10:32:46 -06:00
Gregory Nutt 2842b5c5d6 Networking: Fix some problems with debug is enabled; fix a warning 2015-01-19 10:16:37 -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 ea52bda8f9 Networking: Add IPv6 suppport to TCP application level sending logic 2015-01-17 18:18:19 -06:00
Gregory Nutt d8b046f2fb Networking: Fix a simple IPv6 compile error 2015-01-17 17:48:15 -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 4a0eb1f0b1 Networking: Calculation of TCP and UDP checksums differ with IPv4 and IPv6 2015-01-17 12:31:39 -06:00
Gregory Nutt e2933ca4cc Networking: Oops. Forgot to add a couple of files that were part of an earlier commit 2015-01-17 09:35:27 -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 0f364f6ae6 Networking: Move net/ipv6 to net/neighbor 2015-01-16 16:49:48 -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