TOC PREV NEXT INDEX

LynxOS Networking Guide

6

TCP/IP

LynxOS supports TCP/IP (Transmission Control Protocol/Internet Protocol) networks. By default, TCP/IP is installed during the initial installation of LynxOS. TCP/IP can be configured, installed, or removed at any time.

LynxOS TCP/IP is an enhanced version of the FreeBSD 4.2 TCP/IP stack, and includes support for the BSD socket interface system and networking library functions needed to access the TCP/IP and UDP network protocols. The LynxOS TCP/IP stack is enhanced for real-time determinism and performance.

Installing/Removing TCP/IP Support

TCP/IP can be installed or removed after initial installation of LynxOS. Scripts are provided to install or remove TCP/IP support. The Install.tcpip and Uninstall.tcpip scripts are found in /usr/bin.

Installing TCP/IP

To install TCP/IP:

# Install.tcpip

To remove TCP/IP:

# Uninstall.tcpip

Note: These instructions are for IPv4 only. The IPv6 (and IPsec) protocols for LynxOS are not included with the standard LynxOS package. These components are available for purchase separately. For information on these products, please contact your LynuxWorks sales representative.

Configuring Ethernet Cards with ifconfig

ifconfig is used to assign an address to a network interface for each interface present on the system. (This is handled automatically if LynxOS is installed with network support.) ifconfig can be issued as a command to reconfigure the network interface or to obtain configuration information.

To use ifconfig to configure a network interface, the command should be placed in /net/rc.network (see rc.network below for more information on this file) in order for the network interface to be properly configured at boot time.

Issuing an ifconfig command without parameters displays the current configuration information of the network interface. Refer to the ifconfig man page for more information.

rc.network

The rc.network file contains command scripts that configure the network interface card and start other network related services. rc.network contains ifconfig entries for all network interface drivers supplied by LynxOS. To use one of the entries, enable it by removing the comment character and supply the appropriate host name and IP address.

To use a network interface driver not supplied with LynxOS, insert an ifconfig entry into rc.config specifying device driver file name, host name, and IP address.

Use rc.network also to enable or disable network services such as NFS and SNMP for example.

Common TCP/IP Utilities

The following table lists common LynxOS TCP/IP commands and files:

LynxOS TCP/IP Components  
Component
Definition
ping
Sends a packet of data to a system to determine if it is on the network. The ping command is used to test that TCP/IP is installed correctly and that a system is up on a network.
hosts
The hosts database. This can be the /etc/hosts file, the Network Information Service (NIS) hosts map, the Internet domain name server, or any combination of these.
rlogin
Allows the user to log onto a remote host on the network. This requires that the user name be the same on both the local and remote machine. If the /etc/hosts.equiv file is set up, a password is not needed when performing a remote log on. rlogin requires the host computer to have a UNIX-compatible operating system.
/etc/hosts.equiv
This is the file that contains the list of acceptable remote hosts.
/etc/hosts
The file that contains the list of hosts on the network.
/etc/resolv.conf
The resolv.conf file is used to determine a system's domain name, domain search paths, and IP addresses for name servers and routers.
telnet
A protocol that allows for remote access to a system. The system can run any operating system, UNIX-compatible or not.
.rhosts
A file that provides the remote authentication database for the rlogin, rsh, and rcp commands.
rsh
Allows users to connect and execute commands on a remote host. This command expects that the /etc/hosts.equiv and .rhosts files are configured properly. The rsh command only works when users are considered equivalent on the local and remote machine.
rcp
A command that copies files and directories between different hosts. The remote copy command or rcp is a fast and efficient way to exchange data quickly between UNIXcompatible hosts. The /etc/hosts.equiv and .rhosts files must be correctly configured to use this command. Note that rcp does not copy symbolic links.
ftp
A file transfer program that uses the File Transfer Protocol. The ftp program transfers files to and from a remote network site. Passwords are required to access user directories.
ifconfig
Allows users to view and configure TCP/IP network interface parameters. The ifconfig command is not hardware dependent.
netstat
A command that lets users know the status of the network. It displays the contents of various network-related data structures.
tcpdump
Displays TCP/IP activity on a particular interface.

