[riot-notifications] [RIOT-OS/RIOT] stale border router does not get replaced (#12210)

benpicco notifications at github.com
Thu Sep 12 15:18:19 CEST 2019


#### Description
When playing around with border routers I noticed some strange behavior: An offline border router is retained for an unknown time. Even resetting a node does not get it to use the new border router as the old border router information is still being advertised by neighboring nodes.

I am not sure if this is to spec as the border router live time is indeed exceptionally high. But this seems more like a bug as it makes roaming nodes impossible. Even worse, a roaming node could 'pollute' other nodes with an unreachable border router, making them ignore a border router that is reachable.

I think the solution could be to check if a border router is reachable before considering border router information valid.

#### Steps to reproduce the issue
- set up a border router, e.g. a raspberry pi with an [ieee802.15.4 radio](https://www.bergzand.net/6lowpan-on-linux-with-raspberry-pis.html) following [this guide](https://github.com/RIOT-Makers/wpan-raspbian/wiki/Setup-native-6LoWPAN-router-using-Raspbian-and-RADVD)
- flash a RIOT node with the `gnrc_networking` example and observe that the border router is being used
```
2019-09-12 13:23:07,524 - INFO #  nib abr
2019-09-12 13:23:07,527 - INFO # fd00:1:2:3:a:b:c:d v0 expires 65534min
```
- shut down the Raspberry Pi or move the RIOT node out of range.
- set up a second border router. If you have more RIOT nodes than RasPis, flash the `gnrc_border_router` example and run 
```
make -C dist/tools/uhcpd
make -C dist/tools/ethos
sudo dist/tools/ethos/start_network.sh /dev/ttyACMx tap0 2001:db8::/64
```
The RIOT border Router should now announce it's prefix.

#### Expected results
After some time, the new border router should be used as the old border router is not reachable anymore.

```
2019-09-12 14:54:00,467 - INFO #  nib abr
2019-09-12 14:54:00,470 - INFO # 2001:db8::7b7d:362c:c959:65a v0 expires 10000min
```
#### Actual results
The old border router will be used for the next ~45 days
```
2019-09-12 14:54:00,467 - INFO #  nib abr
2019-09-12 14:54:00,470 - INFO # fd00:1:2:3:a:b:c:d v0 expires 65444min
```

some more information:
```
2019-09-12 15:05:53,443 - INFO #  nib neigh
2019-09-12 15:05:53,450 - INFO # fe80::d0af:c1b:2054:58f dev #7 lladdr D2:AF:0C:1B:20:54:05:8F router STALE GC
2019-09-12 15:06:11,958 - INFO #  nib route
2019-09-12 15:06:11,960 - INFO # fd00:1:2:3::/64 dev #7
2019-09-12 15:06:11,964 - INFO # default* via fe80::d0af:c1b:2054:58f dev #7
2019-09-12 15:06:20,582 - INFO #  nib prefix
2019-09-12 15:06:20,587 - INFO # fd00:1:2:3::/64 dev #7  expires 80101sec deprecates 8101sec
```

#### Versions
RIOT master

<!-- 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/12210
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190912/08b3ae0e/attachment-0001.htm>


More information about the notifications mailing list