### TechNote

Number: 06615-01
Date: April 1994

## Smart II Software: TCP/IP parameters

### 1 Introduction

This document describes the parameters that affect the operation of the Smart TCP/IP protocol modules on a particular Ringnode in your DOS workstation. Section 2 tells you how to enable the Smart TCP/IP protocols, and how to configure them.

The three modules TCP.SMT, IP.SMT, and UDP.SMT each provide different protocol implementations. The internet protocols provided by the different modules are given in the table below. You always require the IP.SMT module. The UDP.SMT and TCP.SMT modules are optional.

    Smart II Software   Internet protocols provided
    module

    IP.SMT              IP    (Internet Protocol)
                        ARP   (Address Resolution Protocol)
                        RARP  (Reverse Address Resolution Protocol)
                        ICMP  (Internet Control Message Protocol)
    UDP.SMT             UDP   (User Datagram Protocol)
    TCP.SMT             TCP   (Transmission Control ProtocoL)

In addition to the three Smart modules described in this document, you need to load a DOS- based host interface. This enables applications to access the Smart TCP/IP protocol suite. The host interface we provide is compatible with Novell's LAN WorkPlace for DOS. It is called NOVAPI.SMT. For information about loading and configuring NOVAPI, see TechNote 06616.

If you want the workstations on your network to discover their own IP addresses using RARP, load the Smart RARPD module onto one of the workstations. For more information, see TechNote 06617.

To load a particular TCP/IP module, include a section for that module in your SMART.CFG file. Put the parameters for each module you require into that module's section of the SMART.CFG file, or into the protocol TCPIP section of the NET.CFG file (see Section 2 of this TechNote).

No parameters are allowed in any section of the SMART.CFG file other than the parameters that are specifically appropriate to that section. For more information about using a SMART.CFG file, see TechNote 06608.

Do not attempt to load or configure the Smart TCP/IP modules from the command line. The example below shows a sample SMART.CFG file for configuring Smart TCP/IP for use with Novell LAN WorkPlace for DOS.

    [HOST]
    DISPLAY
         [CARD]
         io=1a20                        ; Card at IO location 1A20.
              [NOVAPI]                  ; The host interface.
              [IP]
              ip.address=193.35.4.21    ; This host's IP address.
              ip.router=193.35.4.99     ; This network's router.
              [UDP]
              [TCP]

Sample SMART.CFG file

### 2 Configuring TCP/IP using NET.CFG in combination with SMART.CFG

This section tells you how to use the NET.CFG file in combination with the SMART.CFG file to configure the Smart TCP/IP protocols. For information about parameters to the:

- Smart TCP/IP protocols, see Sections 3, 4, and 5.
- NOVAPI host interface for LAN Workplace for DOS, see TechNote 06616.
- RARPD module, see TechNote 06617.

To configure the protocols, perform the following:

- Put the [IP] and (if you are using them) the [UDP] and [TCP] section headings into your SMART.CFG file.

- Place your TCP/IP parameters in the section of the NET.CFG file that is headed protocol TCPIP. Do not put equivalent Madge and Novell TCP/IP parameters into both NET.CFG and SMART.CFG. Use one or the other file for each parameter.

- Put any IP, UDP, and TCP parameters that you require and for which there are no equivalent Novell parameters, into the [IP], [UDP], and [TCP] sections of your SMART.CFG file.

Put any NOVAPI parameters you require into the [NOVAPI] section of your SMART.CFG file.

Note

Note that the syntax of the NET.CFG file does not make use of dots and '=' signs, whereas the syntax of the SMART.CFG file requires them. A sample NET.CFG parameter for specifying an IP address is:

`ip_address 193.35.4.21`

The equivalent SMART.CFG parameter is:

`ip.address=193.35.4.21`

    [HOST]
         [CARD]
              [ODI]       ; Include this section if you want an ODI interface.
              [TCP]
              [IP]
              [UDP]
              [NOVAPI]
              [RARPD]     ; Include this section on one station if you want a
                          ; RARP server.

Sample SMART.CFG file (The Smart TCP/IP protocols are configured from NET.CFG)

    link support
         mempool 1024
         link driver smart
         frame token-ring_snap
         Protocol TCPIP
         ip_address 193.35.4.21     ; If you are using a RARP server, the
                                    ; ip_address should be 0.0.0.0 for all
                                    ; stations except the RARP server.
         ip_router      193.35.4.99
         ip_netmask     255.255.255.0
         tcp_sockets    8
         udp_sockets    8
         raw_sockets    1
         nb_sessions    4
         nb_commands    8
         nb_adapter     0
         nb_domain

Sample NET.CFG file for configuring the Smart TCP/IP protocols

### 3 IP parameters

This section describes the IP parameters. The table below summarizes the parameters that are available.

    Parameter                Range           Default   Abbreviation

    RAW.SOCKET               0 - 1           1         RS
    ARP.CACHE.SIZE           6 - 32          16        ACS
    ARP.REQUEST.CACHE.SIZE   4 - 32          16        ARCS
    ROUTE.CACHE.SIZE         6 - 32          16        RCS
    ARP.TIMEOUT              1 - 65535       10        AT
    SOCKET.SAVES             1 - 16          16        SS
    ARP.BROADCAST.ALL        Yes or No       No        ABA
    RARP.BROADCAST.ALL       Yes or No       No        RBA
    SR.LOCAL.BROADCAST       Yes or No       No        SLB
    ENABLE.MIB               Yes or No       No        EM
    MIB.UPDATE               0 - 65535       10        MU
    IP.ADDRESS                  None      IA
    IP.ROUTER                   None      IR
    IP.NETMASK                  Dynamic   IN

RAW.SOCKETS
  Specifies the maximum number of connections your Ringnode can have for sending IP frames. You need one raw IP socket if you are using the PING program, or applications that use this utility (for example, IP Resolver or LWPCON). You need two for FTP.

  Example: `RAW.SOCKETS=1`

ARP.CACHE.SIZE
  Limits the size of the cache used by ARP to store the MAC addresses of the IP hosts that your host is communicating with on the local network.

  The value that this parameter is set to is the number of workstations that you are allowing your workstation to communicate with simultaneously on the local IP network.

  Example: `ARP.CACHE.SIZE=10`

ARP.REQUEST.CACHE.SIZE
  Specifies the size of the cache used by ARP to store the IP addresses it is trying to resolve.

  Example: `ARP.REQUEST.CACHE.SIZE=10`

ROUTE.CACHE.SIZE
  Specifies the size of the cache that is used by IP to store routes to IP hosts that are not on your computer's local network. This cache is generated by the ICMP Redirect mechanism.

  Example: `ROUTE.CACHE.SIZE=10`

ARP.TIMEOUT
  Specifies the length of time (in seconds) that ARP routes are kept in the ARP table before being removed.

  Example: `ARP.TIMEOUT=4`

SOCKET.SAVES
  Specifies the number of commands that the Ringnode can buffer before telling the host it cannot accept any more.

  Example: `SOCKET.SAVES=10`

ARP.BROADCAST.ALL
  Causes ARP to send broadcasts that use all-routes information. If you set this parameter to YES, ARP only attempts to resolve addresses by means of all- routes broadcasts, if it has failed to resolve them with single-route and non-source-route information.

  Example: `ARP.BROADCAST.ALL=YES`

RARP.BROADCAST.ALL
  Causes RARP to send broadcasts that use all-routes information. If you set this parameter to YES, RARP only attempts to resolve addresses by means of all-routes broadcasts if it has failed to resolve them with single-route and non- source-route information.

  Example: `RARP.BROADCAST.ALL=YES`

SR.LOCAL.BROADCAST
  Specifies whether or not IP uses source routing for local broadcasts. By default, local broadcasts are not source routed.

  Example: `SR.LOCAL.BROADCAST=NO`

ENABLE.MIB
  Enables the MIB that the IP module contains. Use this if you need MIB information. Leaving the MIB disabled improves performance and saves adapter memory. You may also need to set a parameter to enable your host interface's copy of the MIB. (For information about the ENABLE.STATISTICS parameter for NOVAPI, see TechNote 06616).

  Example: `ENABLE.MIB=NO`

MIB.UPDATE
  Specifies the number of seconds that must elapse before the IP module updates the host-based MIB.

  Example: `MIB.UPDATE=10`

IP.ADDRESS
  Specifies the workstation's IP address. This must be in decimal format dot notation.

  If you do not specify an IP address, or you specify an address of 0.0.0.0, then Smart TCP/IP uses the RARP address resolution protocol to determine the address. For more information, see TechNote 06617.

  Example: `IP.ADDRESS=193.35.4.21`

IP.ROUTER
  Specifies the address of the default router on your workstation's local IP network. This address is optional. Specify it in decimal dot notation.

  Example: `IP.ROUTER=193.35.4.9`

IP.NETMASK
  Specifies the subnetwork mask for your workstation's IP network. If you do not specify this parameter, the Madge host-interface (NOVAPI.SMT) calculates a subnetwork mask from the IP address. Use this parameter if you need to set a specific subnetwork mask. The address should be set using the decimal dot notation.

  Example: `IP.NETMASK=255.255.255.0`

#### Configuring IP from the NET.CFG file

