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

1629 Commits

Author SHA1 Message Date
Martine Lenders
ba711c50bf
Merge pull request #13616 from miri64/sock/enh/recv_buf
sock: amend with zero-copy receive functions
2020-03-24 17:10:12 +01:00
Martine S. Lenders
2ed7a7345f
sock_udp: fix doc of sock objects 2020-03-24 14:02:36 +01:00
Martine S. Lenders
a7d468988d
sock: amend with zero-copy receive functions
This change amends the `sock` API by a set of functions to `sock` that
allow provisioning of stack-internal buffers to the caller on receive.

This allows to cover two use-cases

1. Zero-copy systems: if the stacks supported the buffer space provided
   by these functions can be the same that was filled in the link-layer
2. asynchronous receive within a wrapping sock layer (e.g. `sock_dtls`
   wrapping `sock_udp`): to receive packets of the lower level protocol
   asynchronously, the wrapping implementation layer would currently
   need to allocate its own buffer space, introducing a third buffer
   space in addition to the one of the application and the network
   stack. For a wrapping layer this is undesirable.

While there are security considerations exposing stack internal memory
space to the caller, I believe they are minor, as in the end the
application developer is the person in control of the node.
2020-03-24 14:02:36 +01:00
Leandro Lanzieri
877db8c00e
Merge pull request #13557 from gschorcht/doc/fix_url
doc: fix broken links
2020-03-24 13:08:18 +01:00
Gunar Schorcht
62e55bb8c0 sys/net/lorawan: fix broken links 2020-03-24 10:39:49 +01:00
Gunar Schorcht
b1ad00eb11 sys/net/eui64: fix broken links 2020-03-24 10:39:49 +01:00
1d5010e126
nanocoap: make separate tree handling function
This refactors nanocoap to seperate out the resource tree parsing. It
allows for calling the tree handler with custom resource trees. The
advantage is that a resource with COAP_MATCH_SUBTREE can parse a new
separate resource tree.
2020-03-23 15:08:53 +01:00
Jose Alamos
c2e491d2b7 gnrc_netif: change macros to inline functions 2020-03-17 10:54:30 +01:00
Jose Alamos
4393822b0f gnrc_netif: add function to check if device requires 6Lo 2020-03-17 10:54:30 +01:00
Jose Alamos
6ace7b5472 gnrc_netif: use gnrc_netif_single where possible 2020-03-17 10:54:30 +01:00
Jose Alamos
121626b362 gnrc_netif: add function to check if single GNRC netif 2020-03-17 10:50:49 +01:00
Leandro Lanzieri
d281d4843f
Merge pull request #13628 from jia200x/pr/gnrc_rpl_macro
gnrc_rpl: add default value to GNRC_RPL_DEFAULT_NETIF
2020-03-13 15:47:13 +01:00
Ken Bannister
ec2aff4546
Merge pull request #13240 from kb2ma/gcoap/deprecate_add_qstring
net/coap: deprecate gcoap_add_qstring() and update uses
2020-03-13 08:04:50 -04:00
Jose Alamos
062643091c gnrc_rpl: add default value to GNRC_RPL_DEFAULT_NETIF 2020-03-12 18:50:18 +01:00
benpicco
1212165222
Merge pull request #13584 from kb2ma/nanocoap/add_uquery_improvements
net/nanocoap: add uquery improvements
2020-03-12 15:18:07 +01:00
Ken Bannister
e6b20b4ce7 net/nanocoap: Fix return value doc for coap_opt_add_uqueryX() 2020-03-12 08:44:26 -04:00
Leandro Lanzieri
b3aa417d9f
Merge pull request #13605 from jia200x/pr/nib_fix_parenthesis
gnrc_ipv6_nib: remove parenthesis from boolean configs
2020-03-12 10:10:10 +01:00
Martine S. Lenders
411e320b0c
sock_async_event: update for async callback argument support 2020-03-11 16:54:12 +01:00
Martine S. Lenders
612e782b3c
sock_async: supply optional callback argument with callback setter 2020-03-11 16:54:11 +01:00
Martine S. Lenders
6e6e435c65
sock_async: add optional callback argument 2020-03-11 16:54:11 +01:00
Jose Alamos
c5cba0733f gnrc_ipv6_nib: remove parenthesis from boolean configs 2020-03-10 12:30:12 +01:00
Aiman Ismail
aa3cbacceb net/sock_dtls: do not put msg in mbox on timeout 2020-03-09 15:08:52 +01:00
Martine S. Lenders
06d1d79ffa
gnrc_dhcpv6_client: configure prefix as compression context on 6LBRs 2020-03-09 14:21:53 +01:00
Martine Lenders
c30f83ac3b
Merge pull request #13579 from jia200x/pr/gnrc_netif_send
gnrc_netif_send: add send function
2020-03-06 20:07:45 +01:00
Jose Alamos
ca54366712 gnrc_netif: add send function 2020-03-06 15:22:43 +01:00
Aiman Ismail
64f9658472 nanocoap: add coap_opt_add_uquery2() 2020-03-05 19:06:14 +01:00
Benjamin Valentin
d765098d72 sys/auto_init: allow delayed initialisation of gnrc_netif
Co-authored-by: Martine S. Lenders <m.lenders@fu-berlin.de>
2020-03-04 16:13:40 +01:00
Benjamin Valentin
2f6bf38d17 net/eui64: provide 32 bit access
Allow to read the eui64 as two 32 bit values.
2020-03-01 18:37:51 +01:00
benpicco
244c7da050
Merge pull request #13026 from brummer-simon/gnrc_tcp-prepare_for_sock_integration
gnrc_tcp: Prepare for sock integration.
2020-02-26 23:22:58 +01:00
Simon Brummer
10872d9a85 gnrc_tcp: Add Endpoints for connection specification 2020-02-26 21:24:06 +01:00
benpicco
d044800300
Merge pull request #13450 from benpicco/dns-fixes
fix DNS resolution in ping6
2020-02-24 21:58:34 +01:00
Benjamin Valentin
fa4447241f sock_dns: make sock_dns_query() return the length of the address
The implementation already did that, now also reflect this in the
documentation.
2020-02-24 14:29:17 +01:00
Benjamin Valentin
1de14931b8 sock_dns: use the same buffer for request & reply
Saving RAM is more important than saving a few cycles
used by re-creating the request buffer in the error case.

