Tuning NetcomRouter

The Manual Configuration Changes topic outlined the commonly adjusted TCP/IP configuration items. They correspond roughly with items entered during the installation of the product, including IP addresses and remote WAN addresses. This section describes the less common configuration items.


IP Over X.25 Kernel Tunable Parameters File

The IP over X.25 kernel tunable parameters file is /etc/conf/pack.d/xinet0/space.c. Note that although it is found in the directory corresponding to the first driver (xinet0), changes made to this file also affect all other xinet drivers (xinet1, xinet2, etc.).

This file documents the use of a number of tunable parameters. However, there are generally only two that you will want to adjust after installation. They are:


IP Over X.25 Interface Configuration

The /etc/xinetconf utility is used to dynamically configure the parameters for the xinet interfaces (those used to carry IP traffic over X.25 lines). The /etc/xinetconf utility uses the configuration file /etc/xinet.conf to update the running kernel configuration. The /etc/xinetconf utility is run during TCP startup.

In addition to allowing dynamic configuration, /etc/xinet.conf can be used to individually configure each (xinetN) interface.

All interface information is initially stored in the kernel tunable parameter file (see above). This file is linked into the kernel and thus loaded during boot. The values specified in /etc/xinet.conf are loaded during network startup and override the boot values.

Since they are based on the SNMP MIB definition, the names of the variables used in /etc/xinet.conf differ slightly from those found in the kernel tunable parameters file. In addition, the units of time in /etc/xinet.conf are specified in milli-seconds as opposed to seconds.

The following is a sample definition for xinet0 in /etc/xinet.conf:

 

xinet0
mioxPleMaxCircuits -1
mioxPleMinimumOpenTimer 0
mioxPleInactivityTimer 120000
mioxPleHoldDownTimer 60000
mioxPleCollisionRetryTimer 0
mioxPleDefaultPeerId NULLOID
xinetMultiprotocol 0
xinetCollectcall 0
xinetRingtime 30000
xinetDDNmode 0
ifMtu 1500
xinetMaxISOsize 4096
xinetIxca 0
xinetSecure 1
xinetExcessiveSetupTime 0

The following table lists names used in /etc/xinet.conf and the corresponding name used in the kernel tunable parameters file.

/etc/xinet.conf

Kernel Tunable Parameters File

mioxPleMaxCircuits

xinet_maxcircuit

mioxPleMinimumOpenTimer

Not available

mioxPleInactivityTimer

xinet_lastpkt

mioxPleHoldDownTimer

xinet_badcall

mioxPleCollisionRetryTimer

Not available

mioxPleDefaultPeerId

Not available

xinetMultiprotocol

xinet_multiproto

xinetCollectcall

Not available

xinetRingtime

Not available

xinetIxca

Not available

xinetSecure

Not available

xinetDDNmode

ddn_mode

ifMtu

xinet_maxipsize

xinetMaxISOsize

xinet_maxisosize

xinetExcessiveSetupTime

xinet_excessive_setup_time

Improving The Performance of IP over X.25

X.25 is a multiplexing protocol. As well as having flow control mechanisms for Layer II (LAPB), each virtual circuit on an X.25 link is subject to flow control. NetcomRouter contains a mechanism for reducing the impact of virtual circuit flow control on packet throughput. It can establish new virtual circuits to remote hosts whenever it is flow-controlled on existing virtual circuits.

The mioxPleMaxCircuits value in /etc/xinet.conf file controls this behaviour. This integer value controls the number of incoming and outgoing X.25 virtual circuits that NetcomRouter will establish for an xinet interface. NetcomRouter normally attempts to establish a new Switched Virtual Circuit whenever it has data to transmit, but finds that it is unable to do so on existing virtual circuits (if any). Before it establishes a circuit, it checks to ensure that it does not have mioxPleMaxCircuits connections to that host.

The default value of mioxPleMaxCircuits is 8.

Reducing Costs

You should be aware that any choices you make to reduce cost will also reduce performance.

In an X.25 environment where there is no charge for virtual circuits, or where traffic-related charges are minimal, the information in this section is of academic interest. You will not save money by reducing the number of virtual circuits used.

Public data networks charge for their services in different ways. Generally, there is a nominal monthly charge by the network administration to make virtual circuits available (which can be ignored). Simply connecting a virtual circuit between two hosts in the same network usually does not cost anything. However, for international calls or calls between administrations, network administrations charge for holding time, just as for calls on the voice telephone network. In this environment, the minimum cost choice is to have the minimum number of virtual circuits connected for the smallest amount of time.

Two values in /etc/xinet.conf are associated with using the smallest number of circuits for the shortest interval. They are:


Identifying X.25 Hosts That Call You

When an incoming X.25 call is presented to NetcomRouter it normally uses the supplied Calling Address to look up the caller's IP address in your table of X.25 and IP addresses. This is the same table used to determine the X.25 address to use when making an outgoing call for a particular IP address. For security reasons, if the Calling Address is not in the local table, the call is rejected.

In some situations, the Calling Address found in incoming calls for a host is not the same address used in placing a call to that host. This can occur when X.25 subnet addresses are used with some X.25 switching gear. It can also occur in X.32 applications where the network provides a random Calling Address based on the particular dial-up port that has been hunted. In these situations, the table look up fails.

Each xinet interface has a host mapping entry that is used to supply default parameters for unknown hosts. To specify a default host mapping entry (also known as mioxPleDefaultPeerId) add a default_xinetN entry (where N is the xinet interface) to the file /etc/x25hosts.

For example, to specify that all unknown IP calls be rejected use the following:

 
"- default_xinet0 IP FAC:enctype="

Or, to specify that only unknown IP calls be accepted use the following:

 
"- default_xinet0 IP FAC:enctype=\xCC"

The enctype corresponds to the first byte of Call User Data in the call request and can contain up to five bytes of information. Each byte is an encapsulation type. The standard encapsulation type value is:

 
\xCC IP

Setting enctype=\xCC, will only allow unknown incoming IP calls to be accepted. By default, the encapsulation type for default is \xCC\x81\x82 which enables IP calls. The X.121 address has been replaced by a dash (-), which causes outgoing calls to be made with no called DNA. If required, an X.121 address can be specified.


DDN-style Addressing

Instead of statically mapped X.25 addresses, the DDN X.25 network uses addresses derived by applying an algorithm to the four-byte IP address of a host. NetcomRouter has the ability to generate X.25 network addresses from a remote host's Internet address, rather than using the mapping table and x25route utility described earlier.

The /etc/xinet.conf value which controls address generation is called xinetDDNmode. By default, the address mapping algorithm is turned off (xinetDDNmode is 0, or FALSE). If you wish to use algorithmically-generated X.25 addresses, change it to any non-zero value.

Note that while you do not have to configure IP to X.25 address mappings in DDN mode, NetcomRouter still has to learn the netid to board and link number mapping as described in /etc/packetnets. This is done by running the command x25route add all which is part of the default startup script.

For non-DDN use, the netid is maintained with the IP to X.25 address mapping information. Therefore, the remote IP address determines what netid is used. However, this table is not built up for DDN mode. Rather, the netid is determined from the /dev/xinet_n device. For example, if the IP network address of the host you wish to reach matches the IP network address assigned to /dev/xinet_0, then the netid used will be 0.


Revision 6.1.0 (February 2003)

Copyright © 1997-2003 The Software Group Limited. All Rights Reserved.
® Netcom is a registered trademark of The Software Group Limited.