Commit Graph

1387 Commits

Author SHA1 Message Date
Gregory Nutt
2790c3b024 Trivial fix in some comments. 2017-09-20 10:06:26 -06:00
Gregory Nutt
de34b96533 SIOCGIFCONF and SIOCGLIFCONF IOCTL commands should only report on network adatpors in the UP state. 2017-09-20 06:50:21 -06:00
Gregory Nutt
ae2a1d07b3 Networking: drivers/net/loopback.c: Eliminate a warning. net/netdev/netdev_ifconfig.c: Was not returning all of the address info. 2017-09-19 15:00:46 -06:00
Gregory Nutt
7af976c00a Squashed commit of the following:
Networking:  Add implementation of logic for SIOCGIFCONF and SIOCGLIFCOF IOCTL commnds.
    Networking:  Add definitions and stuctures to support SIOCGIFCONF and SIOCGLIFCONF IOCTL commands.
2017-09-19 14:17:05 -06:00
Gregory Nutt
0eee0f22cd Networking: IPv4 getsockname(): Fix a typo that can cause a compile error. 2017-09-19 10:52:01 -06:00
Gregory Nutt
780435d9f1 Networking: sockgetname() files need to include udp/udp.h and tcp/tcp.h or otherwise NET_UDP_HAVE_STACK and NET_TCP_HAVE_STACK are undefined and the logic is never compiled. Noted by Anthony Merlino 2017-09-18 13:14:57 -06:00
Gregory Nutt
684a59f8e8 Eliminate some warnings found in build testing. 2017-09-15 14:42:50 -06:00
Gregory Nutt
cca15891c9 Networking: Fix some errors found by Coverity 2017-09-13 13:04:26 -06:00
Gregory Nutt
80412df0b1 UDP Networking: Fix unitialized variable problem found by Coverity 2017-09-13 12:12:57 -06:00
Jussi Kivilinna
7846381e09 net/socket: send: verify that sockfd is valid, fixes assert when using send on closed socket 2017-09-12 07:40:13 -06:00
Jussi Kivilinna
1fa854285d net/socket: Do not enter cancellation point in psock_send() as this is already done in send() 2017-09-12 07:39:05 -06:00
Jussi Kivilinna
61878848ad net/sock: recvfrom: Fix double leave_cancellation_point on error path 2017-09-12 07:17:53 -06:00
Gregory Nutt
6a6bf1b62f :Remove CONFIG_NET_6LOWPAN_FRAMELEN. In this case where multiple radios are support3d, this may not be a constant. 6LoWPAN now always queries the driver to get the maximum frame length. 2017-09-10 11:40:54 -06:00
Gregory Nutt
c217c663ae 6LoWPAN: Remove the option to disable fragmentation support. Two reasons: (1) First fragementation is always required becaues IPv6 requires an MTU of 1280 bytes. The is no application use case that can work without fragmentation support. And (2) it greatly reduces the complexity of the code. 2017-09-10 10:49:27 -06:00
Gregory Nutt
334d1734dc 6LoWPAN/Radio: Rename radio property sp_pktlen to sp_framelen. Add 6LoWPAN utility to get the max frame length (not yet hooked in) 2017-09-10 10:13:33 -06:00
Gregory Nutt
ddde05db83 6LoWPAN: I believe, based on RFC review, that with the last multicast change, the NuttX 6LoWPAN is now compliant with RFC 6282. 2017-09-08 15:04:51 -06:00
Gregory Nutt
edf6359c87 Fix typos in Document and in some C comments. 2017-09-08 12:55:16 -06:00
Gregory Nutt
9cc85aadf6 6LoWPAN: Correct an error in uncompressing multicast address. 2017-09-08 09:23:40 -06:00
Jussi Kivilinna
547733cbb0 Update net_timedwait() and net_lockedwait() call sites to handle negated errno in return value 2017-09-04 07:56:51 -06:00
Gregory Nutt
8ffb103adb networking: IGMP: Remove special support for interrupt level processing (there is none) and fix some timer cancellation logic. In many files, correct comments. There is no interrupt level processing in the networking layer. 2017-09-02 10:27:03 -06:00
Gregory Nutt
8c2e3a2d0a Networking: Fix a copy/paste error introduced with recent disconnection changes. 2017-09-01 11:56:48 -06:00
Jussi Kivilinna
8042c96f09 net/local: fix server lc_waitsem overflow 2017-09-01 07:47:29 -06:00
Jussi Kivilinna
5beaad491a Fix net_lock returning ERROR when instead of real error code on failure. 2017-09-01 07:18:16 -06:00
Gregory Nutt
afe137ffbf net_timedwait() and net_lockedwait() no longer return errors via errno but returned negated errno values like other internal OS functions. 2017-09-01 07:13:03 -06:00
Gregory Nutt
606b7215fe accept.c edited online with Bitbucket. Fix mismatched net_lock() and net_unlock() 2017-08-31 16:49:10 +00:00
Gregory Nutt
d74381ca72 Networking: Missed removal of one net_unlock() in previous commit. 2017-08-31 07:29:44 -06:00
Gregory Nutt
7ebef900fb Networking: Fix a race condition. The accept() operation is performed with the network locked. However, the network is unlocked BEFORE the connected state is set. Therefore, a context switch may occur and the socket may no longer be connected when it is marked so. Noted by Pascal Speck. 2017-08-31 07:23:19 -06:00
Gregory Nutt
581db174b2 Networking: socket dup() conditional operation was missing the test for the condition. 2017-08-30 10:29:14 -06:00
Gregory Nutt
0b2a4eb4bd Networking: A little more wording changes related to interrupts vs. events 2017-08-29 15:08:38 -06:00
Gregory Nutt
04ad162540 Networking: Clean up some naming that has bothered me for a long time... There are no interrupts and no interrupt handlers in the network. There are events and event handler (there used to to be interrupt logic in there years ago but that is long, long gone). 2017-08-29 14:08:04 -06:00
Gregory Nutt
171d183e8e Networking: A placeholder for some missing logic in the previous change related to monitoring network status for dup'ed sockets. If one of the dup'ed socket's is closed, then network monitor resources associated with that one socket must be recovered. Also, in the event that socket is being used on one thread, but then closed on another, any threads waiting for events from the socket should be informed of the closure. That latter requirement is not implemented because current data structures do not support it. 2017-08-29 13:24:49 -06:00
Gregory Nutt
0f7a52bc28 Networking: Fix a runaway recursion problem introduced the previous fixe for shutting down dup'ed sockets. 2017-08-29 12:27:58 -06:00
Gregory Nutt
d40ee8e79d Networking: Start the network monitor for a socket when a TCP socket is dup'ed. 2017-08-29 10:53:04 -06:00
Gregory Nutt
9db65dea78 Networking: TCP disconnection callbacks are not retained in a list. This will support mutiple callbacks per lower-level TCP connection structure. That is necessary for the cae where a socket is dup'ed and shares the same lower-level connection structure. NOTE: There still needs to be a call to tcp_start_monitor() when the socket is dup'ed. 2017-08-29 10:38:01 -06:00
Gregory Nutt
ed58536c3a Networking: Move two more TCP specific files from inet/ to tcp/. There is other TCP-specific logic in inet/ that should be moved sometime, but those are more entangled. 2017-08-29 09:25:22 -06:00
Gregory Nutt
92f44c5607 Networking: Move net/inet/net_monitor.c to net/tcp/tcp_monitor.c in preparation for design change to fix monitoring of duplicated sockets. 2017-08-29 08:40:13 -06:00
Gregory Nutt
f43f372823 Update some comments. 2017-08-26 11:50:41 -06:00
Nickolay Semyonov (RPI)
1fcc7ec38e Ommitted a file in previous commit 2017-08-26 11:45:08 -06:00
Gregory Nutt
88a87f8e3f 6LoWPAN: The original, Contiki-based design used only a single buffer for reassemblying larger packets. This could be a problem issue for hub configurations which really need the capability concurrently reassemble multiple incoming streams concurrently. These was also a design issue in that the reassembly buffer could be corrupted by outgoing packets. The design was extended to support multiple reassembly buffers, each associated with the reassembly tag and source address. This assures that there can be be no corruption of the reassembly once it has started. 2017-08-26 10:00:47 -06:00
Gregory Nutt
e89edd6784 Networking: Rethink last fix. We can make this less protocol dependent. 2017-08-23 15:30:56 -06:00
Gregory Nutt
394a340da0 Networking: Compile error if Unix domain sockets selected; Update SAME70-xplained README me. 2017-08-23 15:04:40 -06:00
Gregory Nutt
9a8c4121e5 Network procfs: procfs/net_procfs_route.c building error occur if CONFIG_NET_ROUTE is enabled. Fix suggested by Aleksandr Kazantsev 2017-08-22 10:21:07 -06:00
Gregory Nutt
55f27c40e8 Add support for network procfs statistics when Nothing is enabled but PF_IEEE802154. 2017-08-21 09:31:12 -06:00
Gregory Nutt
77534e2b49 PF_IEEE802154: Improve some backlog counting logic; add more assertions to catch cases where the backlog count might deviate from the actual backlog. 2017-08-21 08:18:53 -06:00
Gregory Nutt
6b7a26c95c PF_IEEE802154: Add a maximum backlog option. This will prevent overrun of the RX frame queue if many frames are received from the radio, but no application is receiving the queued data. 2017-08-21 07:52:43 -06:00
Gregory Nutt
0eac90f775 PF_IEEE802154: On input, there may be a list of frames provided, not just one. When closed() and connection is freed, also need to free any frames remaining in the RX queue. 2017-08-21 07:13:34 -06:00
Gregory Nutt
969d7c5814 Networking: Remove driver based backlog support. This affects the entire network, but is used by only one driver. The only supported with of supported RX backlog is via common read-ahead buffering. 2017-08-21 06:28:59 -06:00
Gregory Nutt
2f2b94b65b Too much was removed in last squashed commit. 2017-08-20 11:32:44 -06:00
Gregory Nutt
1334ab3d2a IP forward: Correct some compile issues due to recent changes. 2017-08-20 11:46:43 -06:00
Gregory Nutt
0438783afa Squashed commit of the following:
commit 5b7b6e6e616c475c782e9883ada9f4a3b7cb4e2c
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Aug 20 11:13:17 2017 -0600

    IEEE 802.15.4 network device:  Make same changes as per loopback device so that it will build with PF_IEEE802154 but without 6LoWPAN.

