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

1716 Commits

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