For more information on these components, see the appropriate man pages.

The next sections provide an overview of some of the most common TCP/IP utilities. These sections introduce basics of common TCP/IP utilities such as the ping command, remote computer access (telnet, rlogin) and file transfer between computers (ftp).

Testing TCP/IP (ping)

The simplest way to test the TCP/IP configuration of the system is to use the ping utility. Users can send a test message to any host on the network with the ping command. Users can ping either the IP address or host name of the machine. This test verifies the correct operation of hardware and TCP/IP software connecting the hosts. The ping command continues to send packets to the addressed host once every second until the command is terminated with a Ctrl-C.

The following figure shows the ping command testing TCP/IP configuration by sending data packets to the IP address of a system:

Testing TCP/IP with ping
$ ping 192.168.1.102
PING 192.168.1.102: 56 data bytes
64 bytes from 192.168.1.102: icmp_seq=0.time=10. ms
64 bytes from 192.168.1.102: icmp_seq=1.time=0. ms
64 bytes from 192.168.1.102: icmp_seq=2.time=0. ms
64 bytes from 192.168.1.102: icmp_seq=3.time=0. ms
^C
---- 192.168.1.102 PING Statistics----
4 packets transmitted, 4 packets received, 0% packet loss round-trip (ms) min/avg/max = 0/2/10
$

The following figure shows the ping command testing TCP/IP configuration by sending data packets to the hostname of a system.

Using ping to test TCP/IP
$ ping shark
PING shark (192.168.1.101): 56 data bytes
64 bytes from 192.168.1.101: icmp_seq=0.time=10. ms
64 bytes from 192.168.1.101: icmp_seq=1.time=0. ms
64 bytes from 192.168.1.101: icmp_seq=2.time=0. ms
64 bytes from 192.168.1.101: icmp_seq=3.time=0. ms
^C
----shark PING Statistics----
4 packets transmitted, 4 packets received, 0% packet loss round-trip (ms) min/avg/max = 0/2/10
$

Once the correct host setup is verified, every host on the network can use the ping command on other members of the network as shown in the following figure

Pinging Other Hosts on a Network
$ ping orca
PING orca (192.168.1.102): 56 data bytes
64 bytes from 192.168.1.102: icmp_seq=0.time=10. ms
64 bytes from 192.168.1.102: icmp_seq=1.time=0. ms
64 bytes from 192.168.1.102: icmp_seq=2.time=0. ms
64 bytes from 192.168.1.102: icmp_seq=3.time=0. ms
^C
----orca PING Statistics----
4 packets transmitted, 4 packets received, 0% packet loss round-trip (ms) min/avg/max = 0/2/10
$
.

Troubleshooting ping

Problems related to testing TCP/IP configurations with ping sometimes occur due to host lookup failures, or problems in connectivity between the systems, not necessarily with the TCP/IP configuration on the local system.

The /etc/hosts File

Host lookup failures with ping can sometimes be attributed to incorrect /etc/hosts, or /etc/resolv.conf files. For example, if the host named fish in the /etc/hosts file is not defined, the ping command fails as shown in the following figure.

Host Not Defined in /etc/hosts
$ ping fish
ping: fish: Host name lookup failure
$

Because the hostname fish is not defined on the local system, ping returns a host name lookup failure. The /etc/hosts file provides a means of mapping IP addresses to hostnames. However, in larger networks, a Domain Name Service (DNS) server is typically used. The DNS server maintains a database of hostnames and IP addresses. If a user pings a system that is not defined in a local /etc/hosts file, the system then sends a request to a DNS server to translate the hostname to the IP address.

However, a preferred method to test TCP/IP functionality is to first ping the IP address of a system, then attempt to ping the hostname of a system. If the IP address of a host is found, but the host name lookup fails, TCP/IP is correctly configured, but the hostname resolution needs to be corrected. To resolve the hostname lookup failure, the correct IP address and hostname must be added to the /etc/hosts file.

The following table shows an example /etc/hosts configuration file:

/etc/hosts example file
#loopback address
127.0.0.1 localhost
#localhost address
192.168.1.103 stingray
#other host addresses
192.168.1.101 shark
192.168.1.102 orca

In this example, the localhost entry is called a "loopback" address, and is used to point to the local system. An entry also exists for the IP address and hostname of the local system. Any other IP address and hostname definitions point to other systems on the network.

The /etc/resolv.conf file

In addition to the /etc/hosts file, the /etc/resolv.conf file provides the domain name for the local system, domain search paths used when looking up hosts, and IP addresses for Domain Name Service (DNS) servers.

Users can ping a host without providing a domain name by entering the following command:

# ping fish

If fish is not defined in /etc/hosts, the local system uses the search paths and DNS servers provided in /etc/resolv.conf to determine a fully-qualified domain name and IP address. The system uses the search entries in the resolv.conf file to determine a fully qualified domain name, for example, fish.domain1.com. For the system to find the IP address of a host, it must have access to one or more DNS servers. These DNS servers contain indexes of fully qualified domain names and valid IP addresses.

The structure of the /etc/resolv.conf file is as follows:

/etc/resolv.conf example file:
domain domain1.com
search domain1.com
search domain2.com
nameserver 192.168.1.254
nameserver 192.168.1.253

In this example, the domain definition provides the domain of the local system. If the hostname is stingray, for example, the fully qualified hostname would be stingray.domain1.com.

The search definitions provide a means to resolve the fully-qualified domain name for hosts. For example, a system searching for the host fish first attempts to resolve the fully qualified domain name to the first search entry, or fish.domain1.com by sending a request to the local DNS server. If no entry exists in the DNS table for the system fish.domain1.com, the local system resolves the fully qualified domain name to the second search entry in resolv.conf, or fish.domain2.com. A second request is sent to the DNS server for the IP address of fish.domain2.com. This process continues until a valid host and domain is found or there are no more search paths. There is no limit to the number of search paths that can be used in /etc/resolv.conf.

nameserver definitions in /etc/resolv.conf are IP addresses pointing to local DNS servers. These DNS servers are used to translate the fully qualified domain name to a valid IP address.

ping Not Responding

If the ping command fails to respond with any output, terminate the program by pressing Ctrl-C. Common reasons for ping failure include:

Using traceroute

The traceroute utility is used to follow the route an IP packet takes to reach its destination. By sending simple UDP probe packets, traceroute displays the names and response times of the different gateways a packet traverses before reaching its destination. The traceroute syntax is as follows:

# traceroute <host>

Where <host> is the hostname or IP address of the destination system. Additional usage information is available in the traceroute man page.

Additionally, traceroute6 can be used to follow the route of an IP packet through IPv6 networks.

Logging On to a Remote Computer (telnet, rlogin)

Users can log on to another host on the network using either one of the two utilities supplied with TCP/IP:

telnet

The telnet utility allows users to log on any type of computer that supports TCP/IP. The computer can run any operating system, UNIX-compatible or not. This utility allows a LynxOS user to access a system from anywhere on the network.

telnet is invoked with the host name of a remote computer, as shown in the following figure.

Using telnet to Remotely Log in
jones@orca$ telnet shark
Trying...
Connected to shark.
Escape character is '^]'.
LynxOS (shark)
user name: jones
password:
jones@shark$

To access the system, users must supply a user name and password.

Terminate a telnet session by logging out of the system with the exit command, as shown in the following figure.

Terminating a telnet Session
jones@shark$ exit
Connection closed by foreign host.
jones@orca$

rlogin

Users can use rlogin to remotely log on another computer similar to telnet. Unlike telnet, rlogin requires the host computer to have a UNIX-compatible operating system.

rlogin is invoked with the host name of the remote computer, as shown in the figure below:

Using rlogin
jones@orca$ rlogin shark
login shark vt100
password:
jones@shark$

In the previous example, no user name is passed to rlogin. In this case, the user name on the local machine is used to log on the remote machine, for example, user jones on host shark logged on remote host orca as user jones.

