1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

1689 Commits

Author SHA1 Message Date
Martine Lenders
e011e3ed38
Merge pull request #14043 from pokgak/pr/sock_dtls/send_api_change
sock_dtls: add timeout to sock_dtls_send and add sock_dtls_session_init
2020-05-22 14:33:54 +02:00
Aiman Ismail
3ad2724f44 sock_dtls: fix vera++ warnings on line length 2020-05-22 14:06:38 +02:00
Aiman Ismail
b5b7955743 sock_dtls: add sock_dtls_session_init()
deprecates sock_dtls_session_create()
2020-05-22 14:06:12 +02:00
benpicco
70543bba1d
Merge pull request #13275 from miri64/gnrc_ipv6_ext_opt/feat/initial
gnrc_ipv6_ext_opt: initial import
2020-05-20 14:35:58 +02:00
Martine S. Lenders
d04621fc43
gnrc_ipv6_ext_opt: initial import
This provides header parsing for IPv6 hop-by-hop and destination
options according to [RFC 8200].

[RFC 8200]: https://tools.ietf.org/html/rfc8200#section-4.2
2020-05-20 12:34:04 +02:00
Martine S. Lenders
166315dcc2
ipv6_ext_opt: initial import of IPv6 options extension headers 2020-05-20 12:34:04 +02:00
Benjamin Valentin
3974a04623 gnrc/nib: add NIB event bus
Add a message bus where threads can listen for nib events.