commit d656a98cf8eab2f20e884224b52cd47ec35df4cc
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Aug 20 10:31:28 2017 -0600

    PF_IEEE802154: More fixes to device registration and to IEEE 802.15.4 loopback driver for PF_IEEE802154 without 6LoWPAN.

commit 866bb9cbb0c5af79734bbd434c07fa2560b6608f
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Aug 20 09:58:13 2017 -0600

    Network: Reorganize some Kconfig selections.

commit 230b4cb48008cba5fccdafa22340df1d43584829
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Aug 20 09:19:53 2017 -0600

    Changes to conditional compilation so that PF_IEEE802154 can build without 6LoWPAN

commit d96cbd6520d40590a740f695c4cd72208ce872da
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sun Aug 20 09:17:02 2017 -0600

    configs/sim/pf_ieee802154: Disable 6LoWPAN, IPv6, TCP, and UDP.  Now things do not build
2017-08-20 11:14:43 -06:00
Gregory Nutt
6919fb85e4 6LoWPAN/PF_IEEE802154: Created radiodev.h and renamed various structures to provide a better separation between 6LoWPAN and PF_IEEE802154. 2017-08-20 07:10:48 -06:00
Gregory Nutt
b52034ffd2 PF_IEEE802154: With this commit PF_IEEE802154 address family is basically functional. More testing is needed, of course. 2017-08-19 18:50:50 -06:00
Gregory Nutt
d00a37ee5a PF_IEEE802154: Finishes up sendto() logic 2017-08-19 12:32:56 -06:00
Gregory Nutt
cff4ac6845 Squashed commit of the following:
commit 2a3ab1652a2c95bcfc8be8380fc7cbdcb6472938
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Sat Aug 19 08:44:31 2017 -0600

    PF_IEEE802154: Finish some missing bind() logic.  Add configs/sim configuration for testing.

