Name locator (QNX)
nameloc [-e node] [-k node [-w]] [-p seconds] [-S] [-s node] [-t seconds]
The nameloc utility runs in the background and provides a network-wide naming service for all processes running under the operating system. You may run nameloc on up to 10 different nodes in the network -- this provides redundancy in case a node running nameloc fails. Note, however, that running nameloc on just 3 nodes is usually more than sufficient. Each nameloc generates background network traffic, so the numbers of namelocs should be limited.
A process may register one or more symbolic names. These names may be local to the node on which the process is running or global to the entire network. Global names all start with a slash. For example:
This name: | Is a: |
---|---|
qnx/fsys | local name |
company/xyz | local name |
/company/xyz | global name |
The convention of prefixing a name with a company or product name is encouraged to reduce name conflicts between different vendors. The name locator is not required to locate names on the same node as the process performing the lookup. It is required if you wish to locate global names on other nodes.
Upon starting, nameloc will immediately poll each node in the network for its list of global names. It will then go into a slow poll mode to refresh this information. This slow poll period may be changed using the -p option. The slow polling is not the major means by which nameloc keeps informed of process global names in the network. Each time a name is registered or removed, all name locators are immediately informed. The slow poll is a safety net to handle extraordinary error conditions that might cause it to miss an attach or detach request.
When polled by a name locator, each node in the network remembers the polling node. It will remember up to the last 10 different nodes it was polled from. If it fails to receive a poll after a 10-minute period, it will forget that node and thus that name locator.
Start nameloc with defaults:
nameloc &
Start nameloc with a 5 second poll period:
nameloc -p 5 &
Start nameloc, polling nodes 1 through 9 only:
nameloc -s 1 -e 9 &
Be careful to run nameloc only on those nodes with full network access. One of the functions of nameloc is to keep track of the qnx_net_alive() list, which is used by many utilities to quickly determine what nodes on the network are alive. If nameloc is run on a node which has less network access than do any of the nodes which can access it, those nodes may run into a situation where they believe they can talk to only a fraction of the nodes which are up. In addition, the list of global names can be similarly flawed (an incomplete list present), and licensing information can be wrong. For these reasons, we suggest that nameloc be run only on servers which can communicate with every node on the network.
If a node is having difficulty with its alive list, global names (see sin gnames) or licensing (see licinfo), use sin info to list the namelocators in use. Chances are good that the first name locator node in the list is at fault.