1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

1795 Commits

Author SHA1 Message Date
Hauke Petersen
ad20c4f1cc net: add Asymcute (asynchronous MQTT-SN client) 2018-07-05 15:44:16 +02:00
Hauke Petersen
ed01bf0e1d net: add header with generic MQTT-SN defines 2018-07-05 15:13:02 +02:00
Hauke Petersen
bf8f8dfa67 net/sock_udp: add sock_udp_ep_equal() 2018-07-05 15:13:01 +02:00
Martine Lenders
6d1f012c9d gnrc_ipv6_nib: add support to handle RDNSSO 2018-07-05 11:09:34 +02:00
Martine Lenders
0ef62b9690 gnrc_ndp: add support for building RDNSS option 2018-07-05 11:01:22 +02:00
Martine Lenders
8eab80c3ec ndp: define RDNSS option 2018-07-05 11:01:22 +02:00
Cenk Gündoğan
835f8f0daa
Merge pull request #9290 from PeterKietzmann/pr_sram_puf
Add SRAM based PRNG seeder
2018-07-04 18:08:53 +02:00
PeterKietzmann
20397c5b15 cortexm_common: add SRAM based PRNG seeder 2018-07-04 17:55:16 +02:00
Cenk Gündoğan
16e1f972ab
Merge pull request #9424 from miri64/gnrc_sixlowpan_frag/enh/async-gc
gnrc_sixlowpan_frag: add asynchronous rbuf GC
2018-07-03 11:45:52 +02:00
Martine Lenders
254f16e81f gnrc_sixlowpan_frag: add asynchronous rbuf GC
While the current approach for garbage collection in the 6Lo reassembly
buffer is good for best-effort handling of
*fragmented* packets and nicely RAM saving, it has the problem that
incomplete, huge datagrams can basically DoS a node, if no further
fragmented datagram is received for a while (since the packet buffer is
full and GC is not triggered).

This change adds a asynchronous GC (utilizing the existing
functionality) to the reassembly buffer, so that even if there is no new
fragmented packet received, fragments older than `RBUF_TIMEOUT` will be
removed from the reassembly buffer, freeing up the otherwise wasted
packet buffer space.
2018-07-03 10:25:25 +02:00
Cenk Gündoğan
e5c6d0ebf1
Merge pull request #9240 from maxvankessel/pr/isrpipe
drivers/isrpipe: changed isrpipe_t content order
2018-07-02 22:28:41 +02:00
Cenk Gündoğan
32e823acb2
Merge pull request #9447 from miri64/gnrc_sixlowpan_frag/enh/add-cur-size
gnrc_sixlowpan_frag: add current_size to exposed struct
2018-07-02 14:05:40 +02:00
Francisco Acosta
23d176f46b
Merge pull request #8857 from ZetaR60/RIOT_atmega_time_dot_h
cpu/atmega_common: Use updated time.h
2018-06-28 22:29:20 +02:00
Martine Lenders
68fe6682ff gnrc_sixlowpan_frag: add current_size to exposed struct
Since IPHC also manipulates the total number of bytes of a received
datagram (by decompressing it), this also needs to be exposed. I guess
I was too focused on introducing a *generic* packet buffer for a future
virtual reassembly buffer (where it isn't needed, but so isn't `pkt` to
be honest), that I totally forgot about it in #9352.
2018-06-28 12:28:51 +02:00
Cenk Gündoğan
315c201747
Merge pull request #9372 from miri64/gnrc_sixlowpan_frag/enh/i8511
gnrc_sixlowpan_frag: adapt for #8511
2018-06-26 19:47:25 +02:00
Martine Lenders
a2eb3c7f15 gnrc_sixlowpan_frag: adapt for #8511
This refactors the `gnrc_sixlowpan_frag` module for the API proposed
in #8511.

The `ctx` for `gnrc_sixlowpan_frag_send()` is required to be a
`gnrc_sixlowpan_msg_frag_t` object, so IPHC can later on use it to
provide the *original* datagram size (otherwise, we would need to adapt
the API just for that, which seems to me as convoluted as this
proposal).

