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
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
5b45605991
Clean a few more IPv6 compilation issues; Add implementation of net_ipv6_maskcmp()
2015-01-15 15:55:52 -06:00
Gregory Nutt
630366272a
Networking: Seperate tcp_input() and udp_input() into seprate functions tcp_ipv4_input(), tcp_ipv6_input(), udp_ipv4_input(), and upd_ipv6_input() than can deal will the data offsets caused by the differing sizes of the IP header.
2015-01-15 15:06:46 -06:00