-
Notifications
You must be signed in to change notification settings - Fork 2.1k
ndp: router advertisement sent with global address #5005
Description
I have spent a while trying to track down some weird behavior in my mesh. A few minutes after booting everything up, nodes start getting islanded off the mesh and their neighbor tables start emptying.
After some debugging and sniffing, I discovered that router advertisements were being received with global source addresses, which causes them to be dropped here because the RFC says they must come from link-local addresses.
Today I got some time to dig deeper and modified the nodes to check that they are choosing the correct addresses. Basically I added this check after line 579 of grnc_ndp_internal
if (!ipv6_addr_is_link_local(src)) {
disableIRQ();
DEBUG("ndp internal: SOURCE NOT LOCAL\n");
while(1);
}
Sure enough, it triggered after a while. I probably won't get a chance to fix this soon, and I think this is what has been bugging other people like @kYc0o , so I thought I would report it.
Some additional information, in case it is relevant. I am using RPL, and I have about 5 nodes with a border router. All of the nodes are sending and receiving traffic from the internet. They are positioned such that some of them need at least two hops to get in/out.