I also provide an expose function with a future possibility to provide
more than just one `gnrc_sixlowpan_msg_frag_t` object later on (plus
having cleaner module separation in general).
2018-06-26 19:38:33 +02:00
PeterKietzmann
ec5fb4fbda sys/random: fix distribution of random_uint32_range() 2018-06-26 14:08:43 +02:00
42c4460daf
Merge pull request #9325 from aabadie/pr/saul/tvoc_ppb
drivers/saul :sys/phydat: add definitions for TVOC sensor type and PPB unit
2018-06-25 12:20:11 +02:00
Martine Lenders
ffde933259
Merge pull request #9399 from miri64/sock_dns/doc/fix-spelling
sock_dns: fix typo in doc
2018-06-22 13:32:20 +02:00
Martine Lenders
a027684a1e sock_dns: fix typo in doc
`s/fuction/function/` ;-)
2018-06-22 13:23:26 +02:00
Martine Lenders
579d9d78d4
Merge pull request #8823 from miri64/gnrc_ipv6_nib/feat/slaac
gnrc_ipv6_nib: add full RFC4862 DAD support
2018-06-21 14:10:36 +02:00
Cenk Gündoğan
d140aa1c8e
Merge pull request #9382 from miri64/sock/enh/i9376
sock_udp: allow creation with ephemeral ports
2018-06-21 12:16:40 +02:00
ddfc5843bb
Merge pull request #9086 from bergzand/pr/nanocoap_sock/client_split
nanocoap_sock: split generic request function of from nanocoap_get
2018-06-20 23:31:05 +02:00
Martine Lenders
a20639074a sock_udp: define send error-state for full port pool 2018-06-20 14:51:17 +02:00
Martine Lenders
9e7cebae93 sock_udp: allow creation with ephemeral ports
This change allows the port for local endpoint to be zero 0. If this is
the case the `sock_udp_create()` function binds the object to an
ephemeral port.
2018-06-20 14:51:17 +02:00
741c8c0c68 sys/auto_init: improve documentation 2018-06-18 13:59:09 +02:00
Cenk Gündoğan
4219ec9265
Merge pull request #9345 from bergzand/pr/fmt/strnlen
fmt: Add fmt_strnlen function
2018-06-18 11:23:53 +02:00
Cenk Gündoğan
e08fd546cf
Merge pull request #9353 from miri64/gnrc_sixlowpan/opt/rm-pad
gnrc_sixlowpan: fix order of gnrc_sixlowpan_msg_frag_t
2018-06-18 10:59:27 +02:00
Cenk Gündoğan
acb9e4aed2
Merge pull request #9352 from miri64/gnrc_sixlowpan_frag/enh/expose-rbuf
gnrc_sixlowpan_frag: expose (parts of) reassembly buffer
2018-06-18 10:55:13 +02:00
Joakim Nohlgård
21bc3ca51f
Merge pull request #9360 from gebart/pr/embunit-const
embunit: Const test case names
2018-06-15 17:04:20 +02:00
Joakim Nohlgård
8514ff5f15 gnrc/pktbuf: Const correctness on gnrc_pktbuf_add 2018-06-15 00:44:23 +02:00
Joakim Nohlgård
fcae95ca96 embunit: Const test case names 2018-06-15 00:34:33 +02:00
Martine Lenders
2c9ee62eb0 gnrc_sixlowpan: fix order of gnrc_sixlowpan_msg_frag_t
While working on #9352 I noticed that the order of members in the
`gnrc_sixlowpan_msg_frag_t` struct costs us 4 bytes in RAM due to byte
alignment. This PR fixes the order of members, so they are the most
packed.
2018-06-14 17:35:29 +02:00
Martine Lenders
86cbde2db5 gnrc_sixlowpan_frag: expose (parts of) reassembly buffer
This exposes the parts of the reassembly buffer to be usable as context
as proposed in #8511.

I only exposed *parts of* for two reasons:

1. I don't need to expose further types (like `rbuf_int_t`), that are
   not of interest outside of fragmentation.
2. This allows for an easy future extension for the virtual reassembly
   buffer as proposed in [[1]].

This makes this change a little bit more involved, because instead of
just renaming the type, I also need to add the usage of the `super`
member, but I think in the end this little preparation work will be
beneficial in the future.

