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

409 Commits

Author SHA1 Message Date
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
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
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
Lucas Jenss
6998ffbb14 cppcheck: Provide consistent reason formatting for all cppcheck-suppresses 2017-10-10 10:25:20 -07: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
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
Joakim Nohlgård
8415c4eebc gnrc_icmpv6: Clean up redundant conditional debug statement 2017-08-09 16:27:30 +02:00
Martine Lenders
b32200e3ad gnrc_ipv6_nib: fix caching mechanism of neighbor cache 2017-06-15 11:40:46 +02:00
Martine Lenders
e92f97cb12 gnrc_ipv6_nib: initial import of internal NIB functions 2017-06-09 21:52:37 +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
Martine Lenders
38f383c68d Merge pull request #6703 from OlegHahm/cppcheck_fixes
dist: enable cppcheck warnings for all files
2017-04-19 08:18:47 +02:00
smlng
25e62a7087 net, icmpv6: correct debug output 2017-04-18 11:57:40 +02:00
Oleg Hahm
a9cc8babba gnrc: ndp: suppress wrong cppcheck warnings 2017-04-14 14:36:15 +02:00
Oleg Hahm
45cd9ad5c4 gnrc: 6lowpan-nd: suppress wrong cppcheck warnings 2017-04-14 14:36:15 +02:00
Oleg Hahm
191797bc6b gnrc: 6lowpan-nd: removed superfluous check 2017-04-14 14:36:15 +02:00
Martine Lenders
c2c2516a53 gnrc: fix cppcheck warnings 2017-04-14 14:36:14 +02:00
Joakim Nohlgård
0ba9fd3456 6lo: Avoid null ptr dereference when DAC=1, DAM=00, M=1 2017-04-02 18:42:01 +02:00
smlng
3c0a2f6953 gnrc, ipv6: add static link local ipv6 address 2017-02-28 20:09:40 +01:00
Martine Lenders
2fd69653af gnrc_ndp: do not add new neighbors as TENTATIVE on 6LR 2017-01-23 14:02:26 +01:00
Oleg Hahm
7ee7801c10 *: remove trailing underscores from header guards 2017-01-19 18:30:53 +01:00
Oleg Hahm
4f4214235b timex: unambiguous time conversion macros 2017-01-19 13:18:08 +01:00
Joakim Nohlgård
7c48c891a0 xtimer: Update xtimer usage to match API changes 2016-11-29 20:44:31 +01:00
e0164660eb Merge pull request #6064 from miri64/gnrc_sixlowpan_nhc/fix/forwarding
gnrc_sixlowpan_nhc: fix forwarding case
2016-11-09 15:56:21 +01:00
Martin Elshuber
b582e64b09 gnrc_sixlowpan_iphc.c: Updated comments some logic 2016-11-08 13:04:12 +01:00
Martin Elshuber
faa47a0e03 gnrc_sixlowpan_iphc: Fixed encoding when COMP=0
Summary:

Even ehen COMP is cleared, the algorithm always elides part of the address when a matching
context is found.

This behviour occurs because in the line

  if ((src_ctx != NULL) || ipv6_addr_is_link_local(&(ipv6_hdr->src)))

the COMP bit is not tested.

