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

803 Commits

Author SHA1 Message Date
Martine Lenders
279e19fe8a gnrc_rpl: properly handle prefix list 2017-11-23 22:56:55 +01:00
3979ffcf1b gnrc_rpl: Exclude routes without next hop from DAO packets 2017-11-23 19:29:07 +01:00
Martine Lenders
ec02458c55
gnrc_rpl: fix abandoned packet bug in transit option build
Due to the transit option build function being passed a NULL pointer,
the previous transit and target options are dropped (and never freed).

This fixes #8098 and #8126.
2017-11-23 18:43:36 +01:00
Martine Lenders
4476d340f0
gnrc_ipv6_nib: remove trailing semicolon in ARSM macro 2017-11-21 17:21:34 +01:00
Martine Lenders
5b747e2629
gnrc_ipv6_nib: cap-off NS sent to prefent overflows 2017-11-21 17:21:34 +01:00
Martine Lenders
168228ddc9
gnrc_ipv6_nib: do not try to re-register to an unreachable router 2017-11-21 17:21:33 +01:00
Martine Lenders
61b539abf9
gnrc_ipv6_nib: reduce backoff if neighbor UNREACHABLE and trying to it
When a neighbor becomes UNREACHABLE which causes neighbor solicitations
to be send only up to every minute. If the medium is very busy this can
easily get lost, basically causing the neighbor never to be reachable
again from the perspective of the sending node. To fix this the backoff
is reduced to its start value, every time a packet is sent to that
neighbor.
2017-11-21 11:38:45 +01:00
b561e84b7f
Merge pull request #8091 from miri64/gnrc_ipv6_nib/fix/rereg-retrans-unit
gnrc_ipv6_nib: fix retransmission timeout unit for address re-registration
2017-11-20 15:42:59 +01:00
e5cf4a5396
Merge pull request #8089 from miri64/gnrc_netif/fix/add-sol-nodes
gnrc_netif: join/leave solicited nodes IPv6 address add/remove
2017-11-20 14:35:49 +01:00
Martine Lenders
564d3c7581
gnrc_ipv6_nib: remove now duplicate join to sol. nodes 2017-11-20 14:22:55 +01:00
Martine Lenders
d4e60dae2e
gnrc_netif: join/leave solicited nodes IPv6 address add/remove 2017-11-20 14:22:55 +01:00
Martine Lenders
10b74740eb
gnrc_netif: fix GNRC_NETAPI_GET of arrays
The target array currently moves with the loop instead of with the
results. This fixes that.
2017-11-20 14:18:09 +01:00
Martine Lenders
8c4eb43701
gnrc_ipv6_nib: fix retrans. timeout unit for address re-registration 2017-11-20 13:52:37 +01:00
Martine Lenders
12261a3e69 gnrc_ipv6_nib: Remove stray assert() in _handle_aro()
This assertion doesn't make any sense. The function is called by
_copy_and_handle_aro() on a router which causes `nce` to be NULL
(because there is no NCE known yet) and then the function called
directly after (_reg_addr_upstream()) checks if `nce` might be NULL and
creates an NCE if necessary.
2017-11-20 06:41:08 +01:00
Cenk Gündoğan
de5e0c677f gnrc_netif: fix DEBUG output 2017-11-20 00:35:17 +01:00
Cenk Gündoğan
3be5c9fdf3 nib: use correct fall through hint 2017-11-20 00:35:17 +01:00
Cenk Gündoğan
5b5c479043 rpl: replace fib with nib 2017-11-20 00:35:17 +01:00
Martine Lenders
2a899c45ac gnrc_ipv6_nib: make user added default route the primary one 2017-11-19 23:36:20 +01:00
Martine Lenders
e7bb0ed67f
gnrc_uhcpc: adapt for route lifetime 2017-11-17 13:44:18 +01:00
Martine Lenders
f62974207d
gnrc_ipv6_nib: add timeouts to routes 2017-11-17 13:43:18 +01:00
Martine Lenders
fb5851dde4
gnrc_ipv6_nib: actually timeout a default router
While the GNRC_IPV6_NIB_RTR_TIMEOUT is properly handled, it is actually
never fired. Moreover, the router lifetime is set, but never read.

This removes the router lifetime and switches it out for an evtimer
to does the GNRC_IPV6_NIB_RTR_TIMEOUT event.
2017-11-17 11:43:32 +01:00
Martine Lenders
f90a9a875f
gnrc_ndp2: rename to gnrc_ndp 2017-11-17 10:41:54 +01:00
Martine Lenders
31b1ceb440
gnrc_netif2: rename to gnrc_netif 2017-11-17 10:41:54 +01:00
Martine Lenders
636ef2a498
gnrc: remove legacy neighbor discovery code 2017-11-17 09:20:30 +01:00
Martine Lenders
71a7dbf918
gnrc: remove legacy network interface structures 2017-11-17 09:20:29 +01:00
Martine Lenders
bf8465c650
Merge pull request #7479 from miri64/gnrc_ipv6_nib/feat/ndp-rd
gnrc_ipv6_nib: implement behavior for router discovery
2017-11-16 16:35:21 +01:00
Martine Lenders
ccb8462d94
gnrc_sixlowpan_nd: adapt for NIB 2017-11-16 15:49:21 +01:00
Martine Lenders
319c0f9d21
gnrc_ipv6_nib: implement behavior for router discovery 2017-11-16 15:49:20 +01:00
Martine Lenders
fbb70315cb
lwmac: fix issues reported by cppcheck 2017-11-16 15:07:08 +01:00
Martine Lenders
62a1f0848f
gnrc_netif2: make more complexer functions not inline 2017-11-16 14:44:23 +01:00
Martine Lenders
90549108ca
gnrc_ipv6_nib: add exception in address resolution for SLIP 2017-11-15 20:03:30 +01:00
Martine Lenders
852cb5a791
gnrc_netif2: adapt setting of maximum packet size for slipdev 2017-11-15 16:19:15 +01:00
Martine Lenders
6038a7d3a5
gnrc_netif2: provide raw adaption layer (for e.g. SLIP) 2017-11-14 13:40:51 +01:00
Martine Lenders
01c21fa274
tests: make gnrc_ipv6_ext test compilable with gnrc_netif2
Test currently not working
2017-11-13 16:36:34 +01:00
Martine Lenders
c6428698b4
Revert "shell/ccnl: remove use of ccnl_wait_for chunk()" 2017-11-11 19:34:52 +01:00
Martine Lenders
b83bc1b763
Merge pull request #7456 from miri64/gnrc_ipv6_nib/feat/port-to-gnrc_netif2
gnrc_ipv6_nib: port to gnrc_netif2
2017-11-11 19:10:14 +01:00
Peter Kietzmann
69fe566a18 shell/ccnl: remove use of ccnl_wait_for chunk() 2017-11-10 15:27:47 +01:00
Martine Lenders
72db5e48f0 gnrc_ipv6_nib: fix for 'holey' NIB
When there are holes in the NIB (e.g. when entries were removed)
currently the NIB crashes the system due to a failed assertion
(`DEVELHELP` needs to be activated to test this behavior).

This fixes this behavior by making the assertion a check that is always
compiled in.
2017-11-09 15:28:56 +01:00
Martine Lenders
a7d2c65b36
gnrc_ipv6_nib: port to gnrc_netif2 2017-11-08 20:18:53 +01:00
Martine Lenders
c3141c46b6
gnrc_ndp2: port to gnrc_netif2 2017-11-08 20:18:53 +01:00
Martine Lenders
89ec411b79
Revert "gnrc_uhcpc: fix dependencies" 2017-11-08 19:23:39 +01:00
Martine Lenders
78985b4db2
gnrc_uhcpc: fix dependencies
\#7721 showed, that `posix` is required to include the `arpa/inet.h`
header into the include path of an application using the `uhcpc`
module.

Additionally this PR makes the FIB an optional dependency of
`gnrc_uhcpc`.

Backport of #7722
2017-11-08 14:49:53 +01:00
Martine Lenders
867aff211f
Merge pull request #7935 from zhuoshuguo/gnrc_lwmac_adjust_csma_flag
gnrc_lwmac: adjust error use of csma flag for transmit packet.
2017-11-07 23:13:44 +01:00
Martine Lenders
861035f22d gnrc: integrate gnrc_netif2
Not link-able, since NDP and NC are missing (intentionally)
2017-11-07 19:08:44 +01:00
Martine Lenders
b1e69a776f
Merge pull request #7910 from x3ro/fix-gnrc-ipv6-nib-test-on-macos
tests/gnrc_ipv6_nib: Fix unused function error w/ clang/macOS
2017-11-07 18:16:55 +01:00
Lucas Jenss
069849f002 WIP tests/gnrc_ipv6_nib: Fix unused function error w/ clang/macOS
In the case that GNRC_IPV6_NIB_CONF_ARSM is set but
GNRC_IPV6_NIB_CONF_6LN is not, clang complains about
the function _get_l2addr_from_ipv6 never being used.
I couldn't easily figure out why this passes in Murdock,
but I'm guessing that clang is simply being smarter than
GCC. Can someone comment on whether there is a better fix
for this?

Relates to #6473
2017-11-07 17:35:42 +01:00
Lucas Jenss
4bb12ba091 tests/gnrc_ipv6_nib_6ln: Fix error w/ clang on macOS
_is_reachable is only used when GNRC_IPV6_NIB_CONF_ARSM
is enabled, and as such it must be guarded so that clang
doesn't complain about a unused function in case
GNRC_IPV6_NIB_CONF_ARSM is not set

Similar to #7910
Relates to 6473
2017-11-07 17:33:15 +01:00
Martine Lenders
f8c2078f94
gnrc_pktbuf_static: assert that users > 0 on release 2017-11-06 15:27:44 +01:00
Martine Lenders
046f30b918
Merge pull request #7722 from miri64/gnrc_uhcpc/fix/dep
gnrc_uhcpc: fix dependencies
2017-11-06 11:21:55 +01:00
zhuoshuguo
6c57999b2b gnrc_lwmac: adjust use of error CSMA flag for packet transmit. 2017-11-03 18:52:01 +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
zhuoshuguo
c554d30b26 gnrc_lwmac: port to gnrc_netif2. 2017-11-01 15:40:47 +01:00
Martine Lenders
cb2a968a35
gnrc_uhcpc: fix dependencies
\#7721 showed, that `posix` is required to include the `arpa/inet.h`
header into the include path of an application using the `uhcpc`
module.

