-
Notifications
You must be signed in to change notification settings - Fork 2k
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
simplified border router setup #4725
Conversation
This is strange. Normally, no lookup should be necessary for a direct neighbor in 6lo. |
Why do you think this is important? |
The last two issues may be fixed by #4714 |
Why is radvd required on the serial interface? |
|
It is not needed, it was just there. I didn't want to hack prefix setup using induced shell commands or special handling within ethos. edit this is a kludge, as I said, we need to come up with something better, but the kludge is only 5 lines of code, so it's easily replacable. |
BTW, setting "START_RADVD" to anything else but "true" disables any hackery regarding prefixes. A prefix must be configured manually in that case. |
I completely agree with this PR. I discussed some days ago with Cenk even the need of a shell on a 6lbr. I think that it could be very useful for debugging purposes or fine configs. Otherwise I think a SLIP interface preconfigured with a prefix should do the job an initialize the network automatically (ok this is not magic but I don't think the scenario is impossible) without a shell. |
static void _clear_neighbor_cache(const char *ifname) | ||
{ | ||
char tmp[20 + IFNAMSIZ]; | ||
snprintf(tmp, sizeof(tmp), "ip neigh flush dev %s", ifname); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this work for you?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I have an entry with status FAILED
it stays there even after the flushing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works for me, but it needs ethos to be called with root right / sudo, did you do that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did:
--> sudo ip a a beef::1/64 dev tap0
--> ping6 beef::2
PING beef::2(beef::2) 56 data bytes
^C
--- beef::2 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
--> ip n
...
beef::2 dev tap0 FAILED
...
--> sudo ip n flush dev tap0
--> ip n
...
beef::2 dev tap0 FAILED
...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the flush flushes positive cache entries.
You can see the effect of the flush call when you
- startup ethos
- ping from linux
- while linux is pinging, type "reboot" at ethos shell
The linux ping should continue seamlessly with that flush call enabled, if you comment it out, the linux ping stops after RIOT's reboot as RIOT's MAC address has changed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, okay. Do you know any way to wipe out "FAILED" entries? Because this is really annoying if you setup your tap interface and Linux decides to consider the prefix as on-link and then marks any 6lo node (except the 6LBR) as an unreachable neighbor.
Dear all, I want to fix the Linux-6lo node connectivity issue ,is it possible to provide me some instructions?Thank you in advance! |
8c90e8b
to
e74e42a
Compare
@kaspar030, if the purpose of this PR is to automate everything, you should consider to add an arbitrary non-link-local address to a Linux network interface. |
Can you describe step-by-step which commands you executed and what is not working? |
will do. |
Maybe this is a case for ULA. |
Good idea! |
Dear @OlegHahm ,
I tried both with and without step 3. I can ping from BR to the Node, the opposite is only successful when I ping the What I want : How can the echo message start from the [+] #4725 |
23b18ec
to
9abfb43
Compare
Tested with two samr21-xpro's. To try:
Now the 6lbr should answer pings on fe80::2%tap0, and it should announce 2001:db8::/64 to the wireless interface. TODO edit (IMHO to be done in the next iteration, this is functional enough for gnrc_border_router):
edit
known issues (edit: unrelated to this PR):
edit fixed prefix in start_network.sh ... |
Forgot to mention: if started correctly, one command is enough now to set up global connectivity for the 6lowpan network. |
So what is still WIP and what is not WIP anymore in this PR? |
9abfb43
to
b994769
Compare
} | ||
} | ||
|
||
LOG_INFO("uhcpc: Using %u as border interface and %u as wireless interface.\n", gnrc_border_interface, gnrc_wireless_interface); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can the LOG_INFO be set for gnrc_uhcpc
instead? here and in the other logs. This helps to make the difference between this and uhcpc
(I got confused while debugging)
I rebased this branch on #5289 and I confirm that it's working now. |
4455407
to
edb5f08
Compare
Using "NETOPT_IS_WIRED" flag now (good idea!), fixed gnrc_uhcpc log prefixes. |
Last test works like a charm. Ping between nodes and BR works OK for the first ~15min, afterwards only the BR deleted the entries of the other nodes on the neighbour cache. After ~25min nodes can still be pinged between each other. So, I ACK this PR and independently of ND problems I think this should be merged. Any comments against that? @kaspar030 @authmillenon @OlegHahm @cgundogan |
Sounds fair to me. |
Just to let you know that I tested it yesterday with one of @haukepetersen's demo (node_imu). |
I have the same opinion: let's merge this PR for now and look at the open issues for this in follow-ups, so we can finally create the release branch and use that as base for further testing/fixing. I 2nd @kYc0o's ACK, Murdock (and even Travis) is green -> let's go |
nice! |
+1 |
1 similar comment
+1 |
I've been trying to automate border router setup.
edit check discussion for up-to-date instructions