Also reduce the size of the buffer to 128 bytes.
If we are just requesting the AAAA record it is unlikely
for the reply to take up the maximum size of 512 bytes.

We were already placing restrictions on the domain name length,
those are now actually a bit more relaxed (112 bytes instead of 64)
2020-02-24 14:29:17 +01:00
Martine S. Lenders
9b4dac7f3e
sock_async: include sock_async_ctx.h before sock-types
This way, the sock-types can use the sock_async_ctx_t type in their
definition without including `sock_async_ctx.h` (potentially creating
further cyclic includes).
2020-02-24 12:33:38 +01:00
Martine Lenders
cba056d560
Merge pull request #13386 from kb2ma/gcoap/sock_async
net/gcoap: use sock_async and events
2020-02-23 16:17:53 +01:00
Sören Tempel
0e2a620788 gnrc_tftp: remove module
Has been deprecated for awhile (01fc3d8f0b).
2020-02-20 12:04:01 +01:00
benpicco
030e7ebc06
Merge pull request #13307 from miri64/dhcpv6-client-6lbr/feat/init
gnrc_dhcpv6_client_6lbr: initial import of a 6LBR DHCPv6 client
2020-02-20 11:00:35 +01:00
Martine S. Lenders
db463a3373
gnrc_dhcpv6_client_6lbr: initial import of a 6LBR DHCPv6 client 2020-02-19 17:37:47 +01:00
Ken Bannister
d6fa3c7c2f net/gcoap: add timeout event/handler for server response 2020-02-16 09:17:48 -05:00
Ken Bannister
ea62734baf net/gcoap: add sock_async event handling
Rework from earlier custom event/msg handling.
2020-02-16 09:17:48 -05:00
Cenk Gündoğan
4b58e5d41b gnrc_rpl_p2p: fix cleanup timer usage 2020-02-14 11:41:30 +01:00
benpicco
da78d03e95
Merge pull request #13338 from chrysn-pull-requests/coap-no-deduplication
nanocoap: State handler idempotentcy requirement
2020-02-13 17:36:28 +01:00
chrysn
83c889320d nanocoap: State handler idempotentcy requirement
Closes: https://github.com/RIOT-OS/RIOT/issues/12938
2020-02-11 11:12:08 +01:00
Martine S. Lenders
e94aa40bf5
gnrc_pktbuf: deprecate gnrc_pktbuf_replace_snip()
The function is unused and unneeded since 69d9ecc0d9 and
https://github.com/RIOT-OS/RIOT/issues/5089 calls to provide unittests.
2020-02-11 09:49:57 +01:00
Martine Lenders
ebb20f2d44
Merge pull request #13305 from miri64/gnrc_ipv6_ext_frag_stats/feat/initial
gnrc_ipv6_ext_frag: initial import of statistics module
2020-02-10 20:23:13 +01:00
Martine S. Lenders
cf69e61289
gnrc_ipv6_ext_frag: initial import of statistics module 2020-02-06 13:48:42 +01:00
Martine S. Lenders
ed9f43ab3a
gnrc_sixlowpan_frag_stats: add average fragments per datagram statistic 2020-02-06 13:40:23 +01:00
Leandro Lanzieri
5e1ef498a7
Merge pull request #13245 from miri64/gnrc_sixlowpan_frag_rb/enh/doc-fix-kconfig
gnrc_sixlowpan_frag_rb: fix doc on DO_NOT_OVERRIDE
2020-02-03 13:54:37 +01:00
Martine Lenders
02c16479cf
Merge pull request #13244 from miri64/gnrc_ipv6_ext/enh/rbuf-do-not-override
gnrc_ipv6_ext_frag: add configuration option to keep oldest entry
2020-02-03 13:23:20 +01:00
Martine S. Lenders
90ed5bf4af
gnrc_sixlowpan_frag_rb: fix doc on DO_NOT_OVERRIDE 2020-02-03 12:48:19 +01:00
Martine S. Lenders
d99012561a
gnrc_ipv6_ext_frag: add configuration option to keep oldest entry 2020-02-03 12:44:15 +01:00
Martine S. Lenders
7e4078a6d1
net/ipv6/ext/rh.h: remove unneeded header includes
Only `<stdint.h>` is used by that header so all the other ones can go.
2020-01-31 18:01:34 +01:00
Cenk Gündoğan
0cf8bf1665
Merge pull request #12958 from leandrolanzieri/pr/kconfig_migrate/gnrc/ipv6_ext_hdr
Kconfig: Expose gnrc/ipv6/ext/frag configurations
2020-01-30 19:15:08 +01:00
Leandro Lanzieri
5602bd55ed gnrc/ipv6/ext/frag: Move configurations to 'CONFIG_' namespace
Macros that changed:
GNRC_IPV6_EXT_FRAG_SEND_SIZE -> CONFIG_GNRC_IPV6_EXT_FRAG_SEND_SIZE
GNRC_IPV6_EXT_FRAG_RBUF_SIZE -> CONFIG_GNRC_IPV6_EXT_FRAG_RBUF_SIZE
GNRC_IPV6_EXT_FRAG_LIMITS_POOL_SIZE -> CONFIG_GNRC_IPV6_EXT_FRAG_LIMITS_POOL_SIZE
GNRC_IPV6_EXT_FRAG_RBUF_TIMEOUT_US -> CONFIG_GNRC_IPV6_EXT_FRAG_RBUF_TIMEOUT_US
2020-01-30 17:42:41 +01:00
Sebastian Meiling
a4c4c25b3b
Merge pull request #12866 from jia200x/pr/gnrc_lorawan_remove_netdev
net/gnrc_lorawan: remove netdev layer from MAC
2020-01-30 14:02:59 +01:00
Ken Bannister
6ab7fab40a net/gcoap: deprecate gcoap_add_qstring()
Use Packet API function coap_opt_add_uquery() instead.
2020-01-30 05:41:39 -05:00
Ken Bannister
0ed4fe2da6 net/coap: move/rename function to add query option 2020-01-29 09:23:47 -05:00
Cenk Gündoğan
2fcd9e0456
Merge pull request #13225 from leandrolanzieri/pr/net/gcoap/fix_ref_to_variance
gcoap: Remove reference to COAP_ACK_VARIANCE in docs
2020-01-28 21:28:32 +01:00
Leandro Lanzieri
8250f4d198 net/gcoap: Remove reference to COAP_ACK_VARIANCE in docs 2020-01-28 20:14:46 +01:00
Cenk Gündoğan
c84d7d2623
Merge pull request #12887 from leandrolanzieri/pr/kconfig_migrate/gcoap
Kconfig: Expose Gcoap configurations
2020-01-28 18:58:29 +01:00
Leandro Lanzieri
bab6f4737c net/gcoap: Move config macros to 'CONFIG_' namespace
Macros that changed:
GCOAP_MSG_QUEUE_SIZE -> CONFIG_GCOAP_MSG_QUEUE_SIZE
GCOAP_NO_AUTO_INIT -> CONFIG_GCOAP_NO_AUTO_INIT
GCOAP_NO_RETRANS_BACKOFF -> CONFIG_GCOAP_NO_RETRANS_BACKOFF
GCOAP_NON_TIMEOUT -> CONFIG_GCOAP_NON_TIMEOUT
GCOAP_OBS_CLIENTS_MAX -> CONFIG_GCOAP_OBS_CLIENTS_MAX
GCOAP_OBS_OPTIONS_BUF -> CONFIG_GCOAP_OBS_OPTIONS_BUF
GCOAP_OBS_REGISTRATIONS_MAX -> CONFIG_GCOAP_OBS_REGISTRATIONS_MAX
GCOAP_OBS_VALUE_WIDTH -> CONFIG_GCOAP_OBS_VALUE_WIDTH
GCOAP_PDU_BUF_SIZE -> CONFIG_GCOAP_PDU_BUF_SIZE
GCOAP_PORT -> CONFIG_GCOAP_PORT
GCOAP_RECV_TIMEOUT -> CONFIG_GCOAP_RECV_TIMEOUT
GCOAP_REQ_OPTIONS_BUF -> CONFIG_GCOAP_REQ_OPTIONS_BUF
GCOAP_REQ_WAITING_MAX -> CONFIG_GCOAP_REQ_WAITING_MAX
GCOAP_RESEND_BUFS_MAX -> CONFIG_GCOAP_RESEND_BUFS_MAX
GCOAP_RESP_OPTIONS_BUF -> CONFIG_GCOAP_RESP_OPTIONS_BUF
GCOAP_TOKENLEN -> CONFIG_GCOAP_TOKENLEN
2020-01-28 11:59:52 +01:00
Leandro Lanzieri
4e85241270 net/coap: Remove unused COAP_ACK_VARIANCE macro 2020-01-27 19:47:20 +01:00
Leandro Lanzieri
8c25d12ae5 net/coap: Represent ACK_RANDOM_FACTOR multiplied by 1000 2020-01-27 19:47:20 +01:00
Jose Alamos
cc2fd97194 net/gnrc_lorawan: remove netdev abstraction from MAC layer 2020-01-27 10:10:24 +01:00
Leandro Lanzieri
881f17a816
Merge pull request #13123 from PeterKietzmann/pr_kconf_6lo
Kconfig: Expose gnrc/sixlowpan configurations
2020-01-20 17:41:52 +01:00
Martine S. Lenders
744f078b3a
gnrc_nettype: deprecate iovec type
It is unused since 9fb2f541ba and not
expected to be re-used in the future.
2020-01-20 13:39:24 +01:00
PeterKietzmann
df7a5d6df8 net/gnrc/sixlowpan/frag/rb:Move not override to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
55282a1b1d net/gnrc/sixlowpan/frag/vrb:Move timeout macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
cc6bee4986 net/gnrc/sixlowpan/frag/vrb:Move size macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
a3f349c991 net/gnrc/sixlowpan/nd: remove duplicate definition 2020-01-17 18:09:19 +01:00
PeterKietzmann
7d2c9ef418 net/gnrc/sixlowpan/nd:Move ND time macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
582779a7a0 net/gnrc/sixlowpan/frag/rb:Move del. timer macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
811facfa15 net/gnrc/sixlowpan/frag/rb:Move timeout macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
9389d5b90f net/gnrc/sixlowpan/frag/rb:Move size macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
89af238eec net/gnrc/sixlowpan/frag/fb:Move size macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
PeterKietzmann
b5ea3122e7 net/gnrc/sixlowpan:Move queue size macro to 'CONFIG_' namespace 2020-01-17 18:09:19 +01:00
Martine Lenders
97a71bc8a6
Merge pull request #13129 from PeterKietzmann/pr_sixlowpan_aggr_override
gnrc/sixlowpan: add deprecation note for GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE
2020-01-16 15:57:03 +01:00
PeterKietzmann
c7b6dc587c gnrc/sixlowpan: deprecate GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE 2020-01-16 13:59:16 +01:00
Sebastian Meiling
48fbd446fe
Merge pull request #8796 from miri64/dhcpv6c-pd/feat/initial
dhcpv6: Initial implementation of a client (with IA_PD support)
2020-01-16 13:32:51 +01:00
Martine Lenders
1048d67c76
dhcpv6: provide initial client implementation
This implements a client for DHCPv6 IA_PD (Identity Association for
Prefix Delegation). Goal was to have a IETF-compliant alternative to
UHCP. The implementation was based on RFC 8415.
2020-01-16 12:36:03 +01:00
Martine Lenders
89903fa096
dhcpv6: initial import of protocol defintions
Imports all relevant constants into a generic header.
2020-01-16 12:34:16 +01:00
fc45c2cc83
Merge pull request #12848 from miri64/gnrc_sixlowpan_frag_rb/fix/interval-fixes
gnrc_sixlowpan_frag_vrb: fix issues with interval marker inherited from base
2020-01-15 20:57:49 +01:00
Martine Lenders
5bb404a1c7
Merge pull request #12837 from kb2ma/gcoap/remove_gcoap_req_send2
net/gcoap: remove gcoap_req_send2()
2020-01-15 14:45:29 +01:00
Francisco
43d2ca4771
Merge pull request #12602 from miri64/sock_async_event/feat/initial
sock_async: initial import of event-based implementation
2020-01-15 14:32:05 +01:00
Martine Lenders
e46ad92cd3
sock_async_event: initial import of event-based implementation 2020-01-15 09:56:11 +01:00
Martine Lenders
48221bb018
Merge pull request #12838 from kb2ma/gcoap/deprecate_gcoap_finish
net/gcoap: deprecate gcoap_finish()
2020-01-14 10:20:44 +01:00
Ken Bannister
57cd900970 net/gcoap: deprecate macros used only by gcoap_finish() 2020-01-13 10:14:02 -05:00
Ken Bannister
6c2495bedb net/gcoap: deprecate gcoap_finish() 2020-01-13 10:14:02 -05:00
Martine Lenders
cd3f1b89da
Merge pull request #13107 from leandrolanzieri/pr/sock/async_fix_types
sock/async: Fix forward declaration of sock_tcp_queue_t
2020-01-13 14:46:50 +01:00
Leandro Lanzieri
b5c3e32af6
Merge pull request #13108 from MrKevinWeiss/pr/fix/gnrcctcdoc
doc/gnrc/ipv6: Update documentation group for gnrc
2020-01-13 14:02:16 +01:00
MrKevinWeiss
1e1bf6ed98 doc/gnrc/ipv6: Update documentation group for gnrc
Since the GNRC_IPV6 is part of GNRC it should be a part of the gnrc compile time configuration group.
This adds information on the group to specify it is gnrc and changes the group from config to net_gnrc_conf
2020-01-13 12:34:26 +01:00
PeterKietzmann
fb71ccc098 net/gnrc/netif:GNRC_NETIF_MIN_WAIT_AFTER_SEND_US to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
PeterKietzmann
9e83d12bc0 net/gnrc/netif: Move GNRC_NETIF_IPV6_ADDRS_NUMOF to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
PeterKietzmann
724d58b074 net/gnrc/netif: Move GNRC_NETIF_MSG_QUEUE_SIZE to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
PeterKietzmann
b28a586702 net/gnrc/netif: Move GNRC_NETIF_DEFAULT_HL to 'CONFIG_' namespace 2020-01-13 12:28:37 +01:00
Leandro Lanzieri
e7ce6914c5 sock/async: Fix forward declaration of sock_tcp_queue_t 2020-01-13 12:19:00 +01:00
PeterKietzmann
3f0a19a9bc net/gnrc/ipv6: Move config macros to 'CONFIG_' namespace 2020-01-07 15:36:04 +01:00
Martine S. Lenders
3896145c31
sock: ignore -Wtypedef-redefinition for LLVM where needed
net/sock/async/types.h included by net/sock.h needs to re-typedef the
the sock types to prevent cyclic includes.
2020-01-07 10:13:02 +01:00
Martine S. Lenders
43b1c5c74c
sock_async: fix cyclic dependency with sock_types.h
Typically a stack needs to add the callback for a sock as a member of
its respective `sock` type so `sock_types.h` needs to include
`net/sock/async.h` at the moment. As those however include
`net/sock/<prot>.h`, which in turn include `sock_types.h`, we create a
cyclic dependency.

This fix resolves this cyclic dependency, by putting the callback
definitions in its own header that then in turn can be also included
by `sock_types.h`.
2020-01-07 10:13:01 +01:00
Francisco
dcc5299682
Merge pull request #10667 from miri64/gnrc_sixloenc/enh/6lo-config
gnrc_netif: make 6LoENC dynamically configurable
2020-01-06 13:19:24 +01:00