This section describes the IP parameters you can use in the protocol TCPIP section of your NET.CFG file. They are equivalent to some of the parameters that you can use in the SMART.CFG file. Do not put equivalent Madge and Novell IP parameters into both NET.CFG and SMART.CFG. Use one or the other file for each parameter. The IP parameters for NET.CFG are as follows:

raw_sockets
  Specifies the maximum number of connections your Ringnode can have for sending IP frames. You need one raw IP socket if you are using the PING program, or applications that use this utility (for example, IP Resolver or LWPCON). You need two for Server FTP.

  Do not put an '=' sign after raw_sockets in NET.CFG.

  Example: `raw_sockets 1`

ip_address
  Specifies the IP address of your workstation. There is no default value for this parameter. The address should be set using the decimal dot notation. Do not put an '=' sign after ip_address in NET.CFG.

  Example: `ip_address 193.35.4.21`

ip_router
  Specifies the default router address for packets addressed to remote networks. IP discovers all other gateways dynamically using the ICMP redirect mechanism. There is no default value for this parameter. The address should be set using the decimal dot notation.

  Do not put an '=' sign after ip_router in NET.CFG.

  Example: `ip_router 193.35.4.9`

ip_netmask
  Specifies the subnetwork mask for your workstation's IP network. If you do not specify this parameter, the Madge host-interface (NOVAPI.SMT) calculates a subnetwork mask from the IP address. Use this parameter if you need to set a specific subnetwork mask. The address should be set using the decimal dot notation.

  Do not put an '=' sign after ip_network in NET.CFG.

  Example: `ip_netmask 225.225.225.0`

### 4 UDP Parameters

This section describes the UDP parameters. The table below summarizes the parameters that are available.

    Parameter         Range    Default   Abbreviation

    UDP.SOCKETS       4 - 32   16        US
    UDP.FRAME.SAVES   4 - 32   16        UFS
    UDP.PORTS         4 - 32   16        UP

UDP.SOCKETS
  Specifies the maximum number of concurrent UDP connections you can have. If you are using the Domain Name System, you need at least 1 UDP socket for each application that runs concurrently. NetBIOS requires at least 2 UDP sockets.

  Example: `UDP.SOCKETS=32`

UDP.FRAME.SAVES
  Specifies the maximum number of frames that UDP can buffer on the Ringnode for processing later. When it can buffer no more frames, it starts to discard them.

  Example: `UDP.FRAME.SAVES=10`

UDP.PORTS
  Specifies the total number of UDP ports that are available for use by UDP connections (or sockets). Each connection requires a port. Do not specify a value for UDP.PORTS that is lower than the value of UDP.SOCKETS.

  Example: `UDP.PORTS=10`

#### Configuring UDP from the NET.CFG file

This section describes the UDP parameter you can use in the protocol TCPIP section of your NET.CFG file. It is equivalent to the UDP.SOCKETS parameter that you can use in your SMART.CFG file. Specify the number of UDP sockets in one or the other file, not in both. The NET.CFG parameter is as follows:

udp_sockets
  Specifies the maximum number of concurrent UDP connections you can have. If you are using the Domain Name System, you need at least 1 UDP socket for each application that runs concurrently. NetBIOS requires at least 2 UDP sockets.

  Do not put an '=' sign after udp_sockets in NET.CFG.

  Example: `udp_sockets 32`

### 5 TCP Parameters

This section describes the TCP parameters. The table below summarizes the parameters that are available.

    Parameter        Range    Default   Abbreviation

    TCP.SOCKETS      8 - 64    8        TS
    TCP.REQUESTS     6 - 32   12        TR
    TCP.RX.BUFFERS   2 - 12   12        TRB

TCP.SOCKETS
  Specifies the maximum number of TCP connections you can have at any one time.

  Example: `TCP.SOCKETS=64`

TCP.REQUESTS
  Specifies the maximum number of TCP requests that your Ringnode can have outstanding.

  Example: `TCP.REQUESTS=16`

TCP.RX.BUFFERS
  Specifies the number of 512 byte buffers that your Ringnode uses to store data that the host cannot receive immediately.

  Example: `TCP.RX.BUFFERS=8`

#### Configuring TCP from the NET.CFG file

This section describes the TCP parameter you can use in the protocol TCPIP section of your NET.CFG file. It is equivalent to the TCP.SOCKETS parameter that you can use in your SMART.CFG file. Specify the number of TCP sockets in one or the other file, not in both. The NET.CFG parameter is as follows:

tcp_sockets
  Specifies the maximum number of concurrent TCP connections you can have. It is equivalent to the TCP.SOCKETS parameter that you can use in the SMART.CFG file. Use one or the other parameter. Do not put an '=' sign after tcp_sockets in NET.CFG.

  Example: `tcp_sockets 64`