-
Notifications
You must be signed in to change notification settings - Fork 849
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
ICMPv6: Recognise ND option 14 (Nonce) #1108
base: master
Are you sure you want to change the base?
Conversation
Thank you for waiting. I have only a cosmetic remark, in that
should be formatted as
to minimize confusion when the value is something such as 112233445566. There is a number of occurrences in the existing code that do exactly that, perhaps it is time to deduplicate that code and to make it a function you could use instead of implementing your own. |
Perhaps |
I like this notation with colons and did consider it for a while, but, as @vt-alt has noted above, the nonce is extremely likely to resemble an Ethernet hardware address, since in practice it will almost definitely be 6 bytes in length (the smallest length possible). So there is a slight chance an inexperienced reader examining the dump might wonder if there is a device with that address. I'd looked for other established formats for variable-length nonces, and the only other suitable example was in the IKE printer, e. g. in |
There might be other options, though; like this:
or this:
|
Either that, or the value could use the proper |
I vote for |
My doubt about |
OK, so be it. |
d531136
to
8c6d464
Compare
This option has been observed to be included in neighbour solicitations sent by Linux kernel when `conf/*/enhanced_dad` is enabled on the relevant network interface. It looks like it appeared in the linked kernel commit. In accordance with RFC 7527, a nonce can help distinguish valid DAD NS messages in the presence of Ethernet loopbacks: after a DAD probe is sent on the network, if an NS is received with the same nonce it is considered looped back and ignored. We implement the printer for this option and add a simple test with 3 different verbosity levels. Link: torvalds/linux@adc176c Link: https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-parameters-5
Rebased on latest master with no further changes. |
This option has been observed to be included in neighbour solicitations sent by Linux kernel when
conf/*/enhanced_dad
is enabled on the relevant network interface. It looks like it appeared in the linked kernel commit.In accordance with RFC 7527, a nonce can help distinguish valid DAD NS messages in the presence of Ethernet loopbacks: after a DAD probe is sent on the network, if an NS is received with the same nonce it is considered looped back and ignored.
We implement the printer for this option and add a simple test with 3 different verbosity levels.