It is important to be aware that a network interface can (and usually does) have multiple IPv6 addresses.
There is a link-local address which cannot be routed, there maybe a an address based on the hardware MAC address, there might be 1 or more temporary addresses that are assigned randomly and used as the source of outgoing connections and are discarded after a time when not in use. There might be an address assigned by dhcp6. And there could be addresses that are manually assigned.
Servers typically have a manually assigned address which is published in the DNS. Hosts that only act as a client could only have randomly assigned addresses - one permanent for the rare case when an incoming connection is needed, one or two which are temporary and recycles, and used for all outgoing connections.
NFS and Lustre both set IPV6_PREFER_SRC_PUBLIC so when connecting to a server the client will advertise a stable IPv6 address that will not expire. However if there are multiple possible public source addresses for the chosen interface, there is not currently any code to choose between them.
With this context: What are nodemaps used for? grouping servers? grouping clients? Both?
Can we just assume that people who want to use nodemaps will configure appropriate IPv6 addresses and NIDs to make the mapping convenient?
I would MUCH rather limit support to net-masks, avoiding any suggestion of numeric ranges which are not power-of-2 in size and alignment.
Merged for 2.16