commit 59be4b846a6e3bfe82087a888e3fdac9c3c414e5
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 19:30:04 2017 -0600

    PF_IEEE802154:  More renaming to decouple 6LoPAN from radios in general.

commit 69fabb1aea76e54381bdc13de28a3f1441fb42f4
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 19:21:11 2017 -0600

    PF_IEEE802154: Missed a few renamings.

commit ff0af1bb25567720934cc1c2a721ccd92cc35f89
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 17:46:58 2017 -0600

    PF_IEEE802154:  A few bugfixes

commit 01c7c84afd00cf907d280d30cfaf0fb2cf90e02e
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 17:01:31 2017 -0600

    PF_IEEE802154:  A few bugfixes

commit dcef4056d1c1488c93151135f3b7106977faa903
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 16:31:05 2017 -0600

    PF_IEEE802154: Bring in framework for sendto/recvfrom.  Currently just a crude port of functions from net/pkt and do not provide the implemenation needed.

commit 68c5b7b6dd3ab7eb2d0c19890abb38e6561b140e
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 15:18:31 2017 -0600

    Trivial fix to typo in comment

commit fd0af534c089569ccdbd59f13b85453de0a653ad
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 15:07:20 2017 -0600

    PF_IEEE802154: Add device lookup logic; Rename some things that used to be used only by 6LoWPAN but now must be shared with PF_IEEE802154 and need more generic naming.

