-
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
ipv6/nib: bugfix handle SLLAO on 6LR if ARO is not present #17814
Conversation
4113209
to
475e081
Compare
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.
Makes sense, feel free to squash.
475e081
to
560e43a
Compare
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.
How about this to be sure not to call _send_delayed_nbr_adv()
with reply_aro = NULL
Turns out it's perfectly fine to call |
Thank You for reviewing. |
Contribution description
When I was Iooking through the code and was following debug messages, I discovered that the SLLA option in a Neighbor Solicitation is "stored for later handling" but it is never touched again if not also an AR option is present on 6LR.
This can be fixed by removing a
break
.Testing procedure
Two
nrf52840dk
node A
andnode B
runninggnrc_networing.
Assign both nodes an ipv6 address.
$A ifconfig 6 add fd00:b:b::1
$B ifconfig 6 add fd00:b:b::2
When
B
tries to pingA
, it sends a multicast NS to ask for the L2 address of the targetfd00:b:b::1
.B
includes an SLLA option, soA
knows the L2 address ofB
and can reply with a Neighbor Advertisement.If
A
does not handle the SLLA option, it does not create a Neighbor Cache Entry forB
, so it fails to deliver the NA.Hence, the ping request of
B
fails becauseB
did not receive the L2 address ofA
.This is node A
This is node B
Issues/PRs references