Gregory Nutt
2576f2b2b1
net/: Add IOCTL support for forwarding IEEE802.15.4 MAC and PHY IOCTLs.
2017-04-15 09:11:52 -06:00
Gregory Nutt
bdd66ea6c7
6loWPAN: Add some checks for the case where there are multiple network devices and multiple link layer protocols.
2017-04-15 08:53:42 -06:00
Gregory Nutt
eee89102d8
networking: IPv4 change of last PR should also be applied to corresponding IPv6 logic.
2017-04-15 06:00:42 -06:00
ahb
6d18300f98
not a clean fix, but at least makes DHCP working with CONFIG_NETDEV_MULTINIC
2017-04-15 11:13:24 +02:00
Gregory Nutt
ad9321b7b7
Trivial changes from review of last PR
2017-04-13 06:16:03 -06:00
Thomas Keh
7e293b28ee
TUN driver: Implement TAP (OSI layer 2) mode.
...
Enable by setting the IFF_TAP flag instead of the IFF_TUN flag in ifr_flags.
2017-04-13 13:07:03 +02:00
Gregory Nutt
f3b10eb073
net procfs: Some long lines were being generated that cause buffer-related problems and corrupted output
2017-04-09 11:06:21 -06:00
Gregory Nutt
f9e402018b
Buttons: Change return value of board_buttons() and the type of btn_buttonset_t to uint32_t so that more than 8 buttons can be supported.
2017-04-09 07:22:49 -06:00
Mark Schulte
35ca733108
pthread.h: Fix rwlock initializer
2017-04-08 12:34:08 -06:00
Gregory Nutt
3f51180cca
6loWPAN: Fix breakage in IPv6 dispatch caused by fixes to HC1 dispatch; Move some standard definitions from internal header file to include/nuttx/net/sixlowpan.h. Update a README.
2017-04-08 10:18:44 -06:00
Gregory Nutt
143b8f9591
6loWPAN: Fix more frame offsets. Reorder some logic that was appropriate only for IPv6 dispatch.
2017-04-08 09:34:30 -06:00
Gregory Nutt
fe722e44b9
6loWPAN: Fix a faulty assumption about relationship between some sizes and offsets.
2017-04-08 08:14:42 -06:00
Gregory Nutt
ee6700dbc7
Update README's and some comments.
2017-04-08 07:30:20 -06:00
Gregory Nutt
60f0186258
6loWPAN: Add calculation of TCP header size. It is not a constant.
2017-04-07 17:04:57 -06:00
Gregory Nutt
f264e6aec2
6loWPAN: Fixes for fragmented packets. Change fixes some things, breaks other. Lots more to do.
2017-04-07 15:27:53 -06:00
Gregory Nutt
47647eac8f
6loWPAN: Correct some fragmentation handling
2017-04-07 09:49:10 -06:00
Gregory Nutt
19f19e31eb
6loWPAN: Correct some list handling logic.
2017-04-07 08:13:18 -06:00
Gregory Nutt
58d0c1f228
6loWPAN: Back out part of the last commit. That included two fixes for a problem. One that didn't work and is unnecessary and one that is necessary. The commit removes the former.
2017-04-06 18:11:04 -06:00
Gregory Nutt
494d996826
6loWPAN: Fix a few UDP-related issues.
2017-04-06 17:57:15 -06:00
Gregory Nutt
27c65c3f22
6loWPAN: Add network IOCTL support to set the node address
2017-04-06 15:58:00 -06:00
Gregory Nutt
50170a6108
6loWPAN: Fixes for UDP packet transfers.
2017-04-06 11:57:43 -06:00
Gregory Nutt
1fa300f011
6loWPAN: Fix uncompressing of IPv6 encoded packet.
2017-04-06 08:32:18 -06:00
Gregory Nutt
18518eae06
6loWPAN: Fix another HC06 indexing problem.
2017-04-05 18:14:13 -06:00
Gregory Nutt
d0aa22fb80
6loWPAN: Costmetic changes.
2017-04-05 17:26:12 -06:00
Gregory Nutt
72bffeddcc
6loWPAN: Fixes another HC06 indexing problem.
2017-04-05 14:31:44 -06:00
Gregory Nutt
b7c55660cb
6loWPAN: Correct more address manipulations.
2017-04-05 13:04:22 -06:00
Gregory Nutt
cb70ce7d3c
6loWPAN: Correct some IPv6 addresses and operations on IPv6 addresses.
2017-04-05 12:11:09 -06:00
Gregory Nutt
e61fd2d45b
6loWPAN input: Fix a counting error. Input packet sizes were being calculated a little too big.
2017-04-05 09:14:28 -06:00
Gregory Nutt
3b21545480
sixlowpan: Minor reorganization to removed some unused global varialbes and structure fields.
2017-04-05 08:40:30 -06:00
Gregory Nutt
38eed0a847
6loWPAN: Various fixes for building with different configurations; Some minimal testing of HC06
2017-04-04 17:06:17 -06:00
Gregory Nutt
ca2c18c023
6loWPAN: Fix return value and other issues in sixlowpan_frame_process
2017-04-04 16:12:16 -06:00
Gregory Nutt
34da085b40
6loWPAN: Yet another fix related to buffer offsets primarily.
2017-04-04 14:27:21 -06:00
Gregory Nutt
fdf706a3a9
6loWPAN: Additional fixes related to buffer offsets primarily.
2017-04-04 13:52:02 -06:00
Gregory Nutt
1f394a61b3
6loWPAN: Add option to dump buffers. Fix some issues with calculation of the IEEE802.15.4 header size.
2017-04-04 12:31:22 -06:00
Gregory Nutt
a6ae7d4ae3
6loWPAN: Fix an error in how reassembly timeouts work.
2017-04-04 09:08:48 -06:00
Gregory Nutt
88fd667603
6loWPAN: Fix a pointer initialization problem.
2017-04-04 07:38:48 -06:00
Gregory Nutt
db48f03192
6loWPAN: Fix some compilation problems with HC1 compression is enabled.
2017-04-03 17:04:56 -06:00
Gregory Nutt
cc9445624f
6loWPAN: Correct a couple of tiny but fatal bugs.
2017-04-03 16:17:10 -06:00
Gregory Nutt
7cb34d969d
6loWPAN: More fixes from early debug.
2017-04-03 15:25:36 -06:00
Gregory Nutt
2c06f8ab78
6loWPAN: Updates/fixes from early testing with the IEEE802.15.4 loopback driver.
2017-04-03 12:01:04 -06:00
Gregory Nutt
e9d831ac60
wireless/ieee802154: Add initialization logic for loopback driver; configs/sim: Add configuration for testing 6loWPAN; net/sixlowpan: Fix for compilation with debug output enabled.
2017-04-03 09:15:00 -06:00
Kivilinna
ee4a8336ce
net/socket/accept: fix building with CONFIG_NET_LOCAL_STREAM
2017-04-03 07:38:23 -06:00
Jussi Kivilinna
ae1265c01e
net/socket/send: fix building without CONFIG_NET_6LOWPAN
2017-04-03 07:36:29 -06:00
Gregory Nutt
1b6630ee75
6loWPAN: Fix compile errors and warnings when building the complete 6loWPAN configuration.
2017-04-02 17:46:22 -06:00
Gregory Nutt
3367312401
6loWPAN: Forgot to add files with last commit.
2017-04-02 14:45:14 -06:00
Gregory Nutt
392c90b020
6loWPAN: Fix last checksum issues. Contiki 6loWPAN port is now complete (but completely untested)
2017-04-02 14:30:01 -06:00
Gregory Nutt
6e2f8f3aa3
6loWPAN: Add logic to fill in UDP/TCP headers. Still missing some checksum logic.
2017-04-02 13:27:53 -06:00
Gregory Nutt
663c48c329
6loWPAN: Hook 6loWPAN output into path of output from TCP state machine.
2017-04-02 12:01:04 -06:00
Gregory Nutt
76406af71b
6loWPAN: Add support for sendto()
2017-04-02 11:15:46 -06:00
Gregory Nutt
ec3c40d99d
6loWPAN: Finishes port of Contiki HC06 compression logic
2017-04-02 10:06:31 -06:00
Gregory Nutt
d16fc98c74
6loWPAN: Add HC06 decompression logic; Remove outboard compressor hooks.
2017-04-02 08:08:35 -06:00
Gregory Nutt
5a56d3cce7
6loWPAN: Change ordering of some operations so that the IOB is available at the time that headr compression is perfomed.
2017-04-01 18:24:21 -06:00
Gregory Nutt
5af0909275
6loWPAN: A little HC1 compression logic.
2017-04-01 15:05:38 -06:00
Gregory Nutt
64afba55dd
6loWPAN: Add a little bit of HC1 compression logic.
2017-04-01 13:42:00 -06:00
Gregory Nutt
7a4af75fcf
6lowWPAN: Add frame decompression logic to IEEE802.15.4 input
2017-04-01 12:34:08 -06:00
Gregory Nutt
52ead055fd
6loWPAN: Beginning of IEEE802.15.4 frame input logic.
2017-04-01 09:07:49 -06:00
Gregory Nutt
cccbb6c693
6loWPAN: Clean up some send logic; remove sniffer.
2017-03-31 16:33:21 -06:00
Gregory Nutt
732f0855c6
6loWPAN: Fleshes out framwork for IEEE802.15.4 send. But still has some gaping holes.
2017-03-31 15:09:07 -06:00
Gregory Nutt
85e1d15835
6loWPAN: Fix more configuration related issues detected by addition of 6loWPAN
2017-03-31 12:06:21 -06:00
Gregory Nutt
eb446d5261
net/: Permit net/neighbor to build when IPv6 is defined, but not Ethernet. Needs more work to support 6loWPAN. Also included, some minor configuration updates for 6loWPAN.
2017-03-31 11:15:16 -06:00
Gregory Nutt
a771ec65d6
6loWPAN: Fix a spelling error in macro name.
2017-03-31 10:47:40 -06:00
Gregory Nutt
ad89c88eb3
net/: Fix MULTINIC/MULTILINK selection when 6loWPAN selected.
2017-03-31 10:47:12 -06:00
Gregory Nutt
755b05ff30
TCP/IPv6: Fix a compile issue when IPv6, but not IPv4 is enabled.
2017-03-31 10:45:39 -06:00
Gregory Nutt
44f1326046
6loWPAN: Repartition device-specific vs. global data -- again.
2017-03-31 10:04:29 -06:00
Jussi Kivilinna
cd3c9634c8
Add user-space networking stack API (usrsock)
...
User-space networking stack API allows user-space daemon to
provide TCP/IP stack implementation for NuttX network.
Main use for this is to allow use and seamless integration of
HW-provided TCP/IP stacks to NuttX.
For example, user-space daemon can translate /dev/usrsock
API requests to HW TCP/IP API requests while rest of the
user-space can access standard socket API, with socket
descriptors that can be used with NuttX system calls.
2017-03-31 08:58:14 -06:00
Gregory Nutt
c999519bf2
6loWPAN: A little more IOB-related logic.
2017-03-31 08:27:39 -06:00
Gregory Nutt
0427d6c726
6loWPAN: Replace frame buffer with a list of IOBs.
2017-03-31 07:54:58 -06:00
Gregory Nutt
c5d55c62f4
6loWPAN: Pre-format frames in an IOB change before sending.
2017-03-30 20:13:59 -06:00
Gregory Nutt
1a12682f23
6loWPAN: Fix some MTU-related craziness.
2017-03-30 17:18:18 -06:00
Gregory Nutt
9aabb44118
6loWPAN: Add some comments, move a function
2017-03-30 16:30:04 -06:00
Gregory Nutt
2aca4d4ebd
6loWPAN: Add a little more send logic.
2017-03-30 15:38:56 -06:00
Juha Niskanen
21545ab643
net/local: connect: Fix warning with gcc-arm-none-eabi-5-2016q1. Using compiler from gcc-arm-none-eabi-5-2016q1 toolchain:
...
gcc version 5.3.1 20160307 (release) [ARM/embedded-5-branch revision 234589] (GNU Tools for ARM Embedded Processors)
gives error:
local/local_connect.c:188:7: error: '_local_semtake' is static but used in inline function 'local_stream_connect' which is not static [-Werror]
this is due to compiler enforcing ISO/IEC 9899:1999 6.7.4.3: "An inline definition of a function with external linkage shall not contain a definition of a modifiable object with static storage duration, and shall not contain a reference to an identifier with internal linkage."
Fix by making inlined caller to have internal linkage as well.
2017-03-30 06:54:59 -06:00
Gregory Nutt
2e48af78e7
6loWPAN: Repartition some logic
2017-03-29 18:07:52 -06:00
Gregory Nutt
c8cb2009c8
6loWPAN: Forget to add a file before last commit.
2017-03-29 17:32:12 -06:00
Gregory Nutt
8083a0437e
6loWPAN: Add beginning of some compression hooks to send logic.
2017-03-29 15:44:24 -06:00
Gregory Nutt
a6148cdb7c
6loWPAN: Adding more socket send-related logic.
2017-03-29 14:28:51 -06:00
Gregory Nutt
5fb222180c
6loWPAN: IEEE802.15.4 MAC driver will need a special form of the network device structure to manage fragmentation of the large packet into frames.
2017-03-29 10:17:34 -06:00
Gregory Nutt
ae5b5ae431
Add Rime address macros
2017-03-28 17:26:53 -06:00
Gregory Nutt
c3c8f8ed31
6loWPAN: Simplify some logic in send() if there is only an IEEE802.15.4 MAC
2017-03-28 16:14:58 -06:00
Gregory Nutt
64933246c3
6loWPAN: Tie 6loWPAN send into common socket send logic.
2017-03-28 14:08:54 -06:00
Gregory Nutt
75a8ad636c
6loWPAN: Framework to support commpress/uncompress operations.
2017-03-28 12:23:19 -06:00
Gregory Nutt
25496936cc
6loWPAN: Add dummy files to handle 6loWPAN formmatted input and output packets.
2017-03-28 11:35:46 -06:00
Gregory Nutt
d9e32ee337
6loWPAN: More configurtion settings.
2017-03-28 11:16:28 -06:00
Gregory Nutt
f32fe172d4
6loWPAN: Add HC06 initialization
2017-03-28 10:47:25 -06:00
Gregory Nutt
898b769910
6loWPAN: Add framework for initialization; move globals into a separate file.
2017-03-28 09:32:52 -06:00
Gregory Nutt
913daa908a
6loWPAN: Add some more configuration settings that will be needed.
2017-03-28 09:00:25 -06:00
Gregory Nutt
65e95b95f2
Add a little more 6loWPAN logic
2017-03-27 18:15:20 -06:00
Gregory Nutt
a522fc4f34
6loWPAN: Rename net/6lowpan to net/sixlowpan; Add Contike sixlowpan.h to include/nuttx/net
2017-03-27 14:53:52 -06:00
Pascal Speck
1b266096c7
Merged in iktek01/nuttx (pull request #284 )
...
- fixed wrong assert on udp dgram send
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-03-21 13:33:12 +00:00
Pascal Speck
8f91c73304
- fixed wrong assert on udp dgram send
2017-03-17 15:13:03 +01:00
Gregory Nutt
aad82bcd9f
Cosmetic change
2017-03-13 18:01:21 -06:00
Gregory Nutt
888cff30dc
Fix some errors in the previous commit
2017-03-13 10:14:38 -06:00
Gregory Nutt
b808084e57
Move wireless IOCTLs from include/nuttx/net/ioctl to include/nuttx/wireless/wireless.h. Add some linux compatible structures to use with the IOCTL commands.
2017-03-13 09:51:31 -06:00
Gregory Nutt
430b52c977
Networking: Add registration support for integrated ieee80211 wireless drivers. Rename CONFIG_IEEE802154 to CONFIG_WIRELESS_IEEE8021514 following the convention of including the location of the configuration variable as a part of its name.
2017-03-12 12:50:41 -06:00
Janne Rosberg
3331e9c49a
STM32 OTGHS host: stm32_in_transfer() fails and returns NAK if a short transfer is received. This causes problems from class drivers like CDC/ACM where short packets are expected. In those protocols, any transfer may be terminated by sending short or NUL packet.
2017-03-07 06:58:59 -06:00
Pascal Speck
1094f85bda
Merged in iktek01/nuttx (pull request #231 )
...
- fixed a nullptr-dereference on iob_clone
Approved-by: Gregory Nutt
2017-03-01 15:24:53 +00:00
Pascal Speck
40433bd7f7
- fixed a nullptr-dereference on iob_clone
2017-03-01 12:13:06 +01:00
Gregory Nutt
ba2b345990
Remove a few remaining use of the obsolteted 'Compilation Switches' program section
2017-01-22 08:57:18 -06:00
Gregory Nutt
518d19c0be
Update comments
2017-01-18 07:53:28 -06:00
Gregory Nutt
9f7d332028
Minor changes from the review of the last PR
2017-01-18 07:32:27 -06:00
Pascal Speck
2e074ca4f9
- Fixed some issues that prevented ipv6 to work with ipv4 enabled.
2017-01-18 10:57:15 +01:00
Gregory Nutt
b52e4e5ecd
Move cancellation point definitions to their own header file.
2016-12-10 09:08:26 -06:00
Gregory Nutt
bc3ca25cc7
Cancellation points: Close up some logic to eliminte some race conditions.
2016-12-10 08:36:58 -06:00
Gregory Nutt
38b9ab09d9
Fix copy-and-paste gone wrong.
2016-12-09 17:28:03 -06:00
Gregory Nutt
64ffd89ee1
Another missing header file inclusion.
2016-12-09 17:25:00 -06:00
Gregory Nutt
16be9b332e
More cancellation points
2016-12-09 15:17:58 -06:00
Gregory Nutt
f45727dffc
Fix some kruft left behind in last big commit.
2016-12-03 16:53:31 -06:00
Gregory Nutt
7467329a98
Eliminate CONFIG_NO_NOINTS. Lots of files changed -> lots of testing needed.
2016-12-03 16:28:19 -06:00
Gregory Nutt
00beb665f5
net/: Remove references to CONFIG_NET_MULTIBUFFER
2016-11-29 16:12:39 -06:00
Gregory Nutt
0804286ad3
arch/: Add option to use low-priority work queue to all Ethernet drivers in arch that support CONFIG_NET_NOINTS.
2016-11-19 09:20:01 -06:00
Gregory Nutt
936b55f608
drivers/net: Add option to use low-priority work queue to all drivers in drivers/net. Not yet added to all architecture-specific network drivers.
2016-11-18 09:22:49 -06:00
Gregory Nutt
b0dffdc2ca
Fix a number of header files with mismatched 'extern C {' and '}'
2016-11-05 07:25:05 -06:00
Gregory Nutt
6ff6cca1a0
Fix some mispellings of semaphore
2016-11-03 17:48:36 -06:00
Gregory Nutt
2d057c28c8
net: Disable priority inheritance on all semaphores used for signaling
2016-11-03 12:17:02 -06:00
Gregory Nutt
1dabbd8489
Costmetic changes
2016-10-24 16:18:30 -06:00
Vladimir Komendantskiy
e5cffc40fc
NET_TUN=y => NET_MULTIBUFFER=y
2016-09-20 13:06:47 -06:00
Gregory Nutt
9c3bade7b4
net/tcp: tcp_ipvX_bind() not actually using the ported selected with port==0. Also removes duplicate call to pkt_input(). Issues noted by Pascal Speck.
2016-08-30 07:59:57 -06:00
Gregory Nutt
9a44f3017b
Fix a few typos in the last commit
2016-07-19 13:40:54 -06:00
Gregory Nutt
6e6c04f778
Rename file_poll as fdesc_poll. The file_ namespace is used for other things.
2016-07-15 11:21:11 -06:00
Gregory Nutt
88a03ae3ec
Break out internal interface psock_ioctl()
2016-07-06 07:30:09 -06:00
Gregory Nutt
2a751068e6
Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err().
2016-06-20 12:44:38 -06:00
Gregory Nutt
43eb04bb8f
Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info().
2016-06-20 11:59:15 -06:00
Gregory Nutt
d40a473f72
Without lowsyslog() *llwarn() is not useful. Eliminate and replace with *warn().
2016-06-20 09:37:08 -06:00
Gregory Nutt
2b445ddccc
Remove lowsyslog(). The new syslog() includes all of the functionality of lowsyslog(). No longer any need for two interfaces.
2016-06-20 08:57:08 -06:00
Jakub Łągwa
338b915008
While working with version 7.10 I discovered a problem in TCP stack that could be observed on high network load. Generally speaking, the problem is that RST flag is set in unnecessary case, in which between loss of some TCP packet and its proper retransmission, another packets had been successfully sent. The scenario is as follows: NuttX did not receive ACK for some sent packet, so it has been probably lost somewhere. But before its retransmission starts, NuttX is correctly issuing next TCP packets, with sequence numbers increasing properly. When the retransmission of previously lost packet finally succeeds, tcp_input receives the accumulated ACK value, which acknowledges also the packets sent in the meantime (i.e. between unsuccessful sending of lost packet and its proper retransmission). However, variable unackseq is still set to conn->isn + conn->sent, which is truth only if no further packets transmission occurred in the meantime. Because of incorrect (in such specific case) unackseq value, few lines further condition if (ackseq <= unackseq)is not met, and, as a result, we are going to reset label.
2016-06-20 06:55:29 -06:00
Gregory Nutt
7d0950bb22
net/: Change some nerr() ERRORS to nwarn() WARNINGS. Anomolous network events are not errors.
2016-06-12 07:09:37 -06:00
Gregory Nutt
f4fcdcdb4d
net/: Change some *err() message to *info() messages if what was a *dbg() message does not indicate and error condition.
2016-06-11 17:37:21 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
86b79b33cf
Reserver the name 'err' for other purposes
2016-06-11 14:40:07 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
c98f00a93b
Update comments; trivial addtion to a document.
2016-06-10 09:36:59 -06:00
Gregory Nutt
a81a467a40
Networking: In both IPv6 and IPv4 incoming logic: (1) Should check if the packet size is large enough before trying to access the packet length in the IP header. (2) In the comparison between the IP length and the full packet length, need to subtract the size of the link layer header before making the comparison or we will get false positives (i.e., the packet is really too small).
2016-06-09 13:16:47 -06:00
Gregory Nutt
4f208600aa
Replace confusing references to uIP with just 'the network'
2016-05-30 09:31:44 -06:00
Steve
bd3ef36eda
SUMMARY
...
-------
This patch enhances networking support for the simulation under Linux.
Includes updated support for Linux TUN/TAP, and the addition of support for
Linux bridge devices.
CHANGES
-------
o Check to see if the d_txavail callback is present before calling it in
the arp send code. This prevents a segfault when simulating the telnetd
daemon with arp send enabled.
o Adjust the simulation's netdriver_loop() so it will detect and respond to
ARP requests.
o Do not attempt to take the tap device's hardware address for use by the
simulation. That hardware address belongs to the host end of the link,
not the simulation end. Generate a randomized MAC address instead.
o Do not assign an IP address to the interface on the host side of the TAP
link.
+ Provide two modes: "host route" and "bridge".
+ In host route mode, maintain a host route that points any traffic for the
simulation's IP address to the tap device. In this mode, so long as the
simulation's IP is a free address in the same subnet as the host, no
additional configuration will be required to talk to it from the host.
Note that address changes are handled automatically if they follow the
rule of if-down/set-address/if-up, which everything seems to.
+ In bridge mode, add the tap device to the specified bridge instance. See
configs/sim/NETWORK-LINUX.txt for information and usage examples. This
enables much more flexible configurations (with fewer headaches), such as
running multiple simulations on a single host, all of which can access
the network the host is connected to.
o Refresh configurations in configs/sim where CONFIG_NET=y. They default
to "host route" mode.
o Add configs/sim/NETWORK-LINUX.txt
CAVEATS
-------
- The MAC address generation code is extremely simplistic, and does not
check for potential conflicts on the network. Probably not an issue, but
something to be aware of.
- I was careful to leave it in a state where Cygwin/pcap should still work,
but I don't have a Windows environment to test in. This should be
checked.
- I don't know if this was ever intended to work with OS X. I didn't even
try to test it there.
NOTES
-----
- Was able to get telnetd working and simulate nsh over telnet, but only so
long as listen backlogs were disabled.
There appears to be a bug in the backlog code where sockets are being
returned in SYN_RCVD state instead of waiting until they're ESTABLISHED;
if you perform an immediate send after accepting the connection, it will
confuse the stack and the send will hang; additionally, the connection
will never reach ESTABLISHED state.
Can be worked around by adding a sleep(1) after the accept in telnetd. I
don't have the necessary knowledge of the IP stack to know what the
correct fix is.
2016-05-20 17:36:14 -06:00
Gregory Nutt
e523c93391
Several Makefiles: Add .PHONY definitions to prevent 'clean up to date' message weirdness.
2016-05-10 15:44:06 -06:00
Gregory Nutt
3ca5a94515
VNC: Add basic message receipt logic
2016-04-17 09:17:37 -06:00
Gregory Nutt
39a37d6aa8
Separate out psock_listen() and psock_accept() for internal use by the OS
2016-04-14 08:39:48 -06:00
Gregory Nutt
03a77c1d18
Remove most unused references to CONFIG_NET_MULTICAST. Rename other uses of CONFIG_NET_MULTICAST to avoid naming comflicts.
2016-03-20 13:16:17 -06:00
Gregory Nutt
2dd9777c7e
Fix a backward conditional test introduced with the last commit
2016-03-20 09:58:07 -06:00
Gregory Nutt
00b44959ea
TCP poll: TCP poll events can really only being processed when the poll from the correct device is received.
2016-03-20 08:39:15 -06:00
Gregory Nutt
4639cdd894
TCP timeouts: Fix some logic when there are multiple network interfaces. In this case, TCP timeout events can really only being processed when the poll from the correct device is received.
2016-03-20 08:19:00 -06:00
Gregory Nutt
fdddebbffd
net/: Finish IEEE802154->6LOWPAN renaming; remove PF_IEEE804154; Move 6LoWPAN menu to inside Internet Protocol Menu
2016-02-27 07:26:20 -06:00
Gregory Nutt
309beae2cd
Move drivers/ieee802154 to drivers/wireless/ieee802154; rename include/nuttx/net ieee802154 to 6lowpan.h
2016-02-26 15:03:16 -06:00
Gregory Nutt
2f28ca86c2
Clean up some naming; rename net/ieee802154 to net/6lowpan
2016-02-26 10:08:36 -06:00
Gregory Nutt
2c95fef501
Remove some empty code section comments
2016-02-26 07:35:55 -06:00
Gregory Nutt
8db55f6493
Back out most of previous commit
2016-02-26 06:45:37 -06:00
Gregory Nutt
b0ea870bcc
Remove some empty code section comments
2016-02-25 18:34:36 -06:00
Gregory Nutt
9ff645a298
drivers/ieee802154: Add a skeleton IEEE802154 driver
2016-02-25 15:11:30 -06:00
Gregory Nutt
0b441ff1f4
net/: Add basic IEEE 802.15-4 socket support
2016-02-25 14:01:22 -06:00
Gregory Nutt
e4e6181098
net/: IEEE 802.15-4 basic build build structure.
2016-02-25 10:43:51 -06:00
Gregory Nutt
bcbd8ee964
Networking: Cosmetic change
2016-02-24 19:02:51 -06:00
Gregory Nutt
d19e9cc448
networking: cosmetic changes
2016-02-24 16:10:20 -06:00
Gregory Nutt
0fb035f76b
Standardize some naming in code section comments
2016-02-21 18:09:04 -06:00
Gregory Nutt
aa3e778dc6
nuttx/net: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-14 08:38:44 -06:00
Gregory Nutt
68ee9bcaed
Refresh modules + plus minor clean-up from previous commits
2016-02-08 15:13:14 -06:00
Gregory Nutt
166ad58849
DHCPD no longer calls directly into the OS, but uses network IOCTL commands to modify the ARP table. Plus, fix a warning.
2016-02-08 12:08:18 -06:00
Gregory Nutt
0af9a197ac
ARP: Add IOCTL commands to manage the ARP table
2016-02-08 11:17:22 -06:00
Gregory Nutt
0554de6c50
Networking: Simply devif_timer; Consolidate duplicated devif_poll logic
2016-02-05 07:36:07 -06:00
Gregory Nutt
b5024263e9
Networking: Add a trivial cast
2016-02-03 18:12:19 -06:00
Gregory Nutt
41164740a5
Network: Improve half-second conversion
2016-02-03 13:08:19 -06:00
Gregory Nutt
dea24c503a
Networking: Remove the HSEC argument from devif_timer.
2016-02-03 12:12:41 -06:00
Gregory Nutt
7fb7bef2d2
Fix an error introduced with last IOB fix
2016-01-26 09:55:17 -06:00
Gregory Nutt
365e015010
iob_alloc_qentry() has the same issue that was recently fixed in iob_alloc()
2016-01-25 17:46:59 -06:00
Gregory Nutt
91b762aa86
Networking: Fix an error that I introduced with my last review changes
2016-01-22 17:35:06 -06:00
Andrew Webster
5c589e5b9c
Net: use nlldbg since an iob can be added from an interrupt
2016-01-22 16:23:31 -06:00
Andrew Webster
49e5cc5a6f
TCP: check for an active connection before cleaning it up
...
If there is no active connection (e.g. it is waiting in accept), then
the connection object, which doesn't yet exist, should not be cleaned
up when the socket is closed.
2016-01-22 16:22:09 -06:00
Andrew Webster
5e3023bef1
TCP: return from write when there is no buffer space
...
During a write, if there is no more buffer space for the user data,
return the amount that was written instead of waiting until there
is free space. If nothing has been written yet, then block as before.
This solves a deadlock that occurs if the user data is too large to
fit in the available buffer: the write thread will block before any
data is added to the write queue, leaving no possibility that more
buffers will free up when they are ACKed (since they have not yet been
sent). The write thread will then block forever and hold all of the
buffers.
2016-01-22 16:19:20 -06:00
Andrew Webster
e221777a7a
TCP: post buffer semaphore before re-acquiring both
...
TCP uses two semaphores for buffers, one for the entire buffer pool,
and one for the number of allowed buffers for readahead. To avoid
double taking a semaphore under heavy load, release the semaphore
after waiting before trying to acquire both again.
2016-01-22 16:15:10 -06:00
Andrew Webster
4875c6bbe3
TCP: check for connection before deleting it
...
It is possible for a socket to have no connection, for example if a TCP
socket is waiting in accept. This checks for this condition in case the
socket is closed from a different thread.
2016-01-22 15:59:15 -06:00
Andrew Webster
f1ef2c6cde
TCP: attempt to flush the write buffers before closing
...
When a socket is closed, it should make sure that any pending write
data is sent before the FIN is sent. It already would wait for all
sent data to be acked, however it would discard any pending write
data that had not been sent at least once.
This change adds a check for pending write data in addition to unacked
data. However, to be able to actually send any new data, the send
callback must be left. The callback should be freed later when the socket
is actually destroyed.
2016-01-22 15:58:02 -06:00
Andrew Webster
cdd187a7f3
TCP: check for sndcb before using it
2016-01-22 15:54:45 -06:00
Andrew Webster
df211ee46a
TCP: add writable check during poll
...
When a poll requesting POLLOUT happens, the poll should return
immediately if a write will not block. This change adds that, as
opposed to the old behaviour of blocking until a timer from the
Ethernet driver eventually triggers the poll to complete.
This is only implemented for buffered TCP. Unbuffered TCP should
behave as before.
2016-01-22 15:52:14 -06:00
Andrew Webster
99f5fcda70
iTCP: use lowlevel syslog to avoid infinte recursion
...
If stdout is a socket (e.g. telnet), then the debug message will cause
more TCP data to be sent, which generates another message, and so on
2016-01-22 15:41:48 -06:00
Gregory Nutt
f348e68069
Update to use 64-bit timer when available
2016-01-21 11:54:26 -06:00
Gregory Nutt
8e9f884eb7
Step 1 in /etc/resolv.conf support
2016-01-13 15:06:44 -06:00
Gregory Nutt
f87358faf9
correct some conditional compilation; update some comments
2016-01-12 07:05:50 -06:00
Gregory Nutt
1608b7c33f
Some networking logic was used helpers from apps/netutils. Not good. Quick fix is to duplicate logic
2016-01-09 15:56:08 -06:00
Gregory Nutt
795ddd7e80
OS modules: Add basic procfs support. A module registry that will eventually be used to support lsmod
2015-12-12 17:42:25 -06:00
Gregory Nutt
59b912477e
Fix some warnings: Mismatched prototypes
2015-12-05 10:36:00 -06:00
Gregory Nutt
c16648b3fd
Most cosmetic but also includes a fix for a compile problem from Ken Pettit
2015-12-01 12:54:57 -06:00
Gregory Nutt
6af3ba78b9
Remove CONFIG_NET_PINGADDRCONF. This was a uIP way of assigning IP addresses, but is not standard and not a appropriate feature in general.
2015-12-01 07:48:56 -06:00
Gregory Nutt
eb8668b0f7
net/: Add procfs support for network device status
2015-11-27 16:39:14 -06:00
Gregory Nutt
9d8462aa23
net/: Move net_procfs.c to net/procfs/. Partition logic a little better to make space to support net device procfs as well
2015-11-27 13:53:33 -06:00
Gregory Nutt
e4236941c6
net/net_procfs.c: Add basic support for networking procfs entries
2015-11-27 12:33:58 -06:00
Gregory Nutt
2a93c66948
include/nuttx/net/netdev.h and several Ethernet drivers in arch/: Most network drivers to not support statistics. Those that do only support them when DEBUG is enabled. Each driver collects an architecture specific set of statistics and there is no mechanism in place to view those statistics. Thus, the driver feature was mostly useless. This change standardizes the driver statistics and puts the definition in the common network device structure defined in netdev.h where they can be accessed by network applications. All Ethernet drivers that collect statistics have been adapted to use these common statistics.
2015-11-26 12:08:09 -06:00
Gregory Nutt
6209c51206
net/: More clean-up of spacing/alignment issues
2015-10-08 15:10:04 -06:00
Gregory Nutt
af086c40ff
Remove dangling whitespace
2015-10-04 15:28:54 -06:00
Gregory Nutt
0b12dbf95d
Fix some spacing problems
2015-10-04 15:04:00 -06:00
Gregory Nutt
cb9e27c3b0
Standardize naming used for public data and function groupings
2015-10-02 16:30:35 -06:00
Gregory Nutt
fec3d2cf62
recvfrom: Fixes for compilation with only raw, packet sockets
2015-09-14 09:06:08 -06:00
Gregory Nutt
a7e43c7fdb
Eliminate some warnings
2015-09-08 09:20:18 -06:00
Gregory Nutt
d700793077
Fix a compile error when IPv6 is enabled
2015-09-07 16:34:25 -06:00
Alan Carvalho de Assis
f10a103108
Fix tcp_send_unbuffered when NET_ETHERNET is not defined.
2015-09-07 13:31:35 -06:00
Gregory Nutt
9c66bde5b0
Fix typo in pre-processor command noted by Pierre-noel Bouteville. Also move # of pre-processior command to column 1
2015-09-05 09:10:48 -06:00
Gregory Nutt
14297afb83
Cosmetic fix to break up long line
2015-09-03 07:33:50 -06:00
Gregory Nutt
36f4d0e9fc
Fix a error in some comments
2015-09-02 20:03:28 -06:00
Gregory Nutt
0e2986f131
net/tcp: The logic that binds a specific networkd device to a connection was faulty for the case of multiple network devices. On bind(), the local address should be used to associate a device with the connection (if the local address is not INADDR_ANY); On connect(), the remote address should be used (in case the local address is INADDR_ANY). On accept(), it does not matter but the remote address is the one guarenteed to be available.
2015-09-02 19:48:31 -06:00
Gregory Nutt
9fcad39a45
Trivial typo fix
2015-09-02 10:09:33 -06:00
Paul A. Patience
3b89eabd50
Correct #if to #ifdef when the macro can be undefined. Fix bug in AT24XX driver: it should compare AT24XX_ADDRSIZE to 2.
2015-09-01 13:52:29 -04:00
Gregory Nutt
63071a563a
Costmetic changes
2015-08-27 10:38:43 -06:00
Gregory Nutt
b1e09d4847
net/socket and net/tcp: Fix a problem in whent there are multiple network devices. Polls were being sent to all TCP sockets before. This is not good because it means that packets may sometimes be sent out on the wrong device. That is inefficient because it will cause retransmissions and bad performance. But, worse, when one of the devices is not Ethernet, it will have a different MSS and, as a result, incorrect data transfers can cause crashes. The fix is to lock into a single device once the MSS is locked locked down.
2015-08-27 09:06:46 -06:00
Gregory Nutt
3bcdb218ff
Networking: Get rid of the tcp_mss macro. It is confusing and only obfuscates what is really going on
2015-08-27 08:39:17 -06:00
Gregory Nutt
007aabc46f
Fix a badly formatted comment
2015-08-26 19:18:04 -06:00
SaeHie Park
a268e0aeb9
Fix a typo from an earlier commit
2015-08-26 18:12:58 -06:00
Saehie ParK
e6dbd3d903
Networking: Fix network device name assignment logic for the case of the local loopback device. There is only one local loopback network device and it is unnumbered
2015-08-25 20:03:25 -06:00
Anton D. Kachalov
b125c36849
Field `d_sndlen' is unsigned. It is always >= 0.
...
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2015-08-26 00:16:52 +03:00
SaeHie Park
e983e547e1
Networking: Correct return value from psock_tcp_accept(). From SaeHie Park
2015-08-25 07:15:21 -06:00
Gregory Nutt
79aa3d40b0
Kconfig: CONFIG_NET_MULTILINK and CONFIG_NET_MULTINIC must be support if the loopback device and any real network device are selected
2015-08-25 06:51:15 -06:00
Gregory Nutt
3c5f817513
Networking: Local loopback is basically functional and is no longer EXPERIMENTAL
2015-08-24 13:58:57 -06:00
Gregory Nutt
933d74e5c1
Networking: With these changes, I can ping the local loopback device from the simulator
2015-08-24 13:49:12 -06:00
Gregory Nutt
0b012c7978
Fix some initial loop back device compilation errors; mark configuration as EXPERIMENTAL
2015-08-24 11:29:54 -06:00
Gregory Nutt
07bdff9ef7
Networking: Add NetDB support for the local loopback device
2015-08-24 10:08:26 -06:00
Gregory Nutt
e21501c699
Merge remote-tracking branch 'origin/master' into localhost
2015-08-24 08:29:36 -06:00
Gregory Nutt
569ff602ea
Networking: Remove bogus references to PPP as a link layer protocol
2015-08-24 08:29:07 -06:00
Gregory Nutt
ea2fafb024
Add definitions to support a local loopback link layer
2015-08-24 08:25:08 -06:00
Gregory Nutt
89b5ef8d35
wdogs: Fix counting of free, pre-allocated wdog timers. The could could get decremented below zero in some situations
2015-08-21 11:30:22 -06:00
Pavel Pisa
12b1c04508
recvfrom(): Correct wait for new data when NET_UDP_READAHEAD is enabled. Fix size accounting when recvfrom_udpreadahead() sets state.rf_recvlen == -1. I have not checked if data are accumulated to the right position in the buffer however.
...
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
2015-08-21 09:15:06 -06:00
Gregory Nutt
4c4868c69f
More cosmetic changes: Fix some errors in comments and some indentation problems
2015-08-11 19:23:51 -06:00
Gregory Nutt
850225223d
Costmetic fix to a comment
2015-08-11 19:21:15 -06:00
Gregory Nutt
530d229361
net/udp: Add support for send() with connected UDP sockets
2015-08-11 19:17:55 -06:00
Max Neklyudov
7d04104485
Networking: Allow receipt of empty UDP packets. From Max Neklyudov
2015-08-11 08:34:16 -06:00
Gregory Nutt
f94fe747ae
Undo part of a previous change. Move get/sethostname back from net/netdb to libc/unistd
2015-07-08 11:11:52 -06:00
Gregory Nutt
fca919f3d2
Networking: Fix some compilation issues noted with network is build with CONFIG_BUILD_KERNEL
2015-07-05 11:18:56 -06:00
Gregory Nutt
6380832ab7
Move the header of set/sethostname from libc/unisted to net/netdb. This is OS internal stuff
2015-07-05 10:43:37 -06:00
Stavros Polymenis
701509f9bd
Add implementations of uname() and gethost(). From Stavros Polymenis.
2015-07-03 07:50:27 -06:00
Gregory Nutt
09c7373f24
Fix misc. compilation error/warning detected by tools/testbuild.sh
2015-07-01 14:33:37 -06:00
Gregory Nutt
342f5fe33d
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Gregory Nutt
0ad53183e1
Networking: Fix a compile problem introduced in NuttX-7.6 when CONFIG_NET_SENDFILE=y
2015-06-24 14:52:57 -06:00
Gregory Nutt
ed9c45bcef
Networking: Fix compilation error if IPv6 is enabled
2015-06-17 15:00:04 -06:00
Gregory Nutt
8f7752d956
Networking: Modify how callback structures are stored to avoid another potential use of a stal pointer.
2015-06-03 08:11:57 -06:00
Gregory Nutt
edbb5d0840
networking: Correct a typo introduced with recent networking changes
2015-06-02 15:04:02 -06:00
Gregory Nutt
e22deff1ab
TCP connect. Move the location where the socket is marked as connected in order to avoid a potential race condition
2015-05-31 12:24:24 -06:00
Gregory Nutt
b493dde4cf
TCP networking: In the TCP connection operation, it was trying to setup the network monitor BEFORE the socket was successfully connected. This, of course, has ALWAYS failed because the socket is not yet connected and the TCP state is not yet correct for a connected socket. However, because of other changes net_startmonitor(0 no returns a failure condition that causes worse problems when trying to connect. The fix is to move the logic that starts the network monitor to AFTER the socket has been successfully connected.
2015-05-31 11:35:28 -06:00
Gregory Nutt
a47a0d237c
Costmetic changes to networking logic
2015-05-31 10:29:53 -06:00
Gregory Nutt
33085cb309
Networking: The network device list was protected by a re-entrant semaphore. With the recent change to support network device callback, the network stack needs to access the network device list too. Some drivers, however, run the network stack from the interrupt level -- this is bad but a fact in the current state. Of course,those drivers are unable to take the semaphore and will assert.
...
The solution here is to eliminate the device devices semaphore altogether. This eliminates netdev_semtake() and netdev_semgive() and replaces them with net_lock() and net_unlock() which have larger scope as needed for this purpose.
2015-05-31 08:34:03 -06:00
Gregory Nutt
6687e156e6
Revamp last change. IFF_UP only required when allocating callback, not freeing.
2015-05-30 21:13:58 -06:00
Gregory Nutt
28b46c7bfa
To be valid, a network device must not only exist, but be in the UP state
2015-05-30 12:54:18 -06:00
Gregory Nutt
cc340aaa92
TCP networking: Since the network monitor now allocates a callback structure, it is critical to make sure that the networking monitor is stopped when the socket is closed or any other loss of connection. What was innocuous before would now be a memory leak
2015-05-30 11:49:55 -06:00
Gregory Nutt
8b029fbbee
TCP networking: Hook the network monitor into the device event notification logic
2015-05-30 11:29:47 -06:00
Gregory Nutt
933b95ac80
Forgot to add a file in the last commit
2015-05-30 09:17:46 -06:00
Gregory Nutt
04a661a97c
TCP networking: Add support for network driver events
2015-05-30 09:12:27 -06:00
Gregory Nutt
ab50e9d04d
Networking: Get rid of g_ipv4_allzeroaddr and g_ipv4_alloneaddr. It is more efficient and more intuitive to use INADDR_ANY and INADDR_BROADCAST
2015-05-29 15:16:11 -06:00
Gregory Nutt
34509a9ad5
UDP should use dev=NULL if the address in the lookup is INADDR_ANY
2015-05-29 14:56:44 -06:00
Gregory Nutt
0bdf2d5360
UDP Networking: Misc fixes to get the last changes working + cleanup
2015-05-29 14:32:56 -06:00
Gregory Nutt
fa8b7c19b7
Forgot to add a file in the last commit
2015-05-29 11:03:02 -06:00
Gregory Nutt
f10fdf7ad4
Networking: Add a test to see a device pointer is still valid
2015-05-29 11:01:03 -06:00
Gregory Nutt
2102892e7b
Fix missing file and some compilation errors from the last UDP committ
2015-05-29 10:45:41 -06:00
Gregory Nutt
e672bcebfd
UDP Networking: Add support for device event notification for UDP transfers.
2015-05-29 10:21:06 -06:00
Gregory Nutt
e28a8b1416
Raw sockets: Correct some compile issues; better modularized device-related logic
2015-05-29 08:47:21 -06:00
Gregory Nutt
988fbf0dcc
Merge branch 'master' of ssh://git.code.sf.net/p/nuttx/git into multinic
...
Conflicts:
nuttx/ChangeLog
2015-05-29 08:15:17 -06:00
Gregory Nutt
5337176cdf
Networking: setsockopt() fails when setting timeouts to values less that an 100 msec. That is because the timeout is limited to stops of 1 decisecond and because the conversion of structure timeval was truncating the microsecond remainder. The utility net_timeval2dsec now accespts and option to determin how it handles the remainder: truncate, discarding the remainder, use the remainder to round to the closed decisecond value, or use any non-zero remainder to the next larger whole decisecond value.
...
For the setsockopt() case, it will always use the final option. This means that a time of zero (i.e., not timeout) can only occur if the value zero was explicated provided to setsockopt().
2015-05-29 07:17:15 -06:00
Gregory Nutt
0595d54470
Correct some comments
2015-05-28 19:44:04 -06:00
Gregory Nutt
4747c04c94
Trivial correction to some comments
2015-05-28 19:43:35 -06:00
Gregory Nutt
b5c005d5a4
Merge remote-tracking branch 'origin/master' into multinic
...
Conflicts:
nuttx/ChangeLog
2015-05-28 19:30:48 -06:00
Gregory Nutt
7ec0725533
Missed a couple of function headers
2015-05-28 19:28:41 -06:00
Gregory Nutt
d319b7c6f0
Networking: PKT logic now uses the device event list
2015-05-28 12:40:05 -06:00
Gregory Nutt
e81f279315
Networking: Modify event list handling: Now there are two event lists each device structure: (1) One is for ARP and ICMP data related evetns, the other is for device related events. Callback allocation/free routines no accept a device paramter as well as a list: If the device paramter is added, then the callback goes into both the connection-related liast AND the device event list. Thus each socket type can received both custom data-related events as well as common device related events.
2015-05-28 12:01:38 -06:00
Gregory Nutt
3606d05888
Merge branch 'multinic'
2015-05-28 09:07:18 -06:00
Gregory Nutt
3260db7dbe
Reorder some network events bitset to make the event class clearer
2015-05-28 08:55:36 -06:00
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