[LUDOC-503] "Deciding on NID Ranges" incorreclty states network ID can be hex Created: 31/Jan/22 Updated: 31/Jan/22 |
|
| Status: | Open |
| Project: | Lustre Documentation |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Nathaniel Clark | Assignee: | Lustre Manual Triage |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Severity: | 3 |
| Rank (Obsolete): | 9223372036854775807 |
| Description |
|
Current Doc: <nidlist> :== <nidrange> [ ' ' <nidrange> ] <nidrange> :== <addrrange> '@' <net> <addrrange> :== '*' | <ipaddr_range> | <numaddr_range> <ipaddr_range> :== <numaddr_range>.<numaddr_range>.<numaddr_range>.<numaddr_range> <numaddr_range> :== <number> | <expr_list> <expr_list> :== '[' <range_expr> [ ',' <range_expr>] ']' <range_expr> :== <number> | <number> '-' <number> | <number> '-' <number> '/' <number> <net> :== <netname> | <netname><number> <netname> :== "lo" | "tcp" | "o2ib" | "gni" <number> :== <nonnegative decimal> | <hexadecimal>
I do not believe that <number> can be hex when specifying a NID. libcfs_str2nid() only processes the network number as an unsigned decimal.
The inline documentation in (both) nidstrings.c specifies struct nidrange this way: /** * Nid range list syntax. * \verbatim * * <nidlist> :== <nidrange> [ ' ' <nidrange> ] * <nidrange> :== <addrrange> '@' <net> * <addrrange> :== '*' | * <ipaddr_range> | * <cfs_expr_list> * <ipaddr_range> :== <cfs_expr_list>.<cfs_expr_list>.<cfs_expr_list>. * <cfs_expr_list> * <cfs_expr_list> :== <number> | * <expr_list> * <expr_list> :== '[' <range_expr> [ ',' <range_expr>] ']' * <range_expr> :== <number> | * <number> '-' <number> | * <number> '-' <number> '/' <number> * <net> :== <netname> | <netname><number> * <netname> :== "lo" | "tcp" | "o2ib" | "cib" | "openib" | "iib" | * "vib" | "ra" | "elan" | "mx" | "ptl" * \endverbatim */ |