commit 4fc80a1659f1c699b050775cefc7f6b631b46114
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 13:49:54 2017 -0600

    PF_IEEE802154: Add driver poll logic.

commit d83f71992df8764faa93f9425f1a7602a758f730
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 13:28:59 2017 -0600

    PF_IEEE802154:  Add frame input function.

commit 77561b8c4d5d7be1f8d8eb62cf1a07229afe2048
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 12:46:29 2017 -0600

    PF_IEEE802154: Socket type should be SOCK_DGRAM.  Hook in socket interface.

commit c0f90350282e9905d7f26a1b30f04cc6d6794648
Merge: 8b518abfd0 169c55e546
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 09:36:32 2017 -0600

    Merge remote-tracking branch 'origin/master' into pf_ieee802154

commit 8b518abfd07d492f5148f2c5fdf65604de9822da
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 09:35:39 2017 -0600

    PF_IEEE802154: Add initialization and connection management logic.

commit 98b62620b3cb420041d8ad14204f9410a8aace8c
Author: Gregory Nutt <gnutt@nuttx.org>
Date:   Fri Aug 18 07:52:51 2017 -0600

    PF_IEEE802154: Add basic build support and socket interface framework.
2017-08-19 08:48:52 -06:00
Gregory Nutt
169c55e546 Trivial typo fix. 2017-08-18 09:36:07 -06:00
Gregory Nutt
962a9f8cf3 net/socket: Correct a typo in a macro definitions. 2017-08-18 07:51:16 -06:00
Gregory Nutt
d7c90ae71b Update and move ieee802154.h socket header file. Fix some comments in net/pkt. 2017-08-18 07:08:02 -06:00
Gregory Nutt
6c4405561a Fix a few compile errors and warnings found in build testing 2017-08-12 10:27:55 -06:00
Gregory Nutt
f99e846e2e procfs routing table: Don't print the IPv4 routing table header if the table is empty. Fix a couple of places where CONFIG_NET_IPv4 was used wehre IPv6 was intended (not noticed now because I am testing with both enabled). 2017-08-12 07:41:44 -06:00
Gregory Nutt
d209e0e238 Add file missed in last commit. Fix naming in some configuration items. 2017-08-12 07:26:20 -06:00
Gregory Nutt
65698da12d procfs: Add support for routing tables. 2017-08-11 15:33:58 -06:00
Gregory Nutt
c4c37239d6 Forgot to add a file in the last commit 2017-08-10 16:31:25 -06:00
Gregory Nutt
4dceea4901 Network routing table: Trivial name changes to make IPv4 and IPv6 more symmetric. Add debug logic to dump the content of the router table. 2017-08-10 16:18:06 -06:00
Gregory Nutt
f506a49295 Networking routing table: Cosmetic naming to make IPv4 and IPv6 routing table logic symmetry. 2017-08-10 09:14:31 -06:00
Gregory Nutt
c5e5cd5c0f net/icmpv6: Eliminate a warning 2017-08-10 07:27:40 -06:00
Masayuki Ishikawa
6bf399dfcb Networking: Fix a compilation issue with CONFIG_NET_ICMPv6_AUTOCONF=y 2017-08-09 18:08:28 -06:00
Gregory Nutt
9da22a8852 Networking: Fix typo for 802.11 devices in netdev_register(). Was being masked before because depended on CONFIG_NET_MULTLINK. 2017-08-09 09:20:37 -06:00
Gregory Nutt
7bb8943a9c Fix IPv6 loopback driver that depended on the removed g_ipv6_allonesaddr. Noted by Masayuki Ishikawa 2017-08-09 06:59:55 -06:00
Gregory Nutt
b5f5b07b18 Another compiler error found in build testing. 2017-08-08 18:43:05 -06:00
Gregory Nutt
7c142be7ec Fix small build problems found in build testing. 2017-08-08 18:37:42 -06:00
Gregory Nutt
78e90f0fc8 Fix a couple of problems found in build testing 2017-08-08 16:30:27 -06:00
Gregory Nutt
efbb47999f Networking: Fix netdev_dev_lladdrsize. In some configurations, it could return the wrong size for the address of a packet radio. 2017-08-08 16:27:23 -06:00
Gregory Nutt
aeb59383cf Remove CONFIG_NET_MULTILINK. This increases code size by a little, but greatly reduces the complexity of the network code. 2017-08-08 15:26:09 -06:00
Gregory Nutt
bd7c84b23e Remove CONFIG_NETDEV_MULTINIC. This increases code size by a little, but greatly reduces the complexity of the network code. 2017-08-08 14:24:12 -06:00
Gregory Nutt
d49d6a6aa9 Fix a couple of errors in names used in 6LoWPAN conditional compilation. 2017-08-08 12:15:58 -06:00
Gregory Nutt
572cf51fa4 Networking: Rethink IPv6 all-nodes packet routing. 2017-08-08 07:48:07 -06:00
Gregory Nutt
814fc2049d Networking: Forgot to add a file in a previous commit. 2017-08-08 07:02:39 -06:00
Masayuki Ishikawa
bac67455b6 ICMPv6: Support source link-layer address option in RA 2017-08-08 16:42:34 +09:00
Gregory Nutt
835ae2999d networking: Move a little more to the inet/ subdirectory. 2017-08-07 13:03:23 -06:00
Gregory Nutt
2ada7d5892 IPv6: Remove comparisons to the address with all ones set. IPv6 does not support broadcast addresses and certainly not in that form. Replace with multicast addresses beginning with 0xff02. 2017-08-07 11:50:50 -06:00
Gregory Nutt
bbf1ad4ea6 Spirit network driver: TX timeout was never being cancelled! Also reviewed and cleaned up all error handling logic 2017-08-06 15:40:37 -06:00
Gregory Nutt
3c6981534f Networking: Move INET socket interface out of net/sockets to its own directory net/inet 2017-08-06 14:48:19 -06:00
Gregory Nutt
48a507c0b7 6LoWPAN: When obtaining the radio MAC address from the IP address, handle the special case of broadcast and multicast address. 2017-08-06 13:50:48 -06:00
Gregory Nutt
4c1a8170de Update README. 2017-08-05 12:48:07 -06:00
Gregory Nutt
2947ca06c9 Avoid some harsh, inappropriate DEBUGASSERT's. 2017-08-05 12:32:31 -06:00
Gregory Nutt
183ed7a206 6LoWPAN: Fix some typos introduced in previous commit. 2017-08-05 09:26:48 -06:00
Gregory Nutt
a29a168086 Spirit + 6LoWPAN: In STAR configuration, Spirit must use a configured well known hub address. 6LoWPAN cannot assume that the PAN coordinator is the STAR hub; it must ask the radio to provide it with the address of the star hub 2017-08-05 09:13:29 -06:00
Gregory Nutt
733d96cf81 Spirit: Correct setting of the length width field; Add multicast and broadcast addresses to radio properities. 2017-08-04 12:19:59 -06:00
Gregory Nutt
0579825b69 Fix some errors in IOCTL decoding macros 2017-08-02 14:28:17 -06:00
Gregory Nutt
1ae9748170 Networking: Add support for some packet radio IOCTL commands; Spirit: Fix a few bugs from testing. 2017-08-02 11:53:03 -06:00
Gregory Nutt
fee6653cb4 network procfs: Fix so that PktRadio address are shown correctly 2017-08-01 17:21:13 -06:00
Gregory Nutt
959f2042a4 IoT Board/Spirit: Fix a few issues that interfered with testing. Move console to the VCOM port (USART) for all configurations. Rename the spirit-mac configuration to spirit-6lowpan. Add lots of debug output the spirit network driver. 2017-07-31 18:26:17 -06:00
Gregory Nutt
678b63c887 PktRadion/6LoWPAN: Fix more issues related to single byte radio addressing. 2017-07-31 11:41:09 -06:00
Gregory Nutt
e4f3e32d7b PktRadio: Fixes problems with 6LoWPAN + PktRadio. 2017-07-31 10:06:28 -06:00
Jussi Kivilinna
f03aad084a network: Move USRSOCK specific code from from inet_sockif to usrsock_sockif: Add file missed in last commit 2017-07-31 09:49:19 -06:00
Jussi Kivilinna
7dfb01dbce network: Move USRSOCK specific code from from inet_sockif to usrsock_sockif 2017-07-31 09:33:59 -06:00
Gregory Nutt
00d8dd3912 PktRadio: Some initial fixes resulting for early testing with loopback device. 2017-07-31 09:31:24 -06:00
Jussi Kivilinna
86df036ff2 net/usrsock: fix USRSOCK to work with recent changes to networking layer 2017-07-31 07:38:24 -06:00
Jussi Kivilinna
52becb7811 net/local: fix accept for local stream sockets 2017-07-31 07:36:54 -06:00
Gregory Nutt
781585cfb4 PktRadio: Add a loopback driver for testing on the simulator. 2017-07-31 07:28:42 -06:00