[riot-notifications] [RIOT-OS/RIOT] Neighbor Discovery not working after router reboot when using SLAAC (#11038)

MichelRottleuthner notifications at github.com
Wed Feb 20 17:02:50 CET 2019


<!--
====================================
IF YOUR ISSUE IS RELATED TO SECURITY
====================================
please submit it to the security mailing-list security at riot-os.org.

If your issue is a question related to the usage of RIOT, please submit it to
the user mailing-list users at riot-os.org or to the developer mailing-list
devel at riot-os.org.
-->

#### Description
When using the GNRC_IPV6_NIB_CONF_SLAAC option a network connection to a riot node doesn't recover to a working state after a router reboot.
Actually this doesn't seem to be a real bug in riot but more an iterop problem between riot and linux.
After offline discussion with @smlng I'm adding it here mostly for documentation and discussion with more people.
Since linux-wpan is basically the goto-solution when setting up a linux based border router it would be nice if we could somehow avoid/improve/workaround this problem, any opinions on that?

<!--
Example: Cannot build gnrc_networking application for samr21-xpro board.
-->

#### Steps to reproduce the issue
<!--
Try to describe as precisely as possible here the steps required to reproduce
the issue. Here you can also describe your hardware configuration, the network
setup, etc.
-->
Requirements: a riot board with radio and a border router (e.g. raspi) with ssh access.
Use examples/gnrc_networking replace `USEMODULE += gnrc_ipv6_router_default` with `USEMODULE += gnrc_ipv6_default`.

Compile with `CFLAGS=-DGNRC_IPV6_NIB_CONF_SLAAC BOARD=whatever make all flash term`

After that reboot the riot board and observe that everything looks ok with `ip neigh show dev lowpan0` on your border router.
Then perform a router reboot (or run `sudo ip neigh flush dev lowpan0` on it to get the same effect) and then try to ping the global address of the board -> this will fail with destination unreachable.

Only way to get it back to a working state is to reboot the riot board.

This problem does not appear if either:
a) NOT using `CFLAGS=-DGNRC_IPV6_NIB_CONF_SLAAC`
b) using `USEMODULE += gnrc_ipv6_router_default`

The reason seems to be that the router is sending the Neighbor Solicitation to the solicited node multicast address but riot is not handling it in this specific configuration.

#### Expected results
<!--
Example: The gnrc_networking application builds on samr21-xpro.
-->
Riot node is reachable via it's global address after a router reboot.

#### Actual results
<!--
Please paste or specifically describe the actual output.
-->
Riot node is unreachable via it's global address after a router reboot.

#### Versions
<!--
Operating system: Mac OSX, Linux, Vagrant VM
Build environment: GCC, CLang versions (you can run the following command from
the RIOT base directory: ./dist/tools/ci/print_toolchain_versions.sh).
-->
current master
Related: #4353
<!-- Thanks for contributing! -->


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/issues/11038
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190220/52d7764f/attachment.html>


More information about the notifications mailing list