This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Network I/O support
You must be root to start this manager. |
io-net [-avms] [-i instance] [-C size] [-c 0] [-d driver [driver_options]] ... -p protocol [protocol_options] [-t threads] ... &
This isn't related to the message context size of the TCP/IP stack (npm-tcpip.so). |
Driver | Shared object |
---|---|
artesyn | devn-artesyn.so |
cpci-mcp750 | devn-cpci-mcp750.so |
crys8900 | devn-crys8900.so |
dm9102 | devn-dm9102.so |
eepro | devn-eepro.so |
el509 | devn-el509.so |
el589 | devn-el589.so |
el900 | devn-el900.so |
epic | devn-epic.so |
fd | devn-fd.so |
marvell | devn-gt6260.so |
intel | devn-i82544.so |
klsi | devn-klsi.so |
lance | devn-lance.so |
ne2000 | devn-ne2000.so |
ne2000-403 | devn-ne2000-403.so |
ns83815 | devn-ns83815.so |
orinoco | devn-orinoco.so |
pcnet | devn-pcnet.so |
pegasus | devn-pegasus.so |
ppc800-ads | devn-ppc800-ads.so |
ppc800-cllf | devn-ppc800-cllf.so |
ppc800-mbx | devn-ppc800-mbx.so |
ppc800-rpxlite | devn-ppc800-rpxlite.so |
ppc860t_mii | devn-ppc860_mii.so |
ppc8260t | devn-ppc8260.so |
prism | devn-prism.so |
rtl | devn-rtl.so |
sis9 | devn-sis9.so |
smc9000 | devn-smc9000.so |
speedo | devn-speedo.so |
tulip | devn-tulip.so |
tulip-p5064 | devn-tulip-p5064.so |
rhine | devn-via-rhine.so |
wd | devn-wd.so |
The -d option isn't necessary for driverless interfaces such as pppd.
Protocol | Shared object |
---|---|
pppmgr | npm-pppmgr.so |
pppoe | npm-pppoe.so |
qnet | npm-qnet.so |
tcpip | npm-tcpip.so |
ttcpip | npm-ttcpip.so |
The io-net manager provides support for dynamically loaded networking modules. You can load drivers and protocols when you start io-net, by using the -d and -p command-line options.
You can start more than one driver or protocol by using multiple -d and -p command-line options. |
Once io-net has started, you can dynamically load and unload modules by using the mount and umount commands. For example, this command:
io-net -dne2000 mac=12345678 -pttcpip if=en0:10.163 &
is the same as this sequence:
io-net & mount -T io-net -o if=en0:10.163 npm-ttcpip.so mount -T io-net -o mac=12345678 devn-ne2000.so
The io-net manager uses the LD_LIBRARY_PATH environment variable when searching for the shared objects. If it's not set, or the shared object in question isn't in one of its directories, or you want to override the default, specify the full path in the mount command.
To unload a module, use a command like this:
umount /dev/io-net/en0
By default, io-net populates the /dev/io-net portion of the namespace and handles mount requests of type io-net.
The /dev/io-net directory doesn't appear until a driver or protocol module adds an entry to it. If you start io-net without any drivers or protocols, a waitfor /dev/io-net command fails. |
Running more than one instance of io-net may cause confusion because their portions of the namespace overlap. You can use the -i option to append an instance number to the above strings. For example, for the first io-net, do this:
io-net mount -T io-net /lib/dll/devn-speedo.so ls /dev/io-net
and for the second, do this:
io-net -i1 mount -T io-net1 -o prefix=/alt /lib/dll/npm-tcpip.so ls /dev/io-net1
Start io-net, load the NE-2000 Ethernet driver and tiny TCP/IP protocol module, and autoload the IP-to-Ethernet-converter module (ncm-ip_en.so).
io-net -dne2000 -pttcpip
This sample mkifs boot script starts io-net with an NE 2000 Ethernet adapter, the tiny TCP/IP stack, and a PPP manager:
[search=:/usr/nto/x86/sys:/usr/nto/x86/bin:/usr/nto/x86/so:/usr/nto/x86/lib] [uid=* gid=*] [-relocs] [virtual=x86/bios +compress] boot = { startup-bios -v PATH=/proc/boot LD_LIBRARY_PATH=/proc/boot:/dev/shmem procnto -vvv } [+script] startup.script = { [+session] devc-con -e -n8 & waitfor /dev/con1 reopen /dev/con1 [+session] devc-ser8250 & waitfor /dev/ser2 & io-net -dne2000 -pttcpip if=en0:10.163:255.255.0.0 -p pppmgr waitfor /dev/socket fs-nfs2 -u 10.25:/usr/nto/x86 / -u 10.25:/ /q & waitfor /bin reopen /dev/con1 [+session] TZ=est05edt04,M4.1.0/2,M10.5.0/2 PATH=/bin:/usr/local/bin \ sh & /bin/pipe & /bin/devc-pty & } [type=link] /usr/lib/ldqnx.so.2 = /proc/boot/libc.so [type=link] /tmp = /dev/shmem [type=link] /bin/login = /bin/esh [type=link] /dev/console = /dev/con1 [type=link] /dev/log = /dev/null [type=link] /proc/dumper = /dev/null libcam.so libc.so libsocket.so npm-ttcpip.so devn-ne2000.so [data=copy] io-net fs-nfs2 pci-bios devc-con sh=esh devc-ser8250 pppd
Mount two Tulip-based Netgear FA310TX cards, one with PCI index 1 that's connected to the Internet, and one with PCI index 0 that's connected to a local network, setting the default route:
io-net -dtulip chipset=168,media=3,pci=0x1 \ -dtulip chipset=168,media=5,pci=0x0 \ -pttcpip if=en0:65.0.106.37:255.255.255.0,\ if=en1:192.168.0.1,default=65.0.106.1
"Network drivers (devn-*)" and "Network protocol modules (npm-*)" in the Utilities Summary
Using Qnet for Transparent Distributed Processing and TCP/IP Networking in the Neutrino User's Guide