Commit Graph

314 Commits

Author SHA1 Message Date
Simon Duquennoy
c9861b0726 Routing API: added neighbor_state_changed 2018-02-02 08:48:37 -08:00
Simon Duquennoy
c6f2364bd8 RPL Classic: fix rpl-ext-headers.c 2018-02-02 08:48:37 -08:00
Simon Duquennoy
dfa7d735ac Added necessary includes 2018-02-02 08:48:37 -08:00
Simon Duquennoy
4ffab13eeb Routing API: drop_route 2018-02-02 08:48:37 -08:00
Simon Duquennoy
eaa3b6ad79 Routing API: added link_callback 2018-02-02 08:48:37 -08:00
Simon Duquennoy
fac66307f6 RPL Lite: enable custom configuration of RPL_CONF_WITH_NON_STORING 2018-02-02 08:48:37 -08:00
Simon Duquennoy
fdbd89d018 Routing API: added ext_header_srh_update 2018-02-02 08:48:37 -08:00
Simon Duquennoy
25e07b7d23 Routing API: added ext_header_hbh_update 2018-02-02 08:48:37 -08:00
Simon Duquennoy
54655335c6 Routing API: added ext_header_update 2018-02-02 08:48:37 -08:00
Simon Duquennoy
4cdf2d4819 Routing API: added ext_header_srh_get_next_hop 2018-02-02 08:48:37 -08:00
Simon Duquennoy
03bab6f119 Routing API: added ext_header_remove 2018-02-02 08:48:37 -08:00
Simon Duquennoy
53facf941e Routing API: added toplogy repair 2018-02-02 08:48:37 -08:00
Simon Duquennoy
ab41114727 'rpl_init' is now static, rename to 'init' 2018-02-02 08:47:46 -08:00
Simon Duquennoy
8db37afb28 Adding missing functions in nullrouting.c 2018-02-02 08:47:46 -08:00
Simon Duquennoy
bc73bb3284 Added root_start to routing driver 2018-02-02 08:47:46 -08:00
Simon Duquennoy
83e9414a71 Add root_set_prefix to routing driver 2018-02-02 08:47:21 -08:00
Simon Duquennoy
4c9f62ebe4 Added NETSTACK_ROUTING for routing protocol selection. Only used for init() so far. 2018-02-02 08:47:21 -08:00
Simon Duquennoy
7ddee2c66a Move rpl-lite and rpl-classic to os/net/routing 2018-02-02 08:47:21 -08:00
Simon Duquennoy
14ccd337c9 rpl_dag_root module simplification 2018-02-02 08:47:21 -08:00
Simon Duquennoy
871ee1e34f Added routing module with only routing.h, now included wherever RPL is used 2018-02-02 08:45:02 -08:00
George Oikonomou
63a96752c8
Merge branch 'develop' into contrib/coap-lwm2m-dtls 2018-02-01 00:17:38 +00:00
Joakim Eriksson
1c0e76025b fixed slip-radio config, added shell to NBR and added parsing to no-framer 2018-01-26 22:59:48 +01:00
Niclas Finne
d3613ba10f Updated tinyDTLS submodule to remove some debug output 2018-01-19 13:26:47 +01:00
Niclas Finne
a18aaa4e26 Show compile information about tinyDTLS license only once. 2018-01-19 06:49:53 +01:00
Niclas Finne
833da8df76 Added compile information about license when including tinyDTLS in build 2018-01-17 20:03:28 +01:00
Niclas Finne
6562b78c6c Updated DTLS support for new logging system 2018-01-17 20:02:40 +01:00
Niclas Finne
8a44da0814 Updated tinydtls submodule 2018-01-17 20:00:18 +01:00
Niclas Finne
e746b024f0 CoAP: fixed typo in Doxygen comment 2018-01-12 18:57:14 +01:00
Niclas Finne
ee65ba289e lwm2m: moved LWM2M object resource IDs to each object header file.
Added Doxygen groups in CoAP and LWM2M.
2018-01-12 01:25:27 +01:00
Niclas Finne
2d31c06a1e CoAP: renamed OPTION_MAP_SIZE to COAP_OPTION_MAP_SIZE for consistency 2018-01-12 01:20:53 +01:00
Niclas Finne
e37dd179d1 CoAP: added missing UIP_LLH_LEN in buffer size check as described by
Laurent Deru in #242.
2018-01-12 01:20:53 +01:00
Niclas Finne
11b005c7a4 Updated tinydtls submodule to address some Doxygen issues 2018-01-12 01:20:53 +01:00
Niclas Finne
ffffb0a9ad Fixed compiler warning in CoAP logging 2018-01-12 01:20:53 +01:00
Niclas Finne
4c56184a9b Updated CoAP to use the logging module 2018-01-12 01:20:53 +01:00
Niclas Finne
0731c4f158 Added functions in uiplib to print a IP address to string and normal
output. Changed uip-debug to use the uiplib functions instead of its
own print functions.
2018-01-12 01:20:53 +01:00
Joakim Eriksson
6c729f50d6 added lwm2m-ipso test 2018-01-12 01:20:53 +01:00
Joakim Eriksson
c86b763e5d renamed coap packet to coap message - for naming closer to RFC 2018-01-12 01:20:53 +01:00
Niclas Finne
a866fcbfad CoAP: replaced coap_send_message() with coap_sendto() that returns
number of bytes sent or error.
2018-01-12 01:20:52 +01:00
Niclas Finne
074391fa7d CoAP: Various updates in coap-uip transport implementation
* Mark endpoint as secure regardless if DTLS peer exists or not
* Drop CoAP transmissions to endpoints that are not connected
* Debug output cleanup
2018-01-12 01:20:52 +01:00
Joakim Eriksson
379a3fac2b LWM2M fixed doxygen compile issues 2018-01-12 01:18:41 +01:00
Niclas Finne
ebb329de5c CoAP: added make option to specify CoAP DTLS keystore to use by default.
The currently available options are:

* none   - No keystore registered.
* simple - Keystore using fixed PSK credentials.
* lwm2m  - Keystore based on LWM2M security objects

If an application wants to provide its own keystore, it selects 'none'
and registers its own at startup.
2018-01-12 01:18:41 +01:00
Niclas Finne
ee8d85bde8 Imported CoAP from lwm2m-contiki at https://github.com/sics-iot/lwm2m-contiki 2018-01-12 01:18:41 +01:00
Niclas Finne
a0ec1a4065 Added tinyDTLS standalone as submodule 2018-01-12 01:18:41 +01:00
spoerk
f8d2c3fa48 code style fixes 2018-01-03 15:52:36 +01:00
spoerk
604e846ff1 Merge branch 'develop' of github.com:contiki-ng/contiki-ng into feature/ipv6_over_ble 2018-01-03 15:27:42 +01:00
spoerk
35c08597e6 BLE L2CAP moved to the other MAC implementations 2018-01-03 14:36:14 +01:00
Laurent Deru
c26aed5565 Always select a global address within the DODAG 2017-12-21 10:32:11 +01:00
Simon Duquennoy
836249a8c8
Merge branch 'develop' into fix-ra-rdnss 2017-12-20 12:42:34 +01:00
Simon Duquennoy
7286491c16
Merge branch 'develop' into fix-ra-rdnss 2017-12-20 11:37:55 +01:00
Simon Duquennoy
8b14fc8d4a
Merge branch 'develop' into fix-non-router-compilation 2017-12-20 11:37:06 +01:00
Laurent Deru
425b463df8 Fix logic of RA flags related to RDNSS 2017-12-20 10:23:16 +01:00
Laurent Deru
4b43e4971b Fix compilation error when not in Router mode 2017-12-20 10:14:11 +01:00
Simon Duquennoy
b938ad9aa7
Merge branch 'develop' into fix-icmp-error-source 2017-12-12 19:33:04 +01:00
Simon Duquennoy
a7e5cf85cf
Merge branch 'develop' into fix-rpl-ext-header-remove 2017-12-12 19:02:14 +01:00
Simon Duquennoy
6125637e40
Merge branch 'develop' into fix-rpl-classic-addr-autoconf-root 2017-12-12 18:05:01 +01:00
Simon Duquennoy
980a420b44
Merge branch 'develop' into fix-rpl-classic-multi-dodag-probing 2017-12-12 16:54:44 +01:00
Laurent Deru
3b24a57ad2 Move to next header when encountering DESTO instead of aborting the loop in rpl_ext_header_remove() 2017-12-12 16:17:20 +01:00
Laurent Deru
5bf06d851d rpl_ext_header_remove() should only remove RPL Hop-by-Hop extention header 2017-12-12 16:17:20 +01:00
Simon Duquennoy
efb1f13c9e
Merge branch 'develop' into fix-missing-llhlen 2017-12-12 16:12:20 +01:00
Laurent Deru
aae6276b56 Add missing UIP_LLH_LEN 2017-12-12 16:06:45 +01:00
Simon Duquennoy
118912d681
Merge branch 'develop' into fix-update-proto-remove-ext-hdr 2017-12-12 15:38:48 +01:00
Simon Duquennoy
66de2395fe
Merge branch 'develop' into fix-sicslowpan-llhlen 2017-12-12 13:54:59 +01:00
Simon Duquennoy
d609fb9eec
Merge branch 'develop' into fix-sicslowpan-llhlen 2017-12-12 13:49:16 +01:00
Laurent Deru
74efdf688e Always try to find the best dag 2017-12-12 13:35:29 +01:00
Simon Duquennoy
eadb9ea219
Merge branch 'develop' into fix-rpl-classic-addr-autoconf-root 2017-12-12 12:07:27 +01:00
Laurent Deru
a79fa13805 Additional cleanup when becoming DODAG Root (rpl-classic) 2017-12-12 09:27:27 +01:00
George Oikonomou
7be2524e1b
Merge branch 'develop' into contrib/uipbuf 2017-12-11 21:48:20 +00:00
George Oikonomou
79450eb10a
Merge branch 'develop' into fix-multicast-llhlen 2017-12-11 21:47:18 +00:00
Laurent Deru
a97148abd4 Make multicast route lifetime identical to unicast routes 2017-12-11 18:00:36 +01:00
Laurent Deru
ebb1f5475e Always use uip_ds6_select_src when sending back an icmp error 2017-12-11 17:49:26 +01:00
Laurent Deru
b782cda837 Do RPL probing on all the known DAG 2017-12-11 17:48:16 +01:00
Laurent Deru
52f7e4a9f5 Don't autoconfigure address on RPL Root 2017-12-11 17:45:55 +01:00
Laurent Deru
2bf9031b02 Update proto field in remove_ext_hdr() 2017-12-11 16:10:37 +01:00
Laurent Deru
418d792a4b Sicslowpan uses twice UIP_LLH_LEN for IPPAYLOAD_BUF 2017-12-11 16:08:43 +01:00
Laurent Deru
ed239372c1 Use UIP_LLH_LEN in multicast engines and add more traces 2017-12-11 15:40:18 +01:00
Joakim Eriksson
bd6de2401f added some documentation 2017-12-10 21:17:37 +01:00
Atis Elsts
5caff5290c Readd back 'uip_stat' if UIP_STATISTICS is enabled 2017-12-10 20:04:14 +00:00
Joakim Eriksson
85eff304be set MAX_MAC_TRANSMISSION to undefined in uipbuf clear 2017-12-09 10:22:19 +01:00
Joakim Eriksson
1356994795 added support for usage of the transmission count attirbute in uipbuf 2017-12-09 10:22:19 +01:00
Joakim Eriksson
941ddf35b8 IPv6: added uipbuf attributes similar to packetbuf 2017-12-09 10:22:19 +01:00
Simon Duquennoy
a24a05f269 Fix CoAP bug with option parsing 2017-11-29 08:39:10 -08:00
Joakim Eriksson
a5039634d5 fixed rpl-classic bug and moved the two lifetime loops into one 2017-11-17 11:58:17 -08:00
Simon Duquennoy
cbdc3e4569 RPL non-storing mode: increase routing state lifetime by one period (60s) so as to ensure no link espired before its avertised lifetime 2017-11-17 11:58:17 -08:00
Simon Duquennoy
83fb4b68b5
Merge branch 'develop' into contrib/traceroute 2017-11-17 17:26:17 +01:00
Atis Elsts
a211cb6e31 Allow to set a different number of MAC retransmissions for different classes of packets 2017-11-17 14:13:20 +00:00
Simon Duquennoy
0bd107b0a0 uIP6 forwarding: clearer log messages 2017-11-14 10:04:31 +01:00
Simon Duquennoy
071f542078 uIP6: check MTU, check and update TTL even in the case of routing header forwarding 2017-11-13 16:37:23 +01:00
Simon Duquennoy
80ddae94d0
Merge branch 'develop' into develop 2017-11-09 16:13:15 +01:00
Simon Duquennoy
1a4efcd38d
TSCH: when not sending KA, issue LOG_ERR rather than LOG_INFO 2017-11-09 16:13:00 +01:00
Simon Duquennoy
f5511dfbd5 Doxygen: add more descriptions in rpl-lite/rpl-types.h 2017-11-07 15:46:36 +01:00
Simon Duquennoy
ae9aaf7632 Doxygen: fix glitch that caused some of the rpl-lite not to be included in the documentation 2017-11-07 15:46:36 +01:00
Michael Karlsson
c33c10540a Avoid tsch crash when loosing timesource 2017-11-07 01:43:54 +01:00
Simon Duquennoy
d9ae1118ef
Merge pull request #137 from simonduq/pr/logging-fixes
Minor logging fixes
2017-10-31 22:04:46 +01:00
Simon Duquennoy
d494ee85c7 Fix logging in uip-ds6.c 2017-10-31 16:16:04 +01:00
Simon Duquennoy
3bb8123038 Fix RPL log message 2017-10-30 21:49:02 +00:00
George Oikonomou
8de3ffbc2e Don't initialise the queuebuf unconditionally
Currently, it is only used by 6LoWPAN when fragmentation is enabled, by TSCH and by CSMA. Platforms that disable fragmentation and choose a different MAC layer (e.g. NULLMAC) will unnecessarily end up with the module linked in the image, wasting flash and/or RAM space.
2017-10-29 23:18:36 +00:00
George Oikonomou
21f5ff8edf Fix RPL configuration in mcast scenarios 2017-10-28 21:46:46 +01:00
Simon Duquennoy
0f1dd71124 nbr-table: fix default value for NBR_TABLE_MAX_NEIGHBORS 2017-10-26 16:29:04 +02:00
Simon Duquennoy
40e6b4be61 Fix typo in comment 2017-10-13 16:55:59 +02:00
Simon Duquennoy
663d1f121d Autoconfigure Orchestra whenever the module is included 2017-10-12 18:32:19 +02:00
Simon Duquennoy
d26e5fb489 TSCH: automatically leave the network when setting as coordinator/node 2017-10-12 17:09:23 +02:00
Simon Duquennoy
9590b21888 TSCH: default Max EB period to 16s 2017-10-12 17:09:07 +02:00
Simon Duquennoy
c320717d9a tsch-log: fix autoconfiguration of TSCH_LOG_PER_SLOT 2017-10-12 17:09:01 +02:00
Simon Duquennoy
a89df3b279 TSCH-RPL: configure callbacks automatically 2017-10-12 17:08:55 +02:00
Simon Duquennoy
1b97641e7f rpl-lite: simplify SRH insertion 2017-10-12 17:08:51 +02:00
Simon Duquennoy
02f5929ade insert_srh_header: return 0 when failing to insert SRH due too packet too long 2017-10-12 17:08:48 +02:00
Simon Duquennoy
48997bb3ad Use 802.15.4 frames v2 by default only for TSCH, else fall back to v1 2017-10-11 17:26:08 +02:00
Simon Duquennoy
df01ebc219 Minor logging fixes 2017-10-11 17:25:07 +02:00
Simon Duquennoy
9d77bad2c2 sicslowpan: set SICSLOWPAN_COMPRESSION from .h file rather than .c, for integration with viewconf 2017-10-11 17:23:36 +02:00
George Oikonomou
163ccafcba Fix erroneous comment 2017-10-08 17:03:04 +01:00
George Oikonomou
ab7b4676e0 Make CoAP more configurable 2017-10-08 17:00:37 +01:00
Simon Duquennoy
e81864e8d8 NullNet: move buffer variables from examples to os/net module 2017-10-08 14:56:47 +02:00
Simon Duquennoy
32e9c5067e Fix netstack.h comment 2017-10-08 14:50:07 +02:00
Simon Duquennoy
fb0de6dd7a Various fixes to netstack config 2017-10-08 14:47:34 +02:00
Joakim Eriksson
1143d6f5aa addressed some of the suggestions on the PR - naming and netstack MAC 2017-10-08 00:44:02 +02:00
Joakim Eriksson
761d19dafc fixed nullnet to work with new network interface 2017-10-08 00:44:02 +02:00
Joakim Eriksson
8cf65ed01a changed NETSTACK configuration on network layer 2017-10-08 00:44:02 +02:00
Joakim Eriksson
1b2b043f24 fixed nullnet and its examples 2017-10-08 00:44:02 +02:00
Joakim Eriksson
f73454071f added an example for packet processing - and added uipbuf module for header processing 2017-10-08 00:44:02 +02:00
Joakim Eriksson
0f9207640b added netstack-ip-processor 2017-10-08 00:44:02 +02:00
Joakim Eriksson
ac12496e6d added output function to network layer 2017-10-08 00:44:02 +02:00
Simon Duquennoy
25d69965a4 Move some readme files to wiki 2017-10-06 16:28:26 +02:00
Simon Duquennoy
c851357800 Doxygen fixes 2017-10-06 14:26:59 +02:00
Simon Duquennoy
14779f29f8 Rework Doxygen modules 2017-09-29 22:18:48 +02:00
Niclas Finne
cb5df665a2 Added boundary checks when parsing CoAP packets.
Thanks to Stephan Zeisberg for reporting this issue.
2017-09-29 10:57:09 +02:00
Simon Duquennoy
543408db68 Re-organzie ip stack implementation 2017-09-22 17:09:54 +02:00
Simon Duquennoy
d9f9138ed2 Added NullNet, a network layer for non-IP-enabled cases 2017-09-22 14:34:20 +02:00
Simon Duquennoy
7d262d6d89 Move no-framer from slip-radio to os, now named nullframer 2017-09-22 14:34:20 +02:00
Simon Duquennoy
9cde0886d6 Simplify framer configuration 2017-09-22 14:34:20 +02:00
Simon Duquennoy
117dbe44c8 Simplify radio driver configuration 2017-09-22 14:34:20 +02:00
Simon Duquennoy
0aa44c3c22 Homogenize NET layer config with MAC 2017-09-22 14:34:20 +02:00
Simon Duquennoy
1a8f04effc TSCH: move platform-specific configuration flags to platform configuration files 2017-09-22 14:34:20 +02:00
Simon Duquennoy
13f014f882 Update TSCH Readme file 2017-09-22 14:34:20 +02:00
Simon Duquennoy
ffc94f832c MAC layer configuration done from Makefile instead of .h files 2017-09-22 14:34:20 +02:00
Simon Duquennoy
3c9369737e Merge pull request #66 from yatch/pr/etsi-plugtest-2017
Project for ETSI Plugtest 2017
2017-09-16 09:18:02 +02:00
Nicolas Tsiftes
8ae774d413 Merge pull request #71 from simonduq/pr/rename-rpl
Rename old RPL implementation as rpl-legacy (update: rpl-classic)
2017-09-15 14:50:59 +02:00
Yasuyuki Tanaka
78a4d60584 sixtop: log fix 2017-09-14 21:48:08 +09:00
Simon Duquennoy
786cc13a95 Rename old RPL implementation as rpl-classic 2017-09-14 04:55:36 +02:00
Simon Duquennoy
af556985a8 Merge pull request #65 from yatch/pr/6p
6top protocol
2017-09-14 03:39:08 +02:00
Yasuyuki Tanaka
efd84940d8 sixtop: start transaction timer in its allocation process
While the timer is designed to get started on state transition from
SIXP_TRANS_STATE_INIT, the state transition may not happen in some
erroneous situation. This change makes sure that the timer is started
once it's allocated.
2017-09-13 14:38:06 +09:00
Yasuyuki Tanaka
57263042ae sixtop: use LOG APIs instead of PRINTF from net-debug.h 2017-09-13 14:38:06 +09:00
Yasuyuki Tanaka
7530c560c5 sixtop: support draft-ietf-6tisch-6top-protocol-07 2017-09-13 14:38:06 +09:00
Yasuyuki Tanaka
a5fadb2ebe sixtop: refactoring
- support draft-ietf-6tisch-6top-protocol-03
- maintain a sequence number per neighbor
- rename variables and constants
- reconsider file structure and file names
- make sf-simple part of example
- update sixtop/README.md
- add regression-tests for 6tisch
- apply C-DAC copyright notice
- bugfix + cleanup
2017-09-13 14:38:06 +09:00
Shalu-here
cc1c763db9 sixtop: 6top protocol implementation by CDAC
https://github.com/contiki-os/contiki/pull/1898
2017-09-13 14:38:06 +09:00
Yasuyuki Tanaka
69affad825 framer-802154: suppress src panid and put dest pan id by default 2017-09-13 14:38:05 +09:00
Simon Duquennoy
2817b9212a framer-802154: compress PANID by default 2017-09-13 14:38:05 +09:00
Yasuyuki Tanaka
e9951e9341 framer-802154: do away with "type" of create_frame()
The argument, "type", is not used effectively in create_frame(). In
addition, it's confusing because create() calls create_frame() with
FRAME802154_DATAFRAME as "type" though it does not always create a data
frame.
2017-09-13 14:38:05 +09:00
Yasuyuki Tanaka
4ba8b2e684 TSCH: add argument validation in tsch_schedule_add_link()
The purpose is to avoid allocating a meaningless link, which could cause
communication issue with a peer.
2017-09-13 14:38:05 +09:00
Yasuyuki Tanaka
4fdaef2694 TSCH: make tsch_packet_create_eb() use NETSTACK_FRAMER.create()
tsch_packet_create_eb() is changed to build an Enhanced Beacon in the
packetbuf directly. Along with this, its signature is updated by
removing buf and buf_size from the argument list.
2017-09-13 14:38:05 +09:00
Yasuyuki Tanaka
6e8c5906bc TSCH: remove duplicate code from tsch_packet_create_eack()
tsch_packet_create_eack() prepares a frame802154_t data by itself, which
is similar to what framer_802154_setup_params() does. In order to avoid
duplicate code, tsch_packet_create_eack() is going to use
framer_802154_setup_params() to have a ready-to-use frame802154_t data.
2017-09-13 14:38:05 +09:00
Yasuyuki Tanaka
a35c3cad08 framer-802154: introduce framer_802154_setup_params() 2017-09-13 14:37:56 +09:00
Simon Duquennoy
e0edcd9800 Merge pull request #67 from yatch/pr/log-fixes
Log Message Fixes
2017-09-11 10:49:15 +02:00
Simon Duquennoy
37b7c2e90b TSCH: log parsing errors even when security is not enabled 2017-09-11 15:07:17 +09:00
Simon Duquennoy
a11c2f4a1f TSCH: bugfix in tsch-adaptive-sync 2017-09-11 15:07:17 +09:00
Yasuyuki Tanaka
0fd22a425a TSCH: bugfix in frame encryption
Header IEs shouldn't be encrypted since they are part of the header.
2017-09-11 15:07:17 +09:00
Simon Duquennoy
d1a24b64ce IEEE 802.15.4 log fixes 2017-09-11 15:05:19 +09:00
Simon Duquennoy
3537d06cc8 RPL log fixes 2017-09-11 15:05:19 +09:00
Simon Duquennoy
e9610ec647 Fix IPv6 log 2017-09-11 15:05:19 +09:00
Simon Duquennoy
0f92c6ebfd Include contiki.h instead of contiki-conf.h so as to ensure consistent inclusion of contiki-default-conf.h 2017-09-08 14:20:59 +02:00
Simon Duquennoy
fc9e77b562 Move websocket implementation to os/net/app-layer/http-socket 2017-09-04 16:29:19 +02:00
Simon Duquennoy
ffe3b811b0 Move http to os/net/app-layer 2017-09-01 17:22:10 +02:00
Simon Duquennoy
1987b316fd Move mqtt to os/net/app-layer 2017-09-01 17:22:10 +02:00
Joakim Eriksson
08613960e2 moved CoAP, LWM2M and IPSO Objects 2017-09-01 17:22:04 +02:00
Niclas Finne
2c86194ef8 Renamed core to os 2017-09-01 15:29:00 +02:00