Currently only the GNRC_IPV6_NIB_EVENT_ADDR_VALID event is
implemented which informs subscribers that an address got
valid.
2020-05-20 10:44:11 +02:00
Benjamin Valentin
85100ad61a gnrc_netif: add message bus to interface
Allow threads to listen for events on an interface.
2020-05-20 10:44:11 +02:00
Leandro Lanzieri
7032984a81
Merge pull request #14101 from benpicco/ieee802154-oqpsk_high_rate
net/netopt: clarify documentation of NETOPT_OQPSK_RATE
2020-05-19 16:46:22 +02:00
Benjamin Valentin
d8efcca81e net/netopt: clarify documentation of NETOPT_OQPSK_RATE
802.15.4 only specifies one rate of 250 kbit/s for O-QPSK.
Everything else is a proprietary extension.
2020-05-19 16:39:15 +02:00
Leandro Lanzieri
16113afb1e
Merge pull request #14026 from miri64/gnrc_netif/fix/deps
gnrc_netif: use gnrc_netif-submodules to pull in upper-layer struct members
2020-05-19 16:36:18 +02:00
Martine S. Lenders
5e8f8ddc4a
gnrc_netif: introduce gnrc_netif_mac pseudo-module for gnrc_mac members
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
Martine S. Lenders
a48629b395
gnrc_netif: introduce gnrc_netif_ipv6 pseudo-module for IPv6 members
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
Martine S. Lenders
9801a439fc
gnrc_netif: introduce gnrc_netif_6lo pseudo-module for 6LoWPAN members
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
Martine S. Lenders
0d2f0a5ba4
gnrc_netif: fix gnrc_netif_lorawan dependencies 2020-05-19 16:10:58 +02:00
Aiman Ismail
7f883f4098 sock_dtls: add timeout to sock_dtls_send() 2020-05-18 09:45:14 +02:00
Leandro Lanzieri
8ce77f2045
gnrc/rpl: Move GNRC_RPL_MSG_QUEUE_SIZE to 'CONFIG_' namespace 2020-05-14 15:57:02 +02:00
Leandro Lanzieri
2c04f54d28
gnrc/rpl: Move GNRC_RPL_DEFAULT_NETIF to 'CONFIG_' namespace 2020-05-14 15:57:01 +02:00
Leandro Lanzieri
d075b4dfe9
gnrc/rpl: Move GNRC_RPL_PARENT_TIMEOUT_DIS_RETRIES to 'CONFIG_' 2020-05-14 15:57:01 +02:00
Leandro Lanzieri
e547061d19
gnrc/rpl: Move GNRC_RPL_DEFAULT_INSTANCE to 'CONFIG_' namespace 2020-05-14 15:57:01 +02:00
Leandro Lanzieri
5a28e7cad4
gnrc/rpl: Move GNRC_RPL_DEFAULT_MAX_RANK_INCREASE to 'CONFIG_' 2020-05-14 15:57:00 +02:00
Leandro Lanzieri
1b6f915e0c
gnrc/rpl: Move GNRC_RPL_DEFAULT_MIN_HOP_RANK_INCREASE to 'CONFIG_' 2020-05-14 15:57:00 +02:00
Leandro Lanzieri
cd50686eb6
gnrc/rpl: Move GNRC_RPL_WITHOUT_VALIDATION to 'CONFIG_' namespace
Also check its value using IS_ACTIVE when possible.
2020-05-14 15:57:00 +02:00
Leandro Lanzieri
02b10105c1
gnrc/rpl: Move GNRC_RPL_DODAG_CONF_OPTIONAL_ON_JOIN to 'CONFIG_' 2020-05-14 15:56:59 +02:00
Leandro Lanzieri
dfa722c519
gnrc/rpl: Move GNRC_RPL_WITHOUT_PIO to 'CONFIG_' namespace
Also evaluate its value using IS_ACTIVE when possible.
2020-05-14 15:56:59 +02:00
Leandro Lanzieri
88edfbad2c
gnrc/rpl: Add independent flags to set mode of operation 2020-05-14 15:56:58 +02:00
Leandro Lanzieri
908309f714
gnrc/rpl: Move GNRC_RPL_CLEANUP_TIME to 'CONFIG_' namespace 2020-05-14 15:56:58 +02:00
Leandro Lanzieri
33189b869e
gnrc/rpl: Move GNRC_RPL_DAO_DELAY_JITTER to 'CONFIG_' namespace 2020-05-14 15:56:58 +02:00
Leandro Lanzieri
3deab70a4c
gnrc/rpl: Move GNRC_RPL_DAO_DELAY_DEFAULT to 'CONFIG_' namespace 2020-05-14 15:56:57 +02:00
Leandro Lanzieri
c8fb88d2f0
gnrc/rpl: Move GNRC_RPL_DAO_DELAY_LONG to 'CONFIG_' namespace 2020-05-14 15:56:57 +02:00
Leandro Lanzieri
c162631aa3
gnrc/rpl: Move GNRC_RPL_DAO_ACK_DELAY to 'CONFIG_' 2020-05-14 15:56:57 +02:00
Leandro Lanzieri
df29a769ba
gnrc/rpl: Move GNRC_RPL_DAO_SEND_RETRIES to 'CONFIG_' namespace 2020-05-14 15:56:56 +02:00
Leandro Lanzieri
51939c3608
gnrc/rpl: Move GNRC_RPL_LIFETIME_UNIT to 'CONFIG_' namespace 2020-05-14 15:56:56 +02:00
Leandro Lanzieri
3b06b41fa9
gnrc/rpl: Move GNRC_RPL_DEFAULT_LIFETIME to 'CONFIG_' namespace 2020-05-14 15:56:56 +02:00
Leandro Lanzieri
c61b6bca38
gnrc/rpl: Move GNRC_RPL_DEFAULT_DIO_REDUNDANCY_CONSTANT to 'CONFIG_' 2020-05-14 15:56:55 +02:00
Leandro Lanzieri
f353ca8225
gnrc/rpl: Move GNRC_RPL_DEFAULT_DIO_INTERVAL_MIN to 'CONFIG_' namespace 2020-05-14 15:56:55 +02:00
Leandro Lanzieri
7216c21dbc
gnrc/rpl: Move GNRC_RPL_DEFAULT_DIO_INTERVAL_DOUBLINGS to 'CONFIG_' 2020-05-14 15:56:52 +02:00
Ken Bannister
10a479c1c5
Merge pull request #13935 from cgundogan/pr/nanocoap/proxy_uri_parsing
nanocoap: add coap_get_proxy_uri()
2020-05-07 06:14:19 -04:00
Martine Lenders
18bd56d2d9
Merge pull request #13979 from benpicco/net/gnrc/netif/6lo-frag_size
gnrc/netif: 6lo: use 16 bit for max_frag_size
2020-05-06 12:43:02 +02:00
Leandro Lanzieri
34689a290c
Merge pull request #13994 from miri64/gnrc_nettype/enh/use-pseudomodules
gnrc_nettype: indirect NETTYPE definition via pseudo-modules
2020-05-05 20:59:44 +02:00
Martine S. Lenders
ae05e84a9b
gnrc_nettype: fix line-length for all to be <100 2020-05-05 19:16:06 +02:00
Martine S. Lenders
1c251beb03
gnrc_nettype: indirect NETTYPE definition via pseudo-modules
Instead of making a NETTYPE definition dependent on an implementation
module, this change makes it dependent on a pseudo-module for each
specific NETTYPE and makes the respective implementation modules
dependent on it.

