Commit Graph

244 Commits

Author SHA1 Message Date
Gregory Nutt
ae1771454a 6LoWPAN: TCP send logic was returning a failure in one case when, in fact, the send was successful. 2017-06-30 16:07:51 -06:00
Gregory Nutt
7de86f1ab4 This change backs out the 'misconception' fix of 76e6dba2e4 and reimplements it in a way that actually seems to work. 2017-06-30 12:39:00 -06:00
Gregory Nutt
e19c52ed6e 6LoWPAN fix compile issue in star hub configuration. 2017-06-30 10:13:31 -06:00
Gregory Nutt
76e6dba2e4 6LoWPAN: Fix a misconception about HC06 16-bit IPv6 address compression. 2017-06-30 10:08:44 -06:00
Gregory Nutt
af8c5c86f3 6LowPan: Change how the destination node address is handled in the start endpoint configuration. When the star endpoint sent the IPv6 destination address, the HC06 compression logic elided the address -- meaning that it could be reconstructed by the recipient based on the receiver's assigned short address. However, when intercepted by the hub, the uncompressed address does not know the short address of the recipient and instead uses the short address of the hub. This means two things: (1) it looks like the hub address is the destination address, and (2) the uncompressed UDP packet has a bad checksum. This change assures that the destination IPv6 address is not elided in the case of the star endpoint configuration. 2017-06-30 09:32:17 -06:00
Gregory Nutt
6d8df90b79 Clicker2-STM32 + net/: Add configurations to support the endpoint and hub roles in a star topology. Fix various things that broke when IPv6 forwarding was enabled. 2017-06-29 08:16:46 -06:00
Gregory Nutt
a93f130002 6LoWPAN: Add configurable support for 6LoWPAN star topology. With this change, the endpoints which are the 'points' of the star will forward all traffic to the coordinator. The coordinator is assumed to be the 'hub' of the star. This function also implements IPv6 forwarding. That forwarding implementation is minimal, just enough to support the forwarding requirements of the star hub node. 2017-06-28 15:39:21 -06:00
Gregory Nutt
f87d5a3f81 net/: Remove dangling space at the end of lines. 2017-06-28 13:32:19 -06:00
Gregory Nutt
3b0c422743 net/sixlowpan: Change a wlerr to nerr 2017-06-27 17:01:23 -06:00
Gregory Nutt
249ab6eb18 6LoWPAN: Eliminate a global variable. 2017-06-26 10:49:02 -06:00
Gregory Nutt
5a8668b362 6LoWPAN TCP: Fix more ACK handling, fix some callback flag settings. Now the TCP test appears fully functional on 6LoWPAN. 2017-06-25 13:00:42 -06:00
Gregory Nutt
58e3558c55 6LoWPAN: Modify the the way TCP headers are transferred -- yet again. TCP packet reassembly now seems to work OK, but no there now does not seem to be a listener on the port. 2017-06-24 21:12:46 -06:00
Gregory Nutt
73d32a962d 6LoWPAN: HC06, copy TCP header as though it were data. 2017-06-24 18:29:07 -06:00
Gregory Nutt
74c97f7e7f 6LoWPAN: Various fixes for a clean build if either TCP or UDP are disabled. Given the current state of TCP, it is recommended that you disable TCP. 2017-06-24 16:53:00 -06:00
Gregory Nutt
3203f0a93a 6LoWPAN TCP: Major re-architecting of TCP logic to properly handle TCP stuf like ACKs and TPC windowing which were not properly covered in the initial design. Still does not work; hangs waiting of ACKs. 2017-06-24 16:00:41 -06:00
Gregory Nutt
96af668ab8 6LoWPAN: Handle case where the local address is zero (listen socket) 2017-06-24 11:57:59 -06:00
Gregory Nutt
2fb938202c 6LoWPAN: TCP logic was not obeying MTU packet size limitations. Other TCP-specific issues also fixed. There remains a major outstanding issue with ACK handling. 2017-06-24 09:48:41 -06:00
Gregory Nutt
328a464f99 6LoWPAN: Fix a typo in an index that prevented use with HC1 and extended addresses. 2017-06-23 10:08:03 -06:00
Gregory Nutt
1a46ea644d 6LoWPAN: Add missing IPv6 address creation to HC1 decode logic. 2017-06-23 09:45:09 -06:00
Gregory Nutt
b3b3630991 6LoWPAN: fix yet another addressing problem. That does it. Several recent, proper bugfixes unmasked a few errors in the 6LoWPAN logic. But I think full functionality is restored. 2017-06-22 16:27:58 -06:00
Gregory Nutt
9c2f67c477 6LoWPAN: Fix a src/dest address confusion 2017-06-22 16:04:40 -06:00
Gregory Nutt
4a517ad48d 6LoWPAN: Just adds more debug output 2017-06-22 15:19:18 -06:00
Gregory Nutt
922454d515 6LoWPAN: Loopback driver needs to initialize the MAC meta data; Address decompression logic must have the MAC address to handle the most common compression cases. 2017-06-22 13:55:08 -06:00
Gregory Nutt
bc8ad02ee5 6LoWPAN: Various fixes from retesting on simulator with short addressing. 2017-06-22 11:42:52 -06:00
Gregory Nutt
b5994560cc 6LoWPAN: Fixes needed when extended addressing is enabled. Currently breaks short addressing. 2017-06-22 09:28:25 -06:00
Gregory Nutt
05590a2228 6LoWPAN: Correct a few addressing issues. The apps/examples/udp test now appears to be fully functional. Also reserve two bytes at the end of the frame for the FCS. 2017-06-21 13:43:53 -06:00
Gregory Nutt
a53be51733 6LoWPAN: Correct an error in calculating the location of the UDP header. 2017-06-21 09:17:47 -06:00
Gregory Nutt
cd8ac3f070 ieee802154 MAC: Free allocated TX descriptor if an error occurs after the descriptor has been allocated. 2017-06-20 15:00:23 -06:00
Gregory Nutt
d9f549121c ieee802154_req_data: Don't modify the IOB until we are certain that no EINTR errors will occur. Otherwise, the retry will fail 2017-06-20 14:27:22 -06:00
Gregory Nutt
6dafb4f532 6LoWPAN: Add debug statements; Update configuration, need to specific 6LoWPAN compatible port numbers. 2017-06-20 10:37:32 -06:00
Gregory Nutt
cd82d03ddf IEEE 802.15.4/6LoWPAN: Correct one more usage of saddr; also update a README and the TODO list. 2017-06-19 07:31:52 -06:00
Anthony Merlino
b1ce07deb1 Swithches IEEE 802.15.4 based code to using byte arrays instead of uint16_t values for short address and PAN ID 2017-06-19 05:55:28 -04:00
Gregory Nutt
cfea8adacb L should be capitalized in 6LoWPAN 2017-06-18 16:00:08 -06:00
Gregory Nutt
2ef49eb3bd Update TODO and README 2017-06-18 09:01:18 -06:00
Gregory Nutt
4588226d71 Clicker2-STM32: Enable networking and 6loWPAN in the mrf24j40-6lowpan configuration. Fix a couple of new 6loWPAN compile issues revealed by this new configuration. 2017-06-16 16:47:27 -06:00
Gregory Nutt
0b652d0451 Update some Kconfig help comments 2017-06-16 13:24:07 -06:00
Anthony Merlino
e30501ebd4 wireless/ieee802154: Lots of fixes, cleanup, new functionality. Functional 2017-06-15 12:11:52 -04:00
Gregory Nutt
0de294a586 Fix lots of occurrences of 'the the', 'the there', 'the these', 'the then', 'the they. 2017-05-11 13:35:56 -06:00
Anthony Merlino
806dcd9a47 wireless/ieee802154: Brings closer to Nuttx coding style 2017-05-09 17:20:57 -04:00
Gregory Nutt
2043e1a114 IOBs: Move from driver/iob to a better location in mm/iob 2017-05-09 07:35:30 -06:00
Gregory Nutt
18eaf52e35 6loWPAN: packet meta data does not need to be a global variable 2017-05-08 10:56:35 -06:00
Gregory Nutt
d785893a65 Update some comments. 2017-05-07 16:58:49 -06:00
Gregory Nutt
c318072084 6loWPAN: Minor cleanup and re-verification of all compression modes after so menay recent changes. 2017-05-06 14:24:06 -06:00
Gregory Nutt
e072069e2d 6loWPAN: Remove usage of the now non-existent msdu_length field. 2017-05-06 06:48:06 -06:00
Gregory Nutt
0eb7ec046e 6loWPAN: Use information in struct ieee802154_data_ind_s when reassembling a packet 2017-05-05 11:36:16 -06:00
Gregory Nutt
95bacb6a34 6loWPAN: Some fixed to get a clean compile after last big changes to the radio IOCTLs. 2017-05-05 10:00:18 -06:00
Anthony Merlino
dd40014279 wireless/ieee802154: Removes radio IOCTL. Starts bringing radio and MAC closer with well-defined interface. 2017-05-05 11:15:38 -04:00
Gregory Nutt
14fc1b2d39 6loWPAN: Local MAC address is fixed by the configuration. The remote address be with short or extended. 2017-05-04 19:17:38 -06:00
Gregory Nutt
128936d9a6 6loWPAN: Design simplications; also remove unused utility function. 2017-05-04 17:16:45 -06:00
Gregory Nutt
d385f46130 6loWPAN: The last vestiges of MAC header generate stripped out. 2017-05-04 13:19:11 -06:00
Gregory Nutt
920c0a2e50 One more baby step in removing MAC knowledge from 6loWPAN. 2017-05-04 12:06:28 -06:00
Gregory Nutt
1cf891bbe1 Another baby step in removing MAC knowledge from 6loWPAN. 2017-05-04 11:33:22 -06:00
Gregory Nutt
6f6e61769a 6loWPAN: Remove final references to Rime from code. 2017-05-04 09:05:41 -06:00
Gregory Nutt
969c1ab614 6loWPAN: Replace some Rime address naming with more consistent short/exended address terminology 2017-05-04 08:20:59 -06:00
Gregory Nutt
cf988309aa 6loWPAN: Fixes hang in loopback test. 2017-05-03 11:13:07 -06:00
Gregory Nutt
858685e977 6loWPAN: Changes to use new MAC interfaces. Incomplete and needs some clean-up of dangling, unused definitions. 2017-05-03 09:40:42 -06:00
Gregory Nutt
80bca0736d Update some changes from last merge that are needed on this branch. 2017-04-29 10:26:02 -06:00
Gregory Nutt
3482172a16 Merge remote-tracking branch 'origin/master' into ieee802154 2017-04-29 10:06:35 -06:00
Gregory Nutt
8262c05713 sixlowpan: Can't reuse same header on each fragment. DSN needs to increment. 2017-04-29 08:23:59 -06:00
Gregory Nutt
c5e636ad84 Merge remote-tracking branch 'origin/master' into ieee802154 2017-04-24 17:34:35 -06:00
Gregory Nutt
3c1d85af32 Update a README 2017-04-24 09:43:30 -06:00
Gregory Nutt
0ea071f7eb Merge remote-tracking branch 'origin/master' into ieee802154 2017-04-22 11:58:07 -06:00
Gregory Nutt
7da031aea1 6loWPAN: Add IEEE802.15.4 Rime address to union of link layer addresses in the network driver. 2017-04-22 11:52:45 -06:00
Gregory Nutt
d5207efb5a Be consistent... Use Name: consistent in function headers vs Function: 2017-04-21 16:33:14 -06:00
Gregory Nutt
5d68eb6059 6loWPAN: Remove the PAN ID from the 6loWPAN data structure. This is owned by the radio driver. Rather, use an IOCTL to obtain the PAN ID from the downstream radio driver. 2017-04-21 16:23:40 -06:00
Anthony Merlino
795e70a952 wireless/ieee802154: Work on packet reception at radio layer (MRF24J40) 2017-04-21 13:06:26 -04:00
Gregory Nutt
9281cd558e 6loWPAN: Add an IOCTL to set the IEEE802.15.4 PAN ID 2017-04-19 18:06:43 -06:00
Gregory Nutt
50fda0d748 6loWPAN: Fix a missing source address in header. Correct calculation of payload size. 2017-04-19 13:33:20 -06:00
Gregory Nutt
04ebdbb336 Move: CONFIG_ADC_NO_START_CONV from drivers/adc/Kconfig to arch/arm/src/stm32[f7]/Kconfig as STM32[F7]_ADC_NO_START_CONV. Refresh all configurations with any reference to CONFIG_ADC_NO_START_CONV. 2017-04-18 07:16:35 -06:00
Gregory Nutt
41f3f1ced7 6loWPAN: Correct ordering of headers. fragmentation header was coming out before FCF. 2017-04-16 12:18:42 -06:00
Gregory Nutt
57dd302227 Fix typos in comments and debug statement. 2017-04-16 10:28:31 -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
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
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
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
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
44f1326046 6loWPAN: Repartition device-specific vs. global data -- again. 2017-03-31 10:04:29 -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
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
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