[1]: https://tools.ietf.org/html/draft-watteyne-6lo-minimal-fragment-01#section-3
2018-06-14 17:22:58 +02:00
1778dbde85
fmt: Add fmt_strnlen function 2018-06-14 11:57:11 +02:00
Martine Lenders
e91e0a7807
Merge pull request #9261 from kb2ma/gcoap/refine_re-register
net/gcoap: Refine Observe re-registration
2018-06-13 16:05:40 +02:00
47fc4b0749 sys/auto_init: fix doxygen grouping 2018-06-11 19:12:02 +02:00
7d013eb2b6 sys: fix doxygen grouping 2018-06-11 19:12:02 +02:00
25b90317f3 sys/phydat: add ppb unit support 2018-06-11 15:46:46 +02:00
Ken Bannister
43db2715cd net/nanocoap: create pkt-based request
Includes string and uint options.
2018-06-10 08:44:16 -04:00
Martine Lenders
6e31ce7c74 gnrc_netif: increase number of maximum IPv6 groups 2018-06-07 10:14:52 +02:00
Martine Lenders
fbe391723b gnrc_netreg: Further specify gnrc_netreg_register() precondition
While browsing through the rendered doc, I found the precondition of
`gnrc_netreg_register()` somewhat lacking. What is a "message queue"?
`gnrc_netreg_entry_t`s have types. Does this apply for all types?
This specifies the requirement more: The calling thread **only** needs
a message queue (also provides a link to `msg_init_queue()` now for
further information), if the provided `gnrc_netreg_entry_t` is of type
`GNRC_NETREG_TYPE_DEFAULT` (i.e. thread-wise IPC).
2018-06-06 22:19:53 +02:00
Ken Bannister
2c02ed2093 net/gcoap: refine observe re-registration
Fix re-register when using the same token.
Handle edge cases when change token for a resource.
Only set observer and resource on initial registration.
Discuss re-registration in documentation.
2018-06-05 09:23:16 -04:00
BytesGalore
0c034c9220 rpl: add DIS Solicited Information option 2018-06-04 18:10:22 +02:00
Martine Lenders
55adbee488 gnrc_ipv6_nib: add full RFC4862 DAD support
Parts of [RFC4862] were already implemented when NDP via the NIB was
first implemented. This change just includes the DAD portion of
[RFC4862]. This should be enough to make RIOT fully RFC4862 compliant.

[RFC4862]: https://tools.ietf.org/html/rfc4862
2018-05-31 17:11:25 +02:00
Unknown
11fff4e729 drivers/isrpipe: changed isrpipe_t content order 2018-05-30 10:18:16 +02:00
Sebastian Meiling
f017ee1a50
Merge pull request #5675 from basilfx/feature/prng_fortuna
sys: random: fortuna csprng
2018-05-30 09:07:18 +02:00
Martine Lenders
fce5c758f7
Merge pull request #8841 from miri64/netif/api/initial2
netif: Initial import of a common network interface API (second try)
2018-05-29 22:10:50 +02:00
Martine Lenders
2586b5c161
Merge pull request #9233 from brummer-simon/gnrc_tcp-handle_link_local_addr
gnrc_tcp: handle link local IPv6 addresses correctly
2018-05-29 21:50:00 +02:00
Simon Brummer
686aabaa0a gnrc_tcp: handle link local IPv6 addresses correctly 2018-05-29 21:28:32 +02:00
Martine Lenders
06947b78fc netif: Initial import of a common network interface API 2018-05-29 19:49:29 +02:00
Martine Lenders
1bc9a592c4 gnrc_netif: improve doc on GNRC_NETIF_IPV6_ADDRS_NUMOF 2018-05-29 19:30:30 +02:00
Martine Lenders
ea64d39e21 gnrc_netif: fail IPv6 address addition if no space for solicited nodes 2018-05-29 19:30:30 +02:00
Bas Stottelaar
99755eaa0c sys: random: add fortuna PRNG 2018-05-29 18:40:58 +02:00
Gaëtan Harter
f61dbb6bdb
sys/trickle: document time interval unit 'ms'
Unit is milliseconds as said here:

