Commit Graph

1052 Commits

Author SHA1 Message Date
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