If the user wants to log on to a system that does not have an identical user account, the login argument, -l followed by the desired user account must be added, as shown in the following figure.

Remote Log in as Another User
jones@orca$ rlogin shark -l doc
login shark vt100
password:
doc@shark$

Unlike telnet, the rlogin utility lets users take advantage of the information in /etc/hosts.equiv and.rhosts files. Users on machines that are set up to be considered local are not prompted for a password.

Executing Commands Remotely (rsh)

Another utility included with TCP/IP is rsh, the remote shell command. This utility allows users to perform the following tasks:

Accessing Remote Hosts and Redirecting
Output to the Local Machine

The rsh command only works when the user is considered equivalent on the local and remote machine.

The syntax for the rsh command is as follows:

rsh host [-l <user_name>] <command>

An optional user name can be given to execute the command as a specific user. This is useful if the current user account is not considered equivalent on the remote machine. rsh redirects standard input, standard output, and standard error from the remote machine to the local host.

The who utility displays users who are currently logged into a remote host, as shown in the following figure.

Using who to Query Log ins on a Remote System
davis@shark$ rsh orca who
root atc0 Mon Dec 23 10:40:54
root ttyp0 :0.0 Mon Dec 23 10:41:19
root ttyp1 :0.0 Mon Dec 23 10:49:02
root ttyp2 :0.0 Mon Dec 23 11:05:45
davis@shark$

Executing a Command on a Remote Host

Also, commands can be invoked on a remote host as another user. In the following figure, user jones on host orca invokes the whoami command. This utility reports the current login account.

Using rsh to Remotely Execute a Utility
davis@shark$ rsh orca -l jones whoami
jones
davis@shark$

Transferring Files Between Machines (ftp, tftp rcp)

There are several ways to copy files between hosts:

File Transfer Protocol (ftp)

The File Transfer Protocol, or ftp allows users numerous configuration options. In addition to the options provided in this document, review the ftp man page for setting advanced options.

Starting ftp

In its simplest invocation, ftp is called with the host name of the remote machine. ftp prompts for a user login and password. A password must be provided to access user accounts.

In the following figure user davis on host orca connects to host shark and logs on as user jones.

Connecting to a System with ftp
davis@shark$ ftp orca
Connected to orca.
220 orca FTP server (Version 4.162 Tue Nov 1 10:50:37 PST 1988) ready.
Name (orca:davis): jones
331 Password required for jones.
Password:
230 User jones logged in.
ftp>

Retrieving Files from a Remote Host (get)

Once logged in, files can be retrieved from the remote host using the get command, as shown in the following figure.

Downloading Files with ftp
ftp> get .login
200 PORT command successful.
150 Opening ASCII mode data connection for .Login (209 bytes).
226 Transfer complete.
218 bytes received in 0.01 seconds (21.29KB/s)
ftp>

Sending Files to a Remote Host (put)

Alternatively, files can be sent to the remote host using the put command, as shown in the following figure.

Uploading Files with ftp
ftp> put hosts.equiv
200 PORT command successful.
150 Opening ASCII mode data connection for hosts.equiv.
226 Transfer complete.
12 bytes sent in 0.07 seconds (0.17KB/s)
ftp>

Note: By default, the ftp transfer program operates in an ASCII text mode. Set the transfer mode to binary by entering binary at the ftp prompt.

Transferring Binary Files

To transfer binary files, the transfer mode must be changed by entering the binary command at the ftp prompt. For example:

ftp> binary
200 Type set to I.
ftp>

Transferring a binary file in ASCII mode results in a corrupt file. To preserve the integrity of the file, be sure to set FTP to binary mode before the transfer. Note that Binary file transfers are a little slower than ASCII file transfers.

Listing ftp Commands

ftp commands are displayed by entering a question mark (?) at the ftp prompt. The following list describes some common ftp commands

