Skip to content

ndp: router advertisement sent with global address #5005

@immesys

Description

@immesys

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.

Metadata

Metadata

Assignees

Labels

Area: networkArea: NetworkingType: bugThe issue reports a bug / The PR fixes a bug (including spelling errors)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions