Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
Developer Support
QNX Documentation Library
QNX Developer Support

QNX Developer Support

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

[Previous] [Contents] [Index] [Next]

npm-qnet-compat.so

Native QNX Neutrino network manager -- backward-compatible version


Note: This manager is going to be deprecated in future editions. It's currently included because it's compatible with QNX Neutrino 6.2.

Syntax:

io-net ... -p qnet [option[,option]...]

Options:


Note: Use commas (,) to separate the options (not spaces).

align_fault=enX
Overwrite Qnet's misaligned-access detection. The value of X is one of:
1
Don't allow misaligned access.
-1
Allow misaligned access.
bind=en[X]|ip[X]
Encapsulate the Qnet packet into an ip or ethernet packet. By default, Qnet uses bind=en. If you specify a full interface name (e.g. bind=en0), then only that interface is used.
host=hostname
Change the hostname of the machine.
mapany=map_uid
Map any incoming user ID to map_uid and map its group ID to the group ID of map_uid.
maproot=map_uid
If the incoming user ID is 0, map it to map_uid and map its group ID to the group ID of map_uid.
mount=directory[:[.]domain]
A network directory. The default directory is /net. The default domain is either the hostname domain, if it has one, or the directory with the slashes changed to dots and reversed. For example, /net/outside/canada has a domain of canada.outside.net. The first mount is the default directory and domain that the local hostname will resolve to.
padding=n
Add n padding bytes between the link layer header and the Qnet packet header, to make the packet (and its payload) aligned. All nodes in the network running npm-qnet-compat.so must specify the same option argument in order to communicate. Default is no padding (padding=0).
resolve=resolver[:resolver_parameter]
Add to the resolver list for mountpoints that follow.

The following values for resolver are built into the network manager:

  • ndp -- Node Discovery Protocol for broadcasting name resolution requests on the LAN (similar to the TCP/IP ARP protocol). This is the default.
  • dns -- Take the node name, add a dot (.) followed by the node domain, and send the result to the TCP/IP gethostbyname() function.
  • file -- The optional resolver_parameter is the name of the file to use; the default is /etc/qnet_hosts. The format of the file is:
     #comment   ... This is a comment line
    host.domain     addr1[,addr2]
     ......
     

    The host.domain represents a QNET FQDN. The addr1 (and optional addr2) are the interface addresses for the FQDN. For bind=en QNET, the format of an address is xx:xx:xx:xx:xx:xx (the MAC address); for bind=ip QNET, the format of an address is a.b.c.d in IP dotted notation.

If you specify something else for resolver, Qnet attempts to load nr-resolver.so. The default name resolver is ndp. For queries how to create nr-resolver.so, please contact QNX support.

Description:

The npm-qnet-compat.so interface implements native QNX Neutrino networking. It's the original Qnet stack.

If you want to use this version of Qnet, make /lib/dll/npm-qnet.so a symbolic link to npm-qnet-compat.so. By default, npm-qnet.so is a symbolic link to npm-qnet-l4_lite.so.


Note: When you specify two or more resolve= options in a series, the resolvers form a list of lookups for the directory specified in the subsequent mount= options.

You may notice that the list of resolvers is terminated by a mount= option. Any resolve= options placed after a mount= option form a new list -- they don't add to the previous list.

For example, the following line:

resolve=a,resolve=b,mount=x,mount=y,resolve=c,mount=z

specifies that:

  • mount=x has resolvers a and b
  • mount=y also has resolvers a and b
  • mount=z has only resolver c.

Files:

/dev/io-net
The directory where, by default, drivers and protocol modules add entries. For more information, the documentation for io-net.
/etc/system/config/useqnet
If this file exists, your system is using the default startup files, and io-net is running when your system starts up, the system automatically loads the Qnet module that /lib/dll/npm-qnet.so points to (npm-qnet-l4_lite.so by default). For more information, see the Controlling How Neutrino Starts chapter of the Neutrino User's Guide.

Caveats:

Qnet doesn't support networking processors of different endianness. If you need cross-endian file access, consider using NFS.

Don't use the options bind=en and resolve=dns together; that combination is invalid.

See also:

io-net, npm-qnet.so, npm-qnet-l4_lite.so

"Network drivers (devn-*)" and "Network protocol modules (npm-*)" in the Utilities Summary

Using Qnet for Transparent Distributed Processing in the Neutrino User's Guide

Native Networking (Qnet) in System Architecture

Transparent Distributed Processing Using Qnet in the Neutrino Programmer's Guide


[Previous] [Contents] [Index] [Next]