Common ftp Commands  
Command
Description
ascii
Sets file transfer type to ASCII.
binary
Sets file transfer type to binary.
bye
Terminates the ftp session and exits.
cd
Changes directory on the remote system.
delete
Deletes file on the remote system.
get
Retrieves remote files to the local system
help
Displays a list of ftp commands. If a command is provided as an argument, displays specific command information.
lcd
Changes working directory on the local system.
ls
Lists contents of remote directory
mdir
Lists contents of multiple remote directories.
mget
Retrieves multiple files.
mkdir
Makes directory on the remote system.
mput
Sends multiple files.
put
Sends one file.
pwd
Prints remote system working directory.

Trivial File Transfer Protocol (tftp)

tftp (Trivial File Transfer Protocol) is a simple UDP transfer protocol. Typically, tftp is used for bootstrapping diskless clients and installing firmware into ROM.

tftp does not require client authentication, which may pose a security risk for some systems. LynxOS supports two tftp transfer methods: Simple and Secure.

Simple is the default tftp mode. No options are required:

# tftpd

Secure tftp is set with the -s option and a directory name. For example, to set up the directory /tmp/project for secure tftp for the user fred, use the following command:

# tftpd -s /tmp/project -u fred

For more information, see the tftpd(8) man page.

Remote Copy (rcp)

The remote copy command or rcp is an efficient way to exchange data between UNIX-compatible hosts. To access files using rcp, users must have already set up the /etc/hosts.equiv and .rhosts files correctly. Files can be copied between hosts using a syntax similar to the UNIX cp command.

The only difference is that the remote host's file name must be indicated properly. In the following example, file /etc/hosts is copied from host orca to host shark:

jones@shark$ rcp orca:/etc/hosts /tmp

Like the cp command, multiple files can be transferred to a directory:

jones@shark$ rcp /etc/passwd /etc/printcap orca:/tmp

Finally, the rcp command can be used to transfer files between two hosts that are different than the host currently logged into (assuming proper configuration).
In the following example, the /etc/passwd file is copied from host orca to host fish from a user on host shark:

jones@shark$ rcp orca:/etc/passwd fish:/tmp/passwd

Divert Sockets

divert provides a kernel packet diversion mechanism. Divert sockets are similar to raw IP sockets except that they can be bound to a specific divert port with the bind system call. A divert socket bound to a divert port receives all packets diverted to that port.

Divert sockets are normally used in conjunction with packet filtering. By reading from and writing to a divert port, matching packets can be passed through a filter as they travel through host machine. For more information refer to the divert(4) and bind(2) man pages.

NAT and IP Masquerading

IP masquerading is a form of NAT (Network Address Translation) that can be implemented in conjunction with the natd daemon.

This feature allows internally connected computers that do not have registered Internet IP addresses to communicate to the Internet by way of natd running on a LynxOS host gateway that has a registered Internet IP address.

Network Address Translation can be used to redirect an IP access to a particular client, or redirect specific internet services to a particular client and port.

Network Address Translation

Enabling and Starting natd

NAT is enabled with a sysctl:

# sysctl -w net.inet.ip.forwarding=1

Once natd is enabled in the kernel, start the daemon with the proper configuration options. natd syntax is as follows:

# natd <redirection_options>

The following table describes the redirection options used with natd:

natd Options and Descriptions  
Option
Description
-interface <ifx>
Uses the IP address set to the interface <ifx> for aliasing.
-redirect_address <localIP> <publicIP>
Redirects access to a local IP address to public IP address. This option maps an external IP address to a local client IP. This is known as static NAT, and is useful if there are several external IP addresses available.
<localIP> is the IP address of the local system
<publicIP> is the external IP address
-redirect_port <protocol> <targetIP:targetPort>
[<aliasIP>]:<aliasPort>
[<remoteIP:remotePort>]
Redirects access to networking services.
<protocol> -- the protocol used (tcp or udp).
<targetIP>:<targetPort> -- the IP address and port of the local client to direct services to. A range of ports can also be specified. For example, (192.168.0.1:2000-3000).
[<aliasIP>:]<aliasPort> -- The services port being requested. A range of ports can also be specified. For example, (2000-3000).
[<remoteIP>:<remotePort>] -- Used to specify the remote IP address and port of a requesting system.

