# Compaq TCP/IP Services for OpenVMS
Management

Previous | Contents | Index

# Chapter 3
Configuring Serial Lines

A serial connection is made between two systems using modems and telephone lines or other serial lines. TCP/IP Services supports serial connections using the PPP (Point-to-Point Protocol) and SLIP (Serial Line IP) protocols. SLIP includes CSLIP (compressed SLIP). You can use any standard OpenVMS terminal device as a PPP or SLIP line. (PPP is available for OpenVMS Alpha systems only.)

This chapter reviews key concepts and describes:

- How to set up a PPP interface ( Section 3.2)
- How to set up a SLIP interface ( Section 3.3)
- How to solve serial line problems ( Section 3.4)

# 3.1 Key Concepts

If your OpenVMS system is part of a large network, you will probably use both PPP and SLIP for your serial connections. As an Internet standard, PPP is often preferred because it ensures interoperability between systems from a wide variety of vendors. PPP provides a way for your OpenVMS Alpha system to establish a dynamic IP network connection over a serial line without an additional router or additional server hardware.

SLIP has been in use for a longer period of time and is available for most terminal servers and in most PC implementations of TCP/IP. Because SLIP and PPP do not communicate with each other, hosts wanting to communicate must use the same protocol. For example, if your terminal server supports only SLIP, remote hosts that connect through this server must also use SLIP.

## 3.1.1 PPP and SLIP

One of the largest applications for IP over serial lines is dialup access. With this type of configuration, the OpenVMS host answers calls and establishes a connection initiated by a user on a client host. The client host can be another OpenVMS system, a UNIX system, or a PC. Or users on the host can originate the dialup connection to a remote host or terminal server running the same protocol.

Dedicated serial lines running PPP or SLIP can also be used to connect separate LANs into a single WAN. In such a configuration, the host at each end of the serial connection is always the same; no other hosts are allowed to connect to either serial device.

## 3.1.2 Assigning an IP Address to Your PPP or SLIP Interface

Every network interface must have its own unique IP address. Interfaces cannot share IP addresses.

If you configure PPP interfaces for multiple remote hosts, the remote hosts can obtain their individual IP addresses from your host when they connect. Similarly, you can configure a PPP interface on your system without knowing your own IP address and obtain it when you connect to a remote system.

Before establishing SLIP communication with a remote host, however, you must obtain the IP address for the host's serial interface and assign IP addresses for each interface you configure on the local host.

When using SLIP, consider placing each serial line in a separate subnetwork. You accomplish this by assigning the same subnet mask for the interfaces at either end of the link.

If you need to use an address in the same subnetwork as your site LAN, use the proxy Address Resolution Protocol (ARP) feature (see Section 3.3.4).

## 3.1.3 Serial Line Internet Protocol

SLIP sends a datagram across the serial line as a series of bytes. It uses the following characters to determine when a series of bytes should be grouped together:

Character | Function | Hex Value | Decimal Values
--- | --- | --- | ---
END | Marks the end of the datagram. When the receiving SLIP encounters the END character, it knows that it has a complete datagram. | C0 | 192
ESC | Indicates the end of the SLIP control characters. | DB | 219

The SLIP starts by sending an END character. If END is encountered within the datagram as data, the SLIP inserts an escape character, sending the two-character sequence DB DC instead. If the ESC character appears within the datagram as data, it is replaced with the two-character sequence DB DD. The datagram ends with the END character after the last byte in the packet is transmitted.

There is neither a standard SLIP specification nor a defined maximum packet size for the SLIP. The TCP/IP Services implementation of SLIP accepts 1006-byte datagrams and does not send more than 1006 bytes in a datagram.

Compressed SLIP provides header compression that is beneficial for small packets and low-speed serial links. Header compression improves packet throughput. You can enable the CSLIP by means of the /COMPRESS qualifier when you enter a SET INTERFACE command. See Table 3-3 for more information.

## 3.1.4 Point-to-Point Protocol

PPP uses a frame format that includes a protocol field. The protocol field identifies the protocol (for example, IP, DECnet, or OSI) to be used for communication between the two hosts. The PPP defines the network frame in a 5-byte header and 3-byte trailer. A PPP frame starts and ends with the control byte 7E hex (126 decimal). The address and control bytes are constant. The 2-byte protocol field indicates the contents of the PPP frame.

# 3.2 Setting Up a PPP Interface (Alpha Only)

Use the following commands to configure a PPP interface on an OpenVMS Alpha system:

- SET INTERFACE PPn, where n is the number of the interface, takes effect immediately and stays in effect until the next TCP/IP Services shutdown.
- SET CONFIGURATION INTERFACE PPn, where n is the number of the interface, makes the change part of the permanent configuration and takes effect at the next TCP/IP Services startup.

