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

46 Commits

Author SHA1 Message Date
Martine S. Lenders
d934579817
gnrc_sock: adapt for *_recv_buf() API change 2020-04-01 15:50:51 +02:00
benpicco
8024380f7b
Merge pull request #13700 from miri64/gnrc_sock/enh/recv_buf
gnrc_sock: provide implementation for `sock_*_recv_buf()`
2020-03-27 16:34:57 +01:00
Martine Lenders
f39cfc7556
Merge pull request #13253 from nmeum/pr/random_ephemeral_port
gnrc_sock_udp: choose random ephemeral port
2020-03-26 15:00:14 +01:00
Martine S. Lenders
39cd293a0e
gnrc_sock: provide implementation for sock_*_recv_buf() 2020-03-24 17:15:17 +01:00
Jose Alamos
6ace7b5472 gnrc_netif: use gnrc_netif_single where possible 2020-03-17 10:54:30 +01:00
Martine S. Lenders
4bdd138021
gnrc_sock: update implementation for async callback argument 2020-03-11 16:54:11 +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
Sören Tempel
5cf433806e gnrc_sock_udp: fix null check in port generation function
Still check if the port is unused if no socket has been given.
2020-02-17 10:20:22 +01:00
Sören Tempel
b37bed8a1d gnrc_sock_udp: choose random ephemeral port
Implements a random ephemeral port selection as per the second algorithm
from RFC 6056, see https://tools.ietf.org/html/rfc6056#section-3.3.2.
2020-02-03 16:55:00 +01:00
Martine S. Lenders
37d99c11b0
gnrc_sock: use …/async/types.h instead of …/async.h 2020-01-07 10:13:01 +01:00
Martine Lenders
7b13781cd2
Merge pull request #12625 from miri64/gnrc_sock/enh/async-support
gnrc_sock: provide asynchronous event implementation
2019-12-09 12:39:58 +01:00
Martine Lenders
8992dce4da gnrc_sock: consider all pktsnip for gnrc_neterr reporting
As analyzed in #12678 there are cases where different reports can be
generated for the different snips of the packet send via the `sock`.

To catch all errors generated by the stack, the sock has to subscribe
for all snips of the packet sent. If any of the snips reports an error
distinct from `GNRC_NETERR_SUCCESS` or the previous one, we report that
status instead of just the first we receive. This way we are ensured to
have the first error reported by the stack for the given packet.
2019-11-11 16:40:32 +01:00
Martine S. Lenders
b713413c52 gnrc_sock: provide asynchronous event implementation 2019-11-01 00:21:04 +01:00
f922df8c99
net/gnrc/sock: remove duplicate net_gnrc_sock group definition 2019-08-05 16:57:37 +02:00
Robin
e9047063ca gnrc_sock_[udp|ip]: store return value before release
sock_[udp|ip]_recv returns `pkt->size` after pkt was released via `gnrc_pktbuf_release(pkt)`.
This can result in wrong values returned by this functions and thus is not according to its sepecification.

Storing this values before releasing pkt returning the stored values should fix this.
2018-11-12 14:58:26 +01:00
chrysn
f07308b07d gnrc: Extend gnrc_ipv6_get_header checks, use in sock recv
gnrc_sock_recv used to duplicate functionality of gnrc_ipv6_get_header,
but additionally checked whether the IPv6 snip is large enough.

All checks are now included in gnrc_ipv6_get_header, but as most of them
stem from programming / user errors, they were moved into asserts; this
constitutes an API change.
2018-09-28 19:40:59 +02:00
05b6af466c sys: add missig <string.h> includes 2018-09-20 23:47:40 +02:00
Martine Lenders
cb74063573 gnrc_sock_udp: use sock's local end-point for listening
Without this fix the listener doesn't actually listen on the
(potentially) ephemeral port introduced in #9382, but on port 0 which is
wrong.
2018-06-28 17:25:26 +02:00
Martine Lenders
a33399edf7 gnrc_sock_udp: provide fix for error state for full port pool 2018-06-20 14:51:18 +02:00
Martine Lenders
f8524cb4c0 gnrc_sock_udp: provide port for #9376 API fix 2018-06-20 14:51:17 +02:00
b343ff8ac9
Merge pull request #8470 from miri64/gnrc_sock/enh/set-remote-netif-implicitly
gnrc_sock: set remote network interface implicitly
2018-03-06 12:27:00 +01:00
Martine Lenders
15d405f597 gnrc_sock: add more cppcheck suppressions 2018-03-06 12:20:56 +01:00
Martine Lenders
98e45c3d55 gnrc_sock: set remote network interface implicitly
When there is only one interface we are simplifying a lot for the users
if the interface is set implicitly.
2018-03-05 17:01:36 +01:00
Martine Lenders
2621a57362 gnrc_sock: make sock compilable with gnrc_neterr
gnrc_sock currently does not compile with `gnrc_neterr` included, since
both `msg_try_receive()` and `msg_try_send()` expect a *pointer* to a
`msg_t`, not a `msg_t`.