For example, two clients, Client A (192.168.0.1) and Client B (192.168.0.2) are connected to a gateway. IRC services (port 6667) are required for ClientA, and HTTP services are required for ClientB (port 80). To configure natd to redirect incoming packets to these ports, enter the following commands:

# natd -interface pro0 -redirect_port tcp 192.168.0.1:6667 6667
# natd -interface pro0 -redirect_port tcp 192.168.0.2:80 80

Additional configurations and options are available in the natd(8) man page.

IPv6 Support

Note: The IPv6 and IPsec protocols for LynxOS are not included with the standard LynxOS package. These components are available for purchase separately. For information on these products, please contact your LynuxWorks sales representative.

The IPv6 protocol addresses technical limitations of IPv4. Most notably is the increase IP address space, which has changed from 32 to 128 bits per address.

IPv4 32-bit addresses are represented in dotted-decimal format divided along 8-bit boundaries. IPv6 IP addresses are 128-bit address divided along 16-bit boundaries, and each 16-bit block is converted to a 4-digit hexadecimal number and separated by colons. For example:

200A:00A3:2C5B:0000:02FF:FF00:FE38:934A

The IPv6 address representation can be further simplified with features such as leading zero suppression and zero compression. Detailed information on these features as well as other information regarding the IPv6 addressing architecture are described in RFC 2373.

Other notable improvements is the inclusion of the following services that were optional under IPv4:

In addition, IPv6 has simpler packet header structures and also introduces a protocol header chain that allow for more flexible protocol extensions

Additional information on the specifications of IPv6 can be found at www.ipv6.org.

Setting an IPv6 Address Statically

Use the following steps to configure and test the system for assigning a static IP address. It is important to note that manually setting and maintaining IPv6 IP addresses can be complicated. Due to the complex nature of address notation, mistakes are more likely to occur with IPv6 than IPv4. Users are cautioned to double check addresses set manually.

  1. Update /etc/hosts to include the IPv6 loopback address, the IPv6 address for the host, and an external IPv6 host address.

    Example IPv6 /etc/hosts file
    127.0.0.1             localhost       #IPv4 Loopback Address
    ::1                   localhost       #IPv6 Loopback Address
    192.168.0.1           myhost          #IPv4 Hostname Address
    3ffe:0501:1234:ffff:: myhost          #IPv6 Hostname Address
    3ffe:0501:1111:ffff:: otherhost       #entry for external IPv6 host

  2. Assign an interface an IPv6 address with ifconfig. Note that for IPv6 addresses, the switch inet6 must be used:

# ifconfig <if> inet6 <address>
  1. Use ping6 to ping additional IPv6 networks

# ping6 otherhost

Setting up Hostname Resolution for IPv6 Addresses

Hostname resolution is configured by the /etc/resolv.conf file. IPv6 addresses can be used along with IPv4 address to perform hostname resolution. The following provides an example resolv.conf file:

Example IPv6 resolv.conf file
nameserver     3ffe:0501:1111:ffff::
nameserver     192.168.99.1       

Setting up Routes with route6d

The route6d daemon is an extension of routed that includes support for RIP over IPv6. Refer to the route6d(8) man page for syntax and usage information. Additionally, other routing demons that support IPv6 can be used; zebra, for example. For additional information, see the GNU Zebra User's Guide.

Using faithd to Connect IPv6 and IPv4 Networks

The faithd daemon is used to provide a IPv6 to IPv4 relay. faithd performs TCP relay similar to firewall gateways, but with the addition of address translation. faithd is used only to translate IPv6 addresses to IPv4.

The following provides an example of setting up and configuring faithd relay for telnet. On the translating router where faithd runs, perform the following:

  1. Use sysctl to allow for route advertising, IP6 forwarding, and faith:

# sysctl -w net.inet6.ip6.accept_rtadv=0
# sysctl -w net.inet6.ip6.forwarding=1
# sysctl -w net.inet6.ip6.keepfaith=1

  1. Start the faith0 interface, and create a route to faith0:

# ifconfig faith0 up
# route add -inet6 3ffe:501:1234:ffff:: \
-prefixlen 96 ::1
# route change -inet6 3ffe:501:1234:ffff:: \
-prefixlen 96 -ifp faith0
  1. Execute faithd for the telnet port as follows:

# faithd telnet /net/telnetd

The first argument is a service name for TCP relay. The service can be specified either by the port number (23) or by service name (telnet). The second argument is a path name for the local IPv6 TCP server. If there is a connection to the router itself, this program is invoked.

Note that faithd must be invoked for each service required.

Hostname Resolution Between IPv6 and IPv4 Hosts

The simplest way to translate an IPv4 address to IPv6 address is to add an entry to the /etc/hosts file. On the IPv6 host, add a line that resolves the IPv6 and IPv4 addresses:

/etc/hosts example
3ffe:0501:1234:ffff::192.168.0.1     hostname

Driver Defaults

The following table shows the default values within the driver information files. These files are located in /sys/devices.

To change the defaults, edit the file, compile it, and install TCP/IP support again. For more information, see "Installing/Removing TCP/IP Support"

Default Values within Driver Information Files  
Info File
Platform
Defaults
Notes
hbtcpip_info.c
All
Mbufs (multiple of 4): 4096
clusters=(1/4 of mbufs)1024
tcp_sendspace=16384
tcp_receivespace=16384
udp_sendspace=16384 udp_receivespace=41984
cluster_size=2048
clshift_bits=11
ipforwarding=1
tcprexmtthresh=3
tcp_mssdflt=512
tcp_keepintvl=150
tcp_do_rfc1323=0
tcpip_max_prio=255
This file contains info about memory usage and other control args for the TCP/IP stack. Please see the hbtcpip0(4) man page for detailed information on configuration options.
if_3c509info.c
x86
iobase=240
intr=5
slotno=0
default BNC
TCP/IP driver for the 3com 3c509 ISA and PCMCIA controllers. (Values are used only for PCMCIA controller, ISA card values are read from eeprom.
if_3c90xinfo.c
x86
None used
TCP/IP driver for 3com vortex/boomerang/cyclone PCI controllers.
if_amd970info.c
x86/ppc
None used
TCP/IP driver for and PCNET controllers (93970/93971/93972/
93973)
if_dec21040info.c
x86/ppc
probeint=10
TCP/IP driver for any Digital Tulip compatible controller (2140/21041, 21140, 21142, 21143, 82168, 82169, 82115, 98100)
if_epicinfo.c
x86
None used
TCP/IP driver for SMC epic controller.
if_fccinfo.c
ADS 8260
None used
TCP/IP driver for 10/100 Base T Ethernet connected to FCC2.
if_gxinfo.c
x86
None used
TCP/IP driver for Intel 82235 Gigabit Ethernet chip.
if_pro100binfo.c
x86/ppc
None used
TCP/IP driver for Intel pro controller (82557/82558/82559)
if_neinfo.c
x86/pmc860
iobase=300
intr=5
TCP/IP driver for NE2000 ISA/PCI controllers (values used only for ISA).
.

Additional Device Drivers may be included with the LynxOS ODE or BSP packages. Refer to the driver file or man page for additional tunable information.

Note: On the x86, if RAMBase is changed, make sure that the selected RAM area lies within the supported address range by the Ethernet card (ideally, within a 0xC0000 - 0xDFFFF range). Also, be sure to use BIOS-SETUP (where applicable) to disable the "Adaptor ROM shadow" for the RAM address range used by the Ethernet card.

Note: In the hbtcpip_info.c file, the checksum calculation for UDP packets can be enabled/disabled by setting the udpcksum filed to 1 (enable) or 0 (disable). Disabling the checksum increases the throughput for UDP packets.

For specific information on adding device drivers to a LynxOS system, please refer to the LynxOS User's Guide.

Additional information on creating device drivers is available in the book Writing Device Drivers for LynxOS.



LynuxWorks, Inc.
855 Branham Lane East
San Jose, CA 95138
http://www.lynuxworks.com
1.800.255.5969
TOC PREV NEXT INDEX