for connected embedded systems
![]() |
![]() |
![]() |
![]() |
npm-tcpip-v6.so
Full TCP/IP stack for IPv6 packets (QNX Neutrino)
Syntax:
io-net ... -p tcpip tcpip_options ...
Options:
The tcpip_options are one or more of the following, separated by commas without whitespace:
- cache=0
- Disable caching of packet buffers. This should only be needed as a debugging facility and should be used in conjunction with the -c0 option to io-net.
- external_arp
- Use the external ip_en converter module (default is builtin).
- fastforward=num
- Enable/disable fastforwarding path. This is useful for gateways.
Enabled by forward. If you specify forward option,
fastforward is enabled.
The value of num can assume the following values with the associated meanings:
- 0
- Disables.
- Nonzero
- Enables.
The fastforward=1 alone implicitly enables forward.
- forward
- Enable forwarding of IPv4 packets between interfaces (Default is off). The forward option alone implicitly enables fastforward.
- forward6
- Enable forwarding of IPv6 packets between interfaces. Default is off.
- ipsec
- Enable IPSec support. Default is off.
- pfil_ipsec
- Run packet filters on packets before encryption. Default is after. See the description when you use this option.
- prefix=/path
- Path to prepend to the traditional /dev/socket. This option is
useful when running multiple stacks. Clients can use the SOCK
environment variable to target a particular stack. For example:
io-net -i1 -ptcpip prefix=/alt SOCK=/alt ifconfig -a
- random
- Use /dev/random as source of random data. The default is to use the builtin pseudo-random generator.
- recv_ctxt=num
- Size of the receive context buffer, in bytes (default is 65536, minimum is 2048).
- reuseport_unicast
- If using the SO_REUSEPORT socket option, deliver received unicast UDP packets to all sockets bound to the port. Default is to deliver only multicast and broadcast to all sockets.
- rx_pulse_prio=priority
- The value of priority to run pure input packet processing at. Default is 21.
- somaxconn=num
- Maximum number of connections that can queue on a socket waiting for an accept(), as specified by SOMAXCONN, which is defined in <sys/socket.h>.
- stacksize=num
- Size of each thread's stack, in bytes (default is 4096).
- strict_rfc
- Disable (the more secure) extra validation of incoming RST segments on TCP connections.
- threads_incr=num
- If threads are exhausted, increment by this number up to threads_max (default is 25).
- threads_max=num
- Maximum number of threads (default is 200).
- threads_min=num
- Minimum number of threads (default is 15, minimum is 4).
- timer_pulse_prio
- Priority to run pure timeout operations at. Default is 20.
Description:
This version of the TCP/IP stack is the default if you install the Extended Networking Technology Development Kit (TDK); npm-tcpip.so is a symbolic link to npm-tcpip-v6.so. If you haven't installed the TDK, npm-tcpip.so is a symbolic link to the npm-tcpip-v4.so module.
This npm-tcpip-v6.so module includes all the features in the standard stack, plus the functionality targeted at the new generation of mobile and secure communications. This stack provides full IPv6 and IPSec (both IPv4 and IPv6) support through KAME extensions, as well as support for VPNs over IPsec tunnels. This dual-mode stack supports IPv4 and IPv6< simultaneously and includes IPv6 support for autoconfiguration, which allows device configuration in plug-and-play network environments. IPv6 support includes IPv6-aware utilities and RIP/RIPng to support dynamic routing.
An Advanced Socket API is also provided to supplement the standard socket API to take advantage of IPv6 extended-development capabilities. IPsec support allows secure communication between hosts or networks, providing data confidentiality via strong encryption algorithms and data authentication features. IPsec support also includes the IKE (ISAKMP/Oakley) key management protocol for establishing secure host associations.
You'll likely enable the pfil_ipsec option (with no arguments) with this utility when your network configuration
- acts as a Neutrino gateway to an internal network
- applies IP filtering/NAT, and
- tunnels traffic from your internal hosts through an IPSec tunnel on the Neutrino gateway.
The pfil_ipsec option affects the processing order of IPSec and IP filtering in the TCP/IP stack for outgoing packets -- by applying IP filtering and NAT to the outgoing traffic before it's sent on the IPsec tunnel.
![]() |
You can't umount Qnet and the full TCP/IP. You may, however, create an io-net producer module that supports unmounting. |
Examples:
The following io-net command uses the NE-2000 driver (devn-ne2000.so), and the networking stack with IPSec and forwarding enabled. The ifconfig command configures the ethernet interface to an IP address of 10.0.0.163 and the route command set the default gateway to 10.0.0.25:
io-net -dne2000 -ptcpip ipsec,forward ifconfig en0 10.163 route add default 10.25
If running multiple stacks, a particular instance is targeted by clients with the SOCK environment variable, as follows:
io-net -i1 -ptcpip prefix=/alt SOCK=/alt ifconfig -a
You can enable only forward by the following:
io-net -ptcpip forward,fastforward=0
Files:
- /dev/io-net
- The directory where, by default, drivers and protocol modules add entries. For more information, the documentation for io-net.
See also:
/etc/autoconnect, dd, /etc/hosts, ifconfig, io-net, netstat, npm-tcpip.so, npm-tcpip-v4.so, ping, ping, pppd, /etc/resolv.conf, route, sysctl
"Network drivers (devn-*)" and "Network protocol modules (npm-*)" in the Utilities Summary
getsockopt(), ioctl(), setsockopt(), and ROUTE in the Library Reference TCP/IP Networking in the Neutrino User's Guide
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