To test, just compile an application using `gnrc_sock` (e.g.
`examples/gcoap`) with `USEMODULE+=gnrc_neterr`.
2018-02-17 13:53:38 +01:00
8a6d04ce52
Merge pull request #7925 from RIOT-OS/gnrc_netif2_integration/master
gnrc_netif2: gnrc_ipv6_nib: full integration into GNRC
2017-11-27 21:12:14 +01:00
Martine Lenders
71a7dbf918
gnrc: remove legacy network interface structures 2017-11-17 09:20:29 +01:00
c02ee081d9
Merge pull request #7174 from miri64/gnrc_sock/fix/return-EINVAL-for-inval-sock
sock: specify invalid parameter error
2017-11-02 17:30:35 +01:00
Lucas Jenss
6998ffbb14 cppcheck: Provide consistent reason formatting for all cppcheck-suppresses 2017-10-10 10:25:20 -07:00
Tobias Heider
3b5860451c gnrc/sock: fix fallthrough warning (#7403)
* gnrc/sock: fix fallthrough warning

* gnrc/sock: added spaces around "Fall Through."
2017-07-25 21:12:30 +02:00
Martine Lenders
ce0d81c5c8
sock: specify invalid parameter error 2017-06-12 13:54:55 +02:00
Martine Lenders
c2c2516a53 gnrc: fix cppcheck warnings 2017-04-14 14:36:14 +02:00
Oleg Hahm
d523c33015 doc: gnrc: fix doxygen and add missing doc 2017-03-10 14:56:28 +01:00
Oleg Hahm
7ee7801c10 *: remove trailing underscores from header guards 2017-01-19 18:30:53 +01:00
smlng
e28d14f77f gnrc, sock_udp: correct includes 2017-01-18 13:23:12 +01:00
smlng
a9cb29c46b gnrc_sock_udp: optimized remote ep handling 2017-01-18 13:23:12 +01:00
smlng
e2cf221a58 gnrc_sock_udp: get source port from dynmic port range
- get a new source port from a predefined range
    - check if port already in use, if required
    - refinded consistency checks for params of send()
2017-01-18 13:23:12 +01:00
smlng
2c5f07b62b gnrc_sock: add dynamic port range 2017-01-18 13:23:12 +01:00
Martine Lenders
50b1e7b6a5 gnrc_sock_udp: fix possibly dereferenced NULL pointer (#6203) 2016-12-13 09:03:57 +01:00
Martine Lenders
bd533dd785 gnrc_sock: move net/af.h include to sock_types.h 2016-11-18 12:33:01 +01:00
Martine Lenders
653e36277c gnrc_sock_ip: fix memcpy()/memset() sizeof-type
The type in the `sizeof()` is just plain wrong. This fixes it.
2016-11-09 21:24:28 +01:00
Martine Lenders
60d7b7efa2 gnrc_sock_udp: fixed minor bug 2016-10-30 18:48:41 +01:00
Martine Lenders
eb50b33fb5 gnrc_sock: actually **bind** implicitly 2016-10-29 20:58:27 +02:00
Martine Lenders
9508c8f5a5 tests: provide gnrc_sock_ip tests 2016-10-26 15:20:39 +02:00
Martine Lenders
1a6ebf2aae gnrc_sock_ip: provide port for sock_ip 2016-10-26 15:20:39 +02:00
Martine Lenders
b971c575ad gnrc_sock_udp: provide port for sock_udp 2016-10-26 15:20:38 +02:00