This has two advantages:

- one does not need include the whole implementation module to
  subscribe to a NETTYPE for testing or to provide an alternative
  implementation
- A lot of circular dependencies related to GNRC could be untangled.
  E.g. the only reason `gnrc_icmpv6` needs the `gnrc_ipv6` is because it
  uses `GNRC_NETTYPE_IPV6` to search for the IPv6 header in an ICMPv6
  when demultiplexing an ICMPv6 header.

This change does not resolve these dependencies or include usages where
needed. The only dependency change is the addition of the
pseudo-modules to the implementation modules.
2020-05-05 19:16:06 +02:00
Martine S. Lenders
d141d0b13d
gnrc_netif: doxygen does not process IS_ACTIVE() 2020-05-05 10:17:30 +02:00
Ken Bannister
595e8c631f
Merge pull request #13726 from benpicco/nanocoap-payload_helper
nanocoap: add payload helper functions
2020-05-03 08:56:30 -04:00
Benjamin Valentin
e5c20b143d nanocoap: add coap_payload_put_char() 2020-05-01 13:58:22 +02:00
Benjamin Valentin
2751708341 nanocoap: add payload helper functions
This adds two functions `coap_payload_add()` and `coap_payload_advance()`.

 - `coap_payload_add()` will add n bytes to the payload buffer and advance
    payload pointer accordingly.

    const char hello[] = "Hello CoAP!";
    coap_payload_add(pkt, hello, sizeof(hello));

 - `coap_payload_advance()` will advance the payload buffer after data
    has been added to it.

    int len = snprintf(pkt->payload, pkt->payload_len, "%s %s!", "Hello", "CoAP");
    coap_payload_advance(pkt, len);

I considered adding an additional parameter to keep track of the total request size
(returned size from coap_opt_finish() incremented by each added payload fragment),
but decided against it to keep consistency with the existing API.
2020-05-01 13:58:22 +02:00
Benjamin Valentin
4065da8838 gnrc/netif: 6lo: use 16 bit for max_frag_size
Using 8 bit for `max_frag_size` limits that value to 255.
802.15.4g specifies a PDU of 2047 bytes which exceeds that limit.

Using a 16 bit value here allows to use the full L2 PDU.

Before:

    12:02:16,300 # ping6 fe80::2068:3123:59f5:d238%8 -s 400
    12:02:16,302 # sending 244 bytes
    12:02:16,387 # sending 218 bytes
    12:02:16,624 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=0 ttl=64 rssi=-49 dBm time=316.307 ms
    12:02:17,302 # sending 244 bytes
    12:02:17,387 # sending 218 bytes
    12:02:17,624 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=1 ttl=64 rssi=-49 dBm time=316.307 ms
    12:02:18,302 # sending 244 bytes
    12:02:18,387 # sending 218 bytes
    12:02:18,624 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=2 ttl=64 rssi=-50 dBm time=316.306 ms
    12:02:18,625 #
    12:02:18,629 # --- fe80::2068:3123:59f5:d238 PING statistics ---

With this patch:

    12:09:44,276 #  ping6 fe80::2068:3123:59f5:d238%8 -s 400
    12:09:44,278 # sending 432 bytes
    12:09:44,574 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=0 ttl=64 rssi=-52 dBm time=289.888 ms
    12:09:45,279 # sending 432 bytes
    12:09:45,574 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=1 ttl=64 rssi=-52 dBm time=289.885 ms
    12:09:46,069 # sending 43 bytes
    12:09:46,279 # sending 432 bytes
    12:09:46,499 # sending 43 bytes
    12:09:46,574 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=2 ttl=64 rssi=-47 dBm time=289.886 ms
    12:09:46,574 #
    12:09:46,578 # --- fe80::2068:3123:59f5:d238 PING statistics ---
2020-04-29 12:49:36 +02:00
Francisco
80b300289d
Merge pull request #13912 from benpicco/at86rf215-mr-qpsk
drivers/at86rf215: implement MR-O-QPSK
2020-04-29 12:44:00 +02:00
Benjamin Valentin
fac35644d0 ieee802154: add definitions & config options for MR-O-QPSK
Define options for IEEE 802.15.4g MR-O-QPSK as well as shell commands
to set them via ifconfig.
2020-04-29 10:41:37 +02:00
Martine Lenders
633d0f486d
Merge pull request #13669 from bergzand/pr/netif/async_events
gnrc_netif: Add support for internal event loop
2020-04-28 13:03:39 +02:00