This patch fixes the problem by setting [src|dst]_ctx to NULL if the
context must not be used.
2016-11-07 19:53:04 +01:00
Martine Lenders
1605b506c9 gnrc_sixlowpan_nhc: fix forwarding case 2016-11-07 15:46:56 +01:00
Hauke Petersen
bc232a5642 Merge pull request #5524 from miri64/gnrc_netreg/api/helper-macro
gnrc_netreg: introduce helper macro/function for entry init
2016-10-25 21:21:25 +02:00
Martine Lenders
dc45cd2610 gnrc: use new netreg helper functions everywhere 2016-10-25 18:47:30 +02:00
DipSwitch
6a484d19cb ndp: fix debug in message in gnrc_ndp_internal_send_nbr_sol 2016-10-03 11:56:22 +02:00
Oleg Hahm
b428979a1d debug: add missing line breaks 2016-09-27 23:38:41 +02:00
Martine Lenders
9874a6d69a Merge pull request #5811 from makomi/gnrc
sys/net/gnrc: fix cppcheck errors/ warnings
2016-09-05 13:06:04 +02:00
Matthias Kolja Miehl
b108a57637 sys/net/gnrc: gnrc_ipv6_ext: fix variableScope 2016-09-05 02:23:59 +02:00
Martine Lenders
dd7fb1c63b Merge pull request #5228 from OlegHahm/gnrc_ipv6_hdr_get
gnrc ipv6: convenient function to get the header
2016-09-01 23:16:49 +02:00
Martine Lenders
2c5fbab3ff Merge pull request #5525 from miri64/gnrc/enh/dispatch-send
gnrc: use gnrc_netapi_dispatch_send() instead of manual iteration
2016-08-25 14:21:19 +02:00
Martine Lenders
bd230d3b63 gnrc_ipv6: gnrc_icmpv6: use dispatch_receive helper function 2016-08-18 13:25:07 +02:00
Martine Lenders
72d177074b gnrc: use gnrc_netapi_dispatch_send() instead of manual iteration 2016-08-12 14:06:58 +02:00
Martine Lenders
6d72cdb595 gnrc_ipv6: copy user flags from old netif headers
Upper layers might want to utilize the flags (e.g. to tell 6LoWPAN to elide
UDP checksums). This change allows for this by copying non-addressing related
flags to the address resolution generated netif header from the user generated
netif header.
2016-07-26 21:06:36 +02:00
Oleg Hahm
a2b9defc8b gnrc ipv6: convenient function to get the header 2016-07-22 16:34:52 +02:00
Martine Lenders
e9bbd54f58 Merge pull request #5033 from Yonezawa-T2/validate_ipv6_size
gnrc_ipv6: validates payload size
2016-06-07 17:50:28 +02:00
Yonezawa-T2
0de34c91c6 gnrc_ipv6: validates payload size 2016-06-07 10:01:23 +09:00
Martine Lenders
98949f5cb4 Merge pull request #5498 from kaspar030/make_msg_content_ptr_void_star
core: change msg.content.ptr type to void *
2016-06-03 13:59:25 +02:00
Peter Kietzmann
e8e9619f01 Merge pull request #5501 from Yonezawa-T2/gnrc_sixlowpan_iphc_propagate_error
gnrc_sixlowpan_iphc: propagate UDP decode error
2016-06-03 10:07:06 +02:00
Yonezawa-T2
ba4b099d93 gnrc_sixlowpan_iphc: propagate UDP decode error 2016-06-03 11:35:22 +09:00
Yonezawa-T2
a6c14dadb3 gnrc_sixlowpan_iphc: fix compile error for debug output 2016-06-03 11:33:08 +09:00
7718f114cb all: remove pointer casts for msg.content.ptr 2016-06-02 23:13:42 +02:00
Oleg Hahm
6707c20b7d netstats: initial import of IPv6 netstats 2016-05-25 14:44:53 +02:00
Cenk Gündoğan
1791ef5581 gnrc_ndp: check nc_entry before using it 2016-05-17 09:52:16 +02:00
Martine Lenders
4a13324abb Merge pull request #5281 from authmillenon/gnrc_ipv6/fix/ext-fix-with-nhc
gnrc_ipv6: fix asserts for NHC
2016-04-27 08:39:39 +02:00
Martine Lenders
bf135c4750 Merge pull request #5362 from cgundogan/pr/gnrc_ipv6/remove_unnecessary_check
gnrc_ipv6: remove superfluous check for if_entry
2016-04-22 18:18:43 +02:00
Martine Lenders
82a3aae8be gnrc_ipv6: fix asserts for NHC 2016-04-22 10:11:38 +02:00
kYc0o
d071b2a23d Merge pull request #5309 from authmillenon/gnrc_ndp/fix/gua-hack
gnrc_ndp: don't let addresses timeout
2016-04-20 14:36:51 +02:00
Hauke Petersen
4ace70199e Merge pull request #5326 from authmillenon/gnrc_ipv6/fix/revert5179
gnrc_ipv6: Revert #5179
2016-04-20 14:34:07 +02:00
Martine Lenders
8968b7602f gnrc_ndp: don't let addresses timeout
This is a temporary quick-fix for #5122 to not have GUAs removed on an
interface.
It solves the issue by both not letting the registration run out on the router
and by not letting the lifetime of an auto-configured address expire.
2016-04-20 13:31:53 +02:00
Cenk Gündoğan
66507c8cfe gnrc_ipv6: remove superfluous check for if_entry 2016-04-20 09:41:45 +02:00
Martine Lenders
84a9ddb2db gnrc_sixlowpan_iphc: fix comparison signage 2016-04-20 06:55:24 +02:00
Oleg Hahm
5d65d59b34 Merge pull request #5232 from gebart/pr/jfischer-nhc-fix
gnrc_sixlowpan_iphc.c: handle forwarded GNRC_NETTYPE_IPV6 packet
2016-04-19 14:09:11 +02:00
Martine Lenders
d64b922db0 Revert "gnrc ipv6: replace check by assert"
This reverts commit 856e1ee0d2.
2016-04-17 14:06:54 +02:00
592558ff33 sys: net: gnrc: fix IS_WIRED netopt call 2016-04-13 15:22:36 +02:00
Cenk Gündoğan
c0790aaa52 gnrc_sixlowpan_ctx: use correct member for ctx id in debug 2016-04-11 01:26:18 +02:00
Johann Fischer
f405891b68 gnrc_sixlowpan_iphc.c: handle forwarded GNRC_NETTYPE_IPV6 packet 2016-04-02 07:52:47 +02:00
Oleg Hahm
230e105599 Merge pull request #4738 from authmillenon/gnrc_ipv6/fix/accept-dst-for-all-if
gnrc_ipv6: accept packets for global dst at all interfaces
2016-03-30 15:05:35 +02:00
Martine Lenders
5532f92057 gnrc_ipv6: accept packets for global dst at all interfaces 2016-03-30 14:54:48 +02:00
Martine Lenders
6504671a33 Merge pull request #5179 from OlegHahm/ipv6_recv_assert_instead_check
gnrc ipv6: replace check by assert
2016-03-29 19:42:00 +02:00
Oleg Hahm
028c9d8029 Merge pull request #5139 from authmillenon/gnrc_ndp/fix/unset-isrouter-on-rtr-sol
gnrc_ndp: unset isRouter flag for neighbor sending RS
2016-03-28 19:29:33 +02:00
Martine Lenders
802136dd9a gnrc_ndp: unset isRouter flag for neighbor sending RS 2016-03-28 19:16:51 +02:00
Oleg Hahm
856e1ee0d2 gnrc ipv6: replace check by assert
The existence of netif is mandatory here.
2016-03-25 17:30:50 +01:00
kYc0o
f92b025b85 vtimer: get rid of 2016-03-24 17:10:54 +01:00
Cenk Gündoğan
c7a29918ca Merge pull request #5169 from cgundogan/pr/gnrc_netif/DELETE_ALL_INTERFACES
gnrc_ipv6_netif: remove existing interfaces on INIT
2016-03-24 16:34:54 +01:00
Cenk Gündoğan
8bc65a9626 gnrc_ipv6_netif: remove existing interfaces on INIT 2016-03-24 16:10:51 +01:00
Martine Lenders
1724ab50fc Merge pull request #4654 from Yonezawa-T2/fix_ipv6_ext
ipv6_ext: fixed extension header handling
2016-03-24 10:53:00 +01:00
Yonezawa-T2
6443a2bb5c gnrc_pktbuf: Adds a function to duplicate packet chain 2016-03-24 18:20:28 +09:00
Oleg Hahm
32af3f962e gnrc ipv6: make address parameters const 2016-03-23 15:20:12 +01:00
Oleg Hahm
991c71cf27 gnrc ipv6: use ipv6_addr_t ptr for hdr_build 2016-03-23 15:20:12 +01:00
Oleg Hahm
360413a033 gnrc ipv6 hdr: remove len params from hdr_build 2016-03-23 15:20:11 +01:00
Yonezawa-T2
f0acefd0af gnrc_ipv6_nc: fix compilation error at debug output 2016-03-23 13:32:38 +09:00
Yonezawa-T2
bc5b0c3140 ipv6_ext: fixed extension header handling 2016-03-22 12:45:08 +09:00
Cenk Gündoğan
6f6ec3c8a5 gnrc_ipv6_nc: refactor nc_remove function 2016-03-16 13:51:21 +01:00
Martine Lenders
0a3b56e0b4 Merge pull request #5006 from immesys/fix-rtr-adv
ndp: change rtr adv src to link local
2016-03-16 12:42:12 +01:00
Martine Lenders
312047fa84 Merge pull request #5029 from gebart/pr/6lo-decoded-hdr-snip-ordering
gnrc_sixlowpan: Preserve order when replacing 6lowpan header by decoded IPv6 header
2016-03-16 11:53:53 +01:00
Joakim Nohlgård
ad40c208c1 Merge pull request #5070 from cgundogan/pr/gnrc_ipv6_nc/remove_timers
gnrc_ipv6_nc: remove nc_entry timers
2016-03-16 11:28:52 +01:00
Joakim Nohlgård
f2883792e0 gnrc_ipv6: Set preferred lifetime infinite on addresses in border router scenario. 2016-03-16 10:59:19 +01:00
Cenk Gündoğan
f91e4bde9d gnrc_ipv6_nc: remove nc_entry timers 2016-03-14 23:45:17 +01:00
Martine Lenders
1659b9cc07 Merge pull request #5050 from gebart/pr/ipv6-rm-netif
gnrc_ipv6: Strip netif header and nothing else
2016-03-14 13:14:43 +01:00