Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Neighbor Discovery not working after router reboot when using SLAAC #11038

Open
MichelRottleuthner opened this issue Feb 20, 2019 · 10 comments
Open
Assignees
Labels
Area: network Area: Networking Discussion: RFC The issue/PR is used as a discussion starting point about the item of the issue/PR Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)

Comments

@MichelRottleuthner
Copy link
Contributor

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?

Steps to reproduce the issue

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

Riot node is reachable via it's global address after a router reboot.

Actual results

Riot node is unreachable via it's global address after a router reboot.

Versions

current master
Related: #4353

@MichelRottleuthner MichelRottleuthner added Type: question The issue poses a question regarding usage of RIOT Area: network Area: Networking Discussion: RFC The issue/PR is used as a discussion starting point about the item of the issue/PR labels Feb 20, 2019
@miri64
Copy link
Member

miri64 commented Feb 20, 2019

Alternatively run without classic DAD and set the ABRO in the router advertisements within the radvd config. It's even documented in @smlng's tutorial ;-)

@MichelRottleuthner
Copy link
Contributor Author

The ABRO is already set in the radvd config and classic DAD is performed with gnrc_ipv6_router_default enabled, right? The problem I have then is that the global address of the riot node is marked tentative which I'd also like to avoid...

@stale
Copy link

stale bot commented Aug 24, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions.

@stale stale bot added the State: stale State: The issue / PR has no activity for >185 days label Aug 24, 2019
@miri64 miri64 removed the State: stale State: The issue / PR has no activity for >185 days label Aug 28, 2019
@stale
Copy link

stale bot commented Feb 29, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions.

@stale stale bot added the State: stale State: The issue / PR has no activity for >185 days label Feb 29, 2020
@miri64 miri64 removed the State: stale State: The issue / PR has no activity for >185 days label Mar 3, 2020
@benemorius
Copy link
Member

Is this still an issue? I used to encounter it but I haven't in a while and just now I did a quick reboot test and I wasn't able to reproduce the problem. I could be accidentally masking the bug somehow.

@miri64
Copy link
Member

miri64 commented Jul 4, 2020

Ping @MichelRottleuthner?

@miri64 miri64 added this to the Release 2020.07 milestone Jul 4, 2020
@stale
Copy link

stale bot commented Jan 30, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions.

@stale stale bot added the State: stale State: The issue / PR has no activity for >185 days label Jan 30, 2021
@miri64 miri64 removed the State: stale State: The issue / PR has no activity for >185 days label Jan 30, 2021
@MrKevinWeiss MrKevinWeiss removed this from the Release 2021.07 milestone Jul 15, 2021
@stale
Copy link

stale bot commented Mar 2, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions.

@stale stale bot added the State: stale State: The issue / PR has no activity for >185 days label Mar 2, 2022
@stale stale bot closed this as completed Apr 18, 2022
@miri64 miri64 added Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) and removed Type: question The issue poses a question regarding usage of RIOT labels Apr 18, 2022
@miri64
Copy link
Member

miri64 commented Apr 18, 2022

@benpicco could you check if this was maybe fixed with one of your many NIB fixes?

@miri64 miri64 reopened this Apr 18, 2022
@stale stale bot removed the State: stale State: The issue / PR has no activity for >185 days label Apr 18, 2022
@benpicco
Copy link
Contributor

That sounds a lot like the same problem described in #16988.

bed34da should fix it by joining the solicited node multicast group.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: network Area: Networking Discussion: RFC The issue/PR is used as a discussion starting point about the item of the issue/PR Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)
Projects
None yet
Development

No branches or pull requests

6 participants