Additionally this PR makes the FIB an optional dependency of
`gnrc_uhcpc`.
2017-10-13 12:13:47 +02:00
Francisco Acosta
a82930cf60 Merge pull request #7381 from miri64/slipdev/api/slip-port-to-netdev
slip: port to be used with netdev
2017-10-10 23:23:01 +02:00
Martine Lenders
b74ee8869b slip: port to be used with netdev 2017-10-10 23:14:12 +02:00
Martine Lenders
1d8dcae686 gnrc_netif2: add IEEE 802.15.4 support 2017-10-10 23:11:54 +02:00
Martine Lenders
3929550ea3 gnrc_netif2: make gnrc_netif2_create idempotent and crash on error 2017-10-10 21:17:32 +02:00
Lucas Jenss
6998ffbb14 cppcheck: Provide consistent reason formatting for all cppcheck-suppresses 2017-10-10 10:25:20 -07:00
Cenk Gündoğan
814dc95553 Merge pull request #7703 from miri64/gnrc_ipv6_nib/fix/return-ar-state
gnrc_ipv6_nib: return registration state on upstream registration
2017-10-10 11:35:47 +02:00
Martine Lenders
eb76e8034d
gnrc_ipv6_nib: return registration state on upstream registration
The function `_update_nce_ar_state()` was introduced during the review
of \#7424, but it's return value never used, causing faulty behavior.
2017-10-10 11:06:47 +02:00
Martine Lenders
0b80c7ed17
gnrc_netif2: Introduction of a new GNRC network interface API 2017-10-10 10:36:28 +02:00
Martine Lenders
6a7de28cd1
gnrc: integrate NIB for testing 2017-10-10 10:12:19 +02:00
Martine Lenders
1b36cdf79e
nib: implement public NIB functions up to link-local AR 2017-10-10 10:12:19 +02:00
Martine Lenders
d8acdc9d2d gnrc_ipv6_nib: add forwarding table component 2017-10-06 23:01:10 +02:00
Martine Lenders
0b2bc25ee0 gnrc_ipv6_nib: provide component to handle ABRO 2017-10-06 22:09:53 +02:00
Cenk Gündoğan
080590f587 Merge pull request #7222 from miri64/gnrc_ipv6_nib/feat/pl-component
gnrc_ipv6_nib: add prefix list component
2017-10-06 15:42:39 +02:00
Martine Lenders
3685fa02ae
gnrc_ipv6_nib: add prefix list component 2017-10-06 15:35:40 +02:00
Cenk Gündoğan
43283ef16b Merge pull request #7064 from miri64/gnrc_ndp2/api/initial
gnrc_ndp2: Provide GNRC abstraction layer for NIB for sending
2017-10-06 13:33:36 +02:00
Martine Lenders
08447ed51e
gnrc_ndp2: Provide GNRC abstraction layer for NIB for sending 2017-10-06 12:11:05 +02:00
Cenk Gündoğan
c3d3e7d024 Merge pull request #7212 from miri64/gnrc_ipv6_nib/feat/internal-offl
gnrc_ipv6_nib: provide internal implementation for off-link entries
2017-10-06 12:02:43 +02:00
Cenk Gündoğan
11baf130a3 Merge pull request #6988 from miri64/gnrc_ipv6_nib/feat/nc-component
gnrc_ipv6_nib: add neighbor cache component
2017-10-06 11:57:46 +02:00
Martine Lenders
f249c0c2a0
gnrc_ipv6_nib: provide internal implementation for off-link entries 2017-10-06 11:50:59 +02:00
Martine Lenders
4df88c89bf
gnrc_ipv6_nib: add neighbor cache component 2017-10-06 11:33:12 +02:00
035d266d49 makefile: indentation cleanup 2017-09-22 12:00:47 +02:00
smlng
d4e95d987b doc: fix typos 2017-09-06 08:49:05 +02:00
426e978972 rpl: Sort list of parents 2017-08-22 16:03:16 +02:00
Joakim Nohlgård
8415c4eebc gnrc_icmpv6: Clean up redundant conditional debug statement 2017-08-09 16:27:30 +02: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
475e2bdc82 gnrc_pktbuf_malloc: initial import of a malloc()-based pktbuf
The main motivation for this is to valgrind the network stack.
2017-07-15 17:54:47 +02:00
Martine Lenders
d9bb94eff8 Merge pull request #7183 from miri64/gnrc_pktbuf/enh/fix-common-module
gnrc_pktbuf: move common auxiliary functions to common module
2017-07-15 17:07:26 +02:00
smlng
3783f0e98b gnrc tcp: use push flag in send 2017-07-10 16:44:55 +02:00
Sebastian Meiling
9ce9dd601c Merge pull request #6554 from zhuoshuguo/lwmac_retry
LWMAC:  A simple duty cycling 802.15.4 MAC protocol (2nd try).
2017-06-26 12:50:44 +02:00
zhuoshuguo
e5d8dde920 gnrc_priority_queue: updated coding style. 2017-06-22 11:36:55 +02:00
zhuoshuguo
a54655890e LWMAC: a simple duty cycling 802.15.4 MAC protocol. 2017-06-21 16:40:04 +02:00
zhuoshuguo
83e1385683 gnrc_mac: updated coding style. 2017-06-19 10:15:41 +02:00
Martine Lenders
f51e4ca767
fixup! gnrc_pktbuf: move common auxiliary functions to common module 2017-06-15 15:15:02 +02:00
Martine Lenders
b32200e3ad gnrc_ipv6_nib: fix caching mechanism of neighbor cache 2017-06-15 11:40:46 +02:00
Martine Lenders
d8336c38b6
gnrc_pktbuf: move common auxiliary functions to common module
The packet buffer was originally designed to have a replaceable
back-end. This is why the actual module is called `gnrc_pktbuf_static`.
However, since than some auxiliary functions snuck into the static
back-end, which should go into the common module (which is a
pseudo-module at the moment).

