Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
Lustre 2.16.0
-
9223372036854775807
Description
The nodemap functionality in lustre allows sets of hosts to be described using a range of network addresses.
For network types where the address is a simple integer, this seems reasonable.
For IPv4 where an address is usually represented as 4 small integers, this is manageable, but not really ideal. The standard throughout IP is to use a netmask to identify a set of addresses, whether for routing, for access control, or any other purpose.
For IPv6 it would be quite inconvenient to use ranges. Addresses are rarely allocated sequentially, and specifying a netmask length is much easier. Also, it is standard practice to store IPv6 address (and IPv4) in network-byte-order, so comparing two addresses to see if they are ordered (as needed for ranges) is clumsy to implement.
Clearly we need to keep address-range support for existing address types, but I believe we should not support it for new IP address. Further we should add netmask support for existing address types.
Internally, this would mean keeping nodemap information in a range-tree for 4-bytes addresses (as we already do), and using a netmask based structure for longer addresses.
From user-space, we would add a syntax (/nn suffix) to specify a netmask. For 4-byte addresses this would be converted to a range. For large address, this would be used as-is.
Attachments
Issue Links
- is related to
-
LU-18014 conf-sanity test_43a: @@@@@@ FAIL: check lustre-MDTall.mdt.nosquash_nids failed!
- Open
-
LU-18167 sanity-sec test_16: nodemap_classify_nid()) ASSERTION( nodemap != ((void *)0) ) failed
- Resolved
-
LU-18417 Finish IPv6 support
- Open
- is related to
-
LU-10391 LNET: Support IPv6
- Resolved
-
LU-17217 Allow server to control/deny client connections
- Open
-
LU-13307 add LCFG_NODEMAP_ADD_RANGEv6 records for IPv6
- Resolved