https://github.com/RIOT-OS/RIOT/pull/9145#discussion_r188861183
2018-05-29 11:59:12 +02:00
657bd25dbe
Merge pull request #8993 from ZetaR60/RIOT_cbmplex
sys/cb_mux: Callback multiplexer
2018-05-29 10:06:05 +02:00
Matthew Blue
02697fafb3 sys/cb_mux: initial support 2018-05-28 15:43:41 -04:00
Matthew Blue
dfa8fb919d sys/timex: fix incompatible atmega time.h 2018-05-28 13:04:55 -04:00
fce61f91f0
Merge pull request #9046 from bergzand/pr/uuid/initial
uuid: Initial import of RFC4122 UUID functions
2018-05-25 15:05:57 +02:00
Hauke Petersen
ce2adb31aa sys/uart_stdio: remove unused rx_cb from header 2018-05-25 11:29:16 +02:00
6bb8a5c145
nanocoap_sock: split request function from get
The nanocoap_get function is refactored to split of the request part
into a separate function for reuse by other modules. Support for
retransmissions when the received frame is malformed is dropped as it
was broken anyway.
2018-05-25 09:40:20 +02:00
Cenk Gündoğan
d005566042 gnrc: add nettype handling for NDN 2018-05-24 10:58:26 +02:00
Cenk Gündoğan
05d4c23c4a ethertype: use correct type for NDN and CCNx 2018-05-24 10:58:26 +02:00
fc03d6f694
uuid: Initial import of RFC4122 UUID functions
Provides functions for type 3, 4 and 5 UUID generations.

UUID type 1 is timestamp based and requires an accurate time source. For
this reason it is left out of this implementation. UUID type 2 is not
defined in RFC 4122 and thus also not included here
2018-05-23 16:31:01 +02:00
Sebastian Meiling
9d83b60f3b
Merge pull request #9083 from smlng/pr/gcoap/cleanup
gcoap: enhance gcoap_req_init
2018-05-23 10:40:54 +01:00
Cenk Gündoğan
441f11ea45 gnrc_rpl: shell: adapt to evtimer for RPL events 2018-05-23 09:42:12 +02:00
Cenk Gündoğan
b819ac8d35 gnrc_rpl: adapt to evtimer for RPL events 2018-05-23 09:42:12 +02:00
Cenk Gündoğan
4c9e947d43 gnrc_rpl: adjust author and copyright 2018-05-22 23:46:55 +02:00
smlng
b9ca8f466f gcoap: add asserts for path in gcoap_req_init 2018-05-22 21:28:58 +02:00
smlng
c9e9f72454 gcoap: use const path parameter 2018-05-22 21:28:58 +02:00
Bas Stottelaar
7781da7799 sys: netopt: add busy option 2018-05-21 16:37:38 +02:00
Bas Stottelaar
02395e593d sys: netopt: add checksum option 2018-05-21 16:37:38 +02:00
aa84c3e6b8
trickle: remove msg_time member from struct
The msg_time member is only locally used and set before read. It can
be removed as the state kept by the member is not used.
2018-05-17 10:40:12 +02:00
Marian Buschsieweke
4b8881abb4
gnrc/netif/hdr.h: Optimized structure layout
Reordered struct members to not waste memory due to padding.

Before:
``` C
typedef struct {
    uint8_t src_l2addr_len;
    uint8_t dst_l2addr_len;
    kernel_pid_t if_pid;    // <-- 16 bit, is aligned to 16 bit
    uint8_t flags;
    uint8_t __padding_byte; // <-- Inserted to fulfill padding requirements
    int16_t rssi;           // <-- 16 bit, is NOT aligned to 16 bit
    uint8_t lqi;
    uint8_t __padding_byte2;// <-- Inserted to fulfill padding requirements
} gnrc_netif_hdr_t;
```

Now:
``` C
typedef struct {
    uint8_t src_l2addr_len;
    uint8_t dst_l2addr_len;
    kernel_pid_t if_pid;    // <-- 16 bit, is aligned to 16 bit
    uint8_t flags;
    uint8_t lqi;
    int16_t rssi;           // <-- 16 bit, is aligned to 16 bit
} gnrc_netif_hdr_t;
```

