Network I/O support
You must be root to start this manager. |
io-net [-avms] [-i instance] [-c 0] [-d driver [driver_options]] ... -p protocol [protocol_options] [-t threads] ... &
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 -pttcpip if=en0:10.163 &
is the same as this sequence:
io-net & mount -T io-net devn-ne2000.so mount -T io-net -o if=en0:10.163 npm-ttcpip.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. This may cause confusion when multiple io-nets are running, as their portion of the namespace overlap. The -i option can be used to append an instance number to the above strings. See the examples below:
io-net mount -T io-net /lib/dll/devn-speedo.so ls /dev/io-net
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