This fix makes the `gnrc_pktbuf` pseudo-module an actual module and
moves the auxiliary functions to that module.
2017-06-14 12:24:56 +02:00
Martine Lenders
ce0d81c5c8
sock: specify invalid parameter error 2017-06-12 13:54:55 +02:00
Cenk Gündoğan
72c3c9cf6a Merge pull request #6325 from miri64/gnrc_ipv6_nib/feat/internal
gnrc_ipv6_nib: initial import of internal NIB functions
2017-06-09 22:05:47 +02:00
Martine Lenders
e92f97cb12 gnrc_ipv6_nib: initial import of internal NIB functions 2017-06-09 21:52:37 +02:00
Martine Lenders
0b42721511 Merge pull request #7155 from zhuoshuguo/gnrc_mac_use_csma_sender
gnrc_mac: use csma_sender API when needed for csma transmission
2017-06-09 17:48:37 +02:00
zhuoshuguo
7565cd1d10 gnrc_mac: use software csma when needed. 2017-06-09 16:45:24 +02:00
BytesGalore
89716729c8 Merge pull request #7161 from cgundogan/pr/trickle_enhancements
trickle: enhancements
2017-06-09 09:15:54 +02:00
Cenk Gündoğan
04d89d3381 rpl: adjust to trickle enhancements 2017-06-09 09:03:24 +02:00
Cenk Gündoğan
6add982d3f rpl: send dis near parent timeout 2017-06-08 21:46:06 +02:00
Cenk Gündoğan
3921fc86a7 Merge pull request #6901 from BytesGalore/rpl_drop_dao_ack_on_mc
rpl: drop DAO-ACK when received via multicast
2017-05-30 21:28:58 +02:00
BytesGalore
da38b77ba4 rpl: drop DAO-ACK when received on multicast 2017-05-30 18:05:00 +02:00
Cenk Gündoğan
6065be76e1 ndp: warn gcc-7 about intentional fall-through
Since gcc-7 `Wimplicit-fallthrough` is activated by using `-Wextra`.
This leads to the following problem when compiling `gnrc_networking`:

```
RIOT/sys/net/gnrc/network_layer/ndp/internal/gnrc_ndp_internal.c: In function ‘gnrc_ndp_internal_set_state’:
RIOT/sys/net/gnrc/network_layer/ndp/internal/gnrc_ndp_internal.c:106:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   t = ipv6_iface->reach_time;
  ~~^~~~~~~~~~~~~~~~~~~~~~~~
RIOT/sys/net/gnrc/network_layer/ndp/internal/gnrc_ndp_internal.c:109:9: note: here
case GNRC_IPV6_NC_STATE_DELAY:
         ^~~~
```

The fall-through in this code is intentional. There are several ways to
warn the comiler about such intentional fall-throughs, which include
e.g. attributed empty statements (`__attribute__ ((fallthrough));`).
I don't like tis approach however. The best way would probably be to
remove this fall-through from the code. However, to keep the diff
minimal, and since ndp will change in the future, I went for warning
the compiler using comments.

The compiler checks comments for several *fall through* regexs to
decide whether a fallthrough was intentional or not.

You can read more about this gcc option in [1]. A note about
fallthrough comment regexs is at the bottom of this article.

[1] https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/
2017-05-30 14:23:37 +02:00
0fcc7d3834 cleanup: apply headerguard script output 2017-05-24 17:54:02 +02:00