I applied the following terminology and changed the wording in the doc
accordingly:
* must not: If the parameter is of the value it *must not* be it either
hits an assert or crashes the system.
* may not: The value can be that value, but the function will return an
error.
For the new neighbor discovery I want the protocol related constants in
a central place (will remove the spread-out definitions of the old
implementation when I remove that one)