When build for the `bluepill` board, the new layout reduces the size by 2 bytes.
2018-05-14 14:01:29 +02:00
Martine Lenders
8a46cf611e gcoap: make message queue size configurable 2018-05-06 16:41:43 +02:00
b81b12de4e
cbor: Move header to cbor subdirectory
Prevents conflicts when multiple modules/packages provide a `cbor.h`
header.
2018-05-01 11:12:39 +02:00
Joakim Nohlgård
9c85ce1916
Merge pull request #8733 from gebart/pr/matstat
matstat: Integer mathematical statistics library
2018-04-28 09:37:02 +02:00
Joakim Nohlgård
6927260973 sys/matstat: Integer mathematical statistics library 2018-04-28 08:03:35 +02:00
51f06d5127
nanocoap: Add request entity incomplete code 2018-04-26 10:50:08 +02:00
Martine Lenders
dc41f49229 cbor: add deprecation note 2018-04-25 16:46:17 +02:00
e1f6a5afd3 net/gcoap: increase stack size by sizeof(coap_pkt_t) 2018-04-22 23:15:16 +02:00
734944a56b
Merge pull request #8986 from haukepetersen/opt_event_allowmultipleposts
sys/event: allow calling event_post multiple times
2018-04-20 10:59:14 +02:00
Hauke Petersen
46888a1eaf sys/event: allow calling event_post multiple times 2018-04-19 16:41:13 +02:00
Hauke Petersen
cf7fb4b886 net/rdcli: fix doxygen groups for RD client code 2018-04-19 16:27:59 +02:00
Joakim Nohlgård
57f6081960 sys/analog_util: Refactor adc_map, fix compilation
Change the API to use int32_t instead of int, to allow for greater
flexibility on 8- and 16-bit platforms. Removed limitation on input
arguments that min < max. Times where it can be useful to have min > max
is when measuring a sensor where a higher measured voltage means a lower
physical value. For example a thermistor can be connected so that the
measured voltage goes down when the temperature goes up.
2018-04-16 13:53:49 +02:00
Joakim Nohlgård
11b668fd6d sys/analog_util: Add missing include stdint.h 2018-04-16 13:05:20 +02:00
635e72db23
Merge pull request #8788 from kaspar030/nanocoap_add_serverside_block1
nanocoap: add serverside block1 support
2018-04-16 12:49:06 +02:00
4897222e7e nanocoap: add server-side block1 support 2018-04-16 12:31:56 +02:00
6b01f4d388
Merge pull request #7263 from haukepetersen/opt_fmt_s16dfp_pos
sys/fmt: extended fmt_s16_dfp to handle scales
2018-04-13 09:54:08 +02:00
6ee4aceef1
Merge pull request #8936 from haukepetersen/opt_rdclisimple_addrconf
net/rdcli_simple: specify RD address as string
2018-04-12 15:33:33 +02:00
Martine Lenders
7974b12c11
Merge pull request #8797 from zhuoshuguo/gomach_add_dutycycle_display_command
gnrc_gomach: add duty-cycle display shell command.
2018-04-12 14:25:02 +02:00
Hauke Petersen
bd25cf5902 net/rdcli_simple: parse RD address from string
this makes the configuration of the RD server much simpler, as it
does not require the user to 'binary-code' the RD server's address
anymore.
2018-04-12 14:00:32 +02:00
Hauke Petersen
faab006631 net/rdcli_simple: improved doc and error handling 2018-04-12 13:48:09 +02:00
d64d38b391
Merge pull request #8909 from miri64/doc/enh/ipv6-rfc
doc: update IPv6 RFC references
2018-04-12 12:11:23 +02:00
shuguo
4e7ff0df28 gnrc_gomach: enabling duty-cycle printing 2018-04-12 11:46:40 +02:00
shuguo
ed4a80db00 gnrc_mac: add MAC duty-cycle record macro 2018-04-12 11:44:30 +02:00
d2db1ba2c3
Merge pull request #8568 from miri64/gnrc_ipv6_nib/fix/abro-ignore-only-on-6lr
gnrc_ipv6_nib: only discard RAs without ABROs on 6LR
2018-04-11 22:32:33 +02:00
Hauke Petersen
637fbff456 net/nanocoap: fix indention of doxy comments 2018-04-11 14:06:42 +02:00
012c016b74
Merge pull request #8772 from kaspar030/rework_nanocoap_option_handling
net/nanocoap: rework option handling
2018-04-10 21:11:18 +02:00
dee793d29f nanocoap: rework option handling 2018-04-10 20:58:06 +02:00