[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

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:
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:
-------------- 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