Note Specifying PP without the interface number is equivalent to specifying PP0. If you enter a SHOW INTERFACE command, the address does not appear until a PPP connection is actually established.

Table 3-1 shows the command qualifiers used for configuring PPP interfaces.

Table 3-1 Configuring PPP Interfaces
Qualifier | Description
--- | ---
/COMPRESS=[ON|OFF|AUTOMATIC] | Optional. The default is ON. Use to negotiate header compression.
/DESTINATION=[ host_name| IP_address] | Optional. The default is no destination host. If you do not specify the client host's address, the PPP obtains the correct address from the client host. If the host is used as a dialup provider, use this command to specify a unique IP address for a client. In this case, you must also specify your host address with the /HOST qualifier.
/HOST=[ host_name | IP_address] | Required when setting up a host as a dialup provider; otherwise optional. Host name or IP address using the interface. If your host is multihomed, specify the unique IP address if the two IP addresses map to the same host name.
/NETWORK_MASK= IP_address | Optional. The subnet mask of the local PPP interface in dotted-decimal notation.
/SERIAL_DEVICE= device | Required for hard-wired or dedicated modem connections. Identifies the OpenVMS device name assigned to the PPP interface, for example, TTA1.

## 3.2.1 Setting Up Your Host for PPP Connections

In the client/server model for PPP connections, a host can function as a server, or dialup provider, to respond to incoming PPP connection requests. A host can also function as a client dialing in to a dialup provider.

- A PPP dialup provider answers modem calls from PPP clients, assigns IP addresses, and establishes PPP connections initiated by client hosts.
  Typically, a PPP dialup provider is permanently connected to the network through an interface such as Ethernet. The dialup provider services PPP clients that initiate temporary, dialup connections because they do not have permanent connections.
- A PPP client establishes a temporary PPP connection to a dialup provider or a terminal server.

  Note For information about establishing a PPP client connection from a UNIX system, refer to the UNIX documentation. For a connection from a PC, refer to the PC's dialup networking instructions. You will need to configure your modem correctly as outlined in the Section 3.2.1.2.

Setting up an OpenVMS Alpha host as a PPP dialup provider or client involves a series of tasks. These tasks are listed in Table 3-2 in the order you should complete them, and are explained in Sections 3.2.1.1 through 3.2.1.6.

Table 3-2 Set Up Tasks Required for an OpenVMS Alpha PPP Dialup Provider or Client
Step | Task | OpenVMS Dialup Provider | OpenVMS Client
--- | --- | --- | ---
1 | Install the correct terminal driver. | Yes | Yes
2 | Configure your modem. | Yes | Yes
3 | Set up an asynchronous port for modem connections. | Yes | Yes
4 | Configure an interface for a serial PPP connection. | Yes | Optional
5 | Enable IP forwarding and dynamic routing, as appropriate. | Yes | No
6 | Initiate a PPP connection. NETMBX and OPER privileges required. | No | Yes

### 3.2.1.1 Installing the Terminal Driver

Confirm that the virtual terminal driver SYS$LOADABLE_IMAGES:SYS$TTDRIVER.EXE is installed on your host. If it is not installed, run the System Management utility (SYSMAN), connect the device, and load the driver, as shown in the following example:

    $ RUN SYS$SYSTEM:SYSMAN

    SYSMAN> IO CONNECT VTA0 /NOADAPTER /DRIVER=SYS$TTDRIVER
    SYSMAN> EXIT

After you run SYSMAN, confirm that the VTA0 device was created. For more information about SYSMAN and its parameters, see the OpenVMS System Management Utilities Reference Manual: M-Z.

For OpenVMS Alpha Version 7.1, you must also install the ASNDRIVER remedial kit to prevent the system from crashing. To obtain the driver and associated corrections, access a remedial kit and accompanying cover letter from:

    http://ftp.service.digital.com/public/vms/axp/v7.1/alppppd01_071.A-DCX_AXPEXE
    http://ftp.service.digital.com/public/vms/axp/v7.1/alppppd01_071.CVRLET_TXT

### 3.2.1.2 Configuring the Modem

To configure the modem, follow these steps:

1. Make sure the serial port and modem cable support modem control signals. (Compaq's BC22F cable is an example of such a cable.)
2. Determine whether there are any baud rate restrictions associated with your phone line or on your connecting cable (when using a null modem or modem eliminator).
3. Adjust the settings on your modem to enable AT commands, as appropriate for your modem. Some modems require you to set DIP switches, while others require you to specify software settings.
   Sample DIP switch configuration settings for U.S. Robotics Courier modems are as follows. Note the following designations in these samples:

   > X = setting on (although different settings might work)
   > X** = setting on (required)

   Dialup provider settings:

       DTR normal                X**     DTR always on
       Verbal result codes       X       Numeric results codes
       Suppress result codes     X**     Display result codes
       Echo offline commands     X       No echo offline commands
       Auto answer on ring       X**     Suppress auto answer
       Normal carrier detect     X**     Carrier detect override
       Display all results codes X       Result codes orig. mode only
       Disable AT command set            Enable AT command set       X
       Disconnect with +++               No disconnect with +++      X
       Load NVRAM defaults       X       Load &FO settings

   Client settings (defaults):

       DTR normal                X     DTR always on
       Verbal result codes       X     Numeric results codes
       Suppress result codes           Display result codes        X
       Echo offline commands     X     No echo offline commands
       Auto answer on ring             Suppress auto answer        X
       Normal carrier detect     X     Carrier detect override
       Display all results codes X     Result codes orig. mode only
       Disable AT command set          Enable AT command set       X**
       Disconnect with +++       X     No disconnect with +++
       Load NVRAM defaults       X     Load &FO settings

4. If possible, also configure the modem so that it does not assert the Data Terminal Ready (DTR) signal until it asserts the Carrier Detect (CD) signal. This configuration ensures that the terminal driver does not drop the DTR signal prematurely.

### 3.2.1.3 Setting Up an Asynchronous Port

Use the DCL command SET TERMINAL and applicable qualifiers to set up an asynchronous port for use with the modem.

- Setting up the PPP dialup provider
  Enter the SET TERMINAL command and qualifiers appropriate for your modem connection. (Note that some qualifiers require LOG_IO or PHY_IO privilege, or both.) For example:

      $ SET TERMINAL TTA0: /ALTYPEAHD /AUTOBAUD /DIALUP /DISCONNECT /EIGHTBIT -
      _$ /MODEM /NOHANGUP /NOHOSTSYNC /NOPASTHRU /NOREADSYNCH /NOTTSYNCH -
      _$ /PERMANENT /TYPE_AHEAD

  Where:

  /ALTYPEAHD | Creates a permanent, alternate type-ahead buffer. (The system parameter TTY_ALTYPADH determines the size of the type-ahead buffer.) Helpful when transferring larger files. This qualifier is required.
  /AUTOBAUD | Detects the incoming baud rate.
  /DIALUP | Specifies that the terminal is a dialup terminal. This qualifier is required.
  /DISCONNECT | Ensures that the process is disconnected if the line detects a hangup.
  /EIGHTBIT | Sets the terminal to use the 8-bit ASCII format. This qualifier is required.
  /MODEM | Specifies the use of a modem. This qualifier is required.
  /NOHANGUP | Does not hang up the modem when the client logs off. This is the default. This qualifier is required.
  /NOHOSTSYNC | Does not allow the use of Ctrl/S or Ctrl/Q functions from the terminal to stop or resume transmission when the input buffer is full or empty. This is the default.
  /PASTHRU | The terminal passes format-type data, such as carriage returns and tabs, to an application program as binary data. This is the default.
  /NOREADSYNCH | Does not allow the use of Ctrl/S or Ctrl/Q functions to synchronize data transmitted from the terminal. This is the default.
  /NOTTSYNCH | Does not allow transmission to be stopped or resumed by entering Ctrl/S or Ctrl/Q, respectively.
  /PERMANENT | Saves the settings.
  /TYPE_AHEAD | Enables remote modems. Must be set. The terminal accepts unsolicited input to the limit of the type-ahead buffer. This is the default.

  For detailed information about these and other SET TERMINAL qualifiers, see the OpenVMS DCL Dictionary: N-Z.
- Setting up the PPP client (OpenVMS Alpha only)
  Enter the SET TERMINAL command and qualifiers appropriate for your connection, as listed for the dialup provider, with the exception of /AUTOBAUD.
  Set the baud rates using the /SPEED=(input-rate,output-rate) qualifier. If the rates are the same, specify /SPEED=rate (for example, /SPEED=9600).

### 3.2.1.4 Configuring a PPP Interface

- Configuring the PPP dialup provider
  Use the SET INTERFACE command and qualifiers to configure the interface for a serial PPP connection and assign a host name, IP address, network mask, and IP address for the client host, as applicable:

      TCPIP> SET INTERFACE PPn /SERIAL_DEVICE=TTn: /HOST=IP_address -
      _TCPIP> /NETWORK_MASK=IP_address /DESTINATION=IP_address /COMPRESS=AUTO

  In this command:
  - n is the controller name and unit number.
  - The /HOST address is the IP address.
  - The /NETWORK_MASK IP address is required if your network uses subnets.
  - The /DESTINATION address is the IP address assigned to the client host making a connection request. This address always overrides the client's own IP address, if the client has one.
  - /COMPRESS=AUTO turns off IP header compression unless the client uses it.
- Configuring the PPP client (OpenVMS Alpha only) (Optional)
  Use the SET INTERFACE command and /HOST qualifier to assign an IP address:

      TCPIP> SET INTERFACE PPn /SERIAL_DEVICE=TTn: /HOST=IP_address

  In this command, n is the interface number. If you omit the interface number, PP0 is used.
  If you do not specify your host's IP address using SET INTERFACE, the dialup provider or terminal server provides an IP address after the connection is established.

  Note If the connecting client host has only a loopback and tunnel interface defined: A default route to the PPP interface is added to the routing table when the connection is established. The IP address of the PPP interface is assigned to the logical names TCPIP$INET_HOSTADDR and UCX$INET_HOSTADDR (for backward compatibility).

### 3.2.1.5 Enabling IP Forwarding (Dialup Provider Only)

Enter the following command to enable IP forwarding:

    TCPIP> SET PROTOCOL IP/FORWARD

To enable IP forwarding in the configuration database, enter the following command:

    TCPIP> SET CONFIGURATION PROTOCOL IP/FORWARD

Alternatively, use the `sysconfig` utility. First, define the TCP/IP Services foreign commands:

    $ @SYS$MANAGER:TCPIP$DEFINE_COMMANDS.COM

Enter the following SYSCONFIG commands:

    $ SYSCONFIG -r inet ipforwarding=1

    $ SYSCONFIG -r inet ipgateway=1

    $ SYSCONFIG -q inet

To send notifications automatically on all connected LANs when new hosts or networks become reachable, use dynamic routing with the /SUPPLY option. For example, every time a PPP link is set up to a new subnetwork, RIP (Routing Information Protocol) advertises a corresponding route.

For example, enter the following commands:

    TCPIP> START ROUTING /SUPPLY

    TCPIP> SET CONFIGURATION START ROUTING /SUPPLY

If your PPP and Ethernet interfaces are in the same network, a route is created automatically for the client hosts and an ARP proxy is advertised.

### 3.2.1.6 Initiating a PPP Connection

You use the OpenVMS PPP utility (PPPD) and associated commands to establish and manage a temporary PPP connection from an OpenVMS Alpha client host to an OpenVMS dialup provider or terminal server. Note that NETMBX and OPER privileges are required to establish a successful connection and to display OPCOM messages.

To invoke PPPD, enter the DCL command PPPD. The PPPD commands are summarized in the following table. For detailed information about PPPD commands and qualifiers, enter the HELP command.

Command | Function
--- | ---
CONNECT | Establishes a network connection through the current physical port or a specified remote port.
DIAL_OUT | Allows direct access to a device in order to dial out over a modem or link to an external device.
DISCONNECT | Terminates the network connection and returns control to the terminal driver.
EXIT | Leaves the utility and returns you to the DCL command prompt ($).
HELP | Displays help text for PPPD commands.
SET | Determines the device and line characteristics for the specified terminal.
SHOW | Displays the device and line characteristics of the specified terminal.

To initiate a PPP connection from an OpenVMS Alpha client to an OpenVMS dialup provider or terminal server, follow these steps.

1. Confirm that you have NETMBX and OPER privileges.
2. Use the PPPD command DIAL_OUT and specify the terminal device. After the `atdt` command, enter the telephone number of the dialup provider or terminal server. (With some modems, you might need to type the number again until dialing begins.)
   For example:

       $ PPPD

       PPPD> DIAL_OUT TTA0

       Type control-~ to send a break
            control-\ to disconnect
            control-@ to switch to a Point-to-Point connection.

       atdt 8671234

3. If you are connecting to another OpenVMS system, log in to the system after you dial up, and enter the following commands to establish the connection:

       $ PPPD
       PPPD> CONNECT

   To end the connection, enter the DISCONNECT TTn command at the PPPD> prompt and log out.
4. If you are connecting to a terminal server, enter the CONNECT PPP prompt at the LOCAL> prompt. An informational message will confirm the PPP connection:

       LOCAL> CONNECT PPP

       Local -561- Starting SLIP or PPP datalink session
       %PPPD-I-CONNECTTERM, converting connection on device _TTA0: to a
       Point-to-Point connection

   To end the connection, enter DISCONNECT TTn at the PPPD> prompt. After the connection is terminated, an OPCOM message is displayed. For example:

       %%%%%%%%%%%  OPCOM   23-APR-1998 15:44:32.10  %%%%%%%%%%%
       Message from user XYZnet on JONES
       %TCPIP-S-PPPDISCONN, Disconnected  PPP Interface PP1 on TTA0

Previous | Next | Contents | Index