Guest

Cisco Interface Processors

Configuring OMPROUTE to Run on the Mainframe

Document ID: 12257

Updated: Sep 09, 2005

   Print

Introduction

This document outlines sample host and router configurations to run the OMPROUTE procedure on the mainframe to exchange routing updates with the rest of the TCP/IP network. OMPROUTE is often used, as in this example, in conjunction with a Virtual IP Address (VIPA), which allows the IP address of the mainframe configured in the clients to be independent of any one channel interface. This provides redundancy for the channel. Originally, IBM's mainframe TCP/IP implementation only supported Routing Information Protocol (RIP) as a routing protocol, with the use of the OROUTED procedure. The newer OMPROUTE supports either RIP V1 or V2 and Open Shortest Path First (OSPF). IBM recommends that OMPROUTE be used rather than OROUTED, and IBM will eventually remove support for OROUTED.

Prerequisites

Requirements

There are no specific requirements for this document.

Components Used

The Cisco IOS® Software Release that was used for this configuration was 12.1(3a)T2 with xCPA microcode 27-9, which was the latest at the time this was tested. If you are using CLAW, however, this should work with any version of Cisco IOS Software. The use of CMPC+ requires a minimum of Cisco IOS Software Release 12.1T.

The router was a Cisco 7206 with an xCPA port adapter. Alternatively, a Cisco 7500 router with a CIP card could be used with minor changes in the configuration, as noted later in this document.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Conventions

For more information on document conventions, refer to the Cisco Technical Tips Conventions.

Configurations

Mainframe Configuration - OMPROUTE Files

The configuration of OMPROUTE on the mainframe is very similar to the configuration of OROUTED. OMPROUTE also uses a minimum of two configuration files. You must point to the location of these configuration files, in the OMVS address space, with these two environment variables:

  • export resolver_conf=/etc/resolv.conf

  • export omproute_file=/etc/omproute.conf

This is an example of the contents of resolver_conf:

TCPJobName TCPIP
DomainOrigin cisco.com
domain cisco.com
Datasetprefix TCPIP
HostName P390
Messagecase mixed

The omproute_file will depend on whether RIP or OSPF is being used. This is an example configuration for RIP:

;
Originate_RIP_Default Condition=Always Cost=1
;
RIP_Interface IP_Address=10.64.3.34
Name=LDIPTG
Subnet_Mask=255.255.255.240
Receive_Dynamic_Nets=YES
Receive_Dynamic_Subnets=YES
MTU=1470
Destination_Addr=10.64.3.33
;
RIP_Interface IP_Address=10.64.3.17
Name=VIPALINK
Subnet_Mask=255.255.255.240
MTU=1470
;

For OSPF, there are more configuration options available, which include the ability to make the mainframe act as a stub area. This can significantly reduce the load routing updates that are placed on the channel when many logical partitions (LPARs) are connecting over the same channel. This is an example:

Area Area_Number=0.0.0.0 Authentication_Type=None Stub_Area=NO
;
Comparison=Type2
;
AS_Boundary_Routing Import_Subnet_Routes=YES
Import_Direct_Routes=YES
;
OSPF_Interface IP_Address=10.64.3.34
Name=LDIPTG
Subnet_Mask=255.255.255.240
Attaches_To_Area=0.0.0.0
MTU=1470
Destination_Addr=10.64.3.33
Hello_Interval=30
Dead_Router_Interval=120
;
OSPF_Interface IP_Address=10.64.3.17
Name=VIPALINK
Subnet_Mask=255.255.255.240

Mainframe Configuration - TCP/IP Stack

The TCP/IP profile dataset does not require any special configuration for OMPROUTE, other than the fact that you must comment out all of the static and default route configuration and the BSDROUTINGPARMS section (which is only used by OROUTED). This extract shows only what must be commented out and the parameters to which the OMPROUTE configuration files refer:

TCPIP Profile dataset
---------------------
 -----------------------------------------------------------------------
; Hardware definitions:
 -----------------------------------------------------------------------
; NOTE: To use these device and link statements, update the statements
; to reflect your installation configuration and remove the semicolon
;
DEVICE DIPTG MPCPTP
LINK LDIPTG MPCPTP DIPTG
DEVICE VIPADEV VIRTUAL 0
LINK VIPALINK VIRTUAL 0 VIPADEV
;
;
; -----------------------------------------------------------------------
;
; HOME Internet (IP) addresses of each link in the host.
;
; NOTE: To use this home statement, update the ipaddress and linknames 
; to reflect your installation configuration and remove the semicolon
;
HOME
10.64.3.17    VIPALINK
10.64.3.34    LDIPTG
; -----------------------------------------------------------------------
;
; IP routing information for the host.	All static IP routes should
; be added here.
;
; NOTE: To use this GATEWAY statement, update the addresses and links
; to reflect your installation configuration and remove the semicolon
;
; GATEWAY
;
; Direct Routes - Routes that are directly connected to my interfaces.
;
; Network  First Hop  Link Name Packet Size  Subnet Mask  Subnet Value
; 10           =       CIS1      1500       0.255.255.0    0.101.1
; 10           =       LDIPTG    1500       0.255.255.240  0.64.3.32
; 9            =       LIS1      1500       0.255.255.0    0.117.56.0
; 130.50       =       TR1       2000       0.0.255.0      0.0.10.0
; 193.5.2      =       ETH1      1500       0
; 9            =       FDDI1     4000       0.255.255.0    0.67.43.0
; 193.7.2.2    =       SNA1      2000       HOST
;
; Indirect Routes - Routes that are reachable through routers on my
;		    network.
;
; Network     First Hop   Link Name Packet Size  Subnet Mask  Subnet Value
; DEFAULTNET  10.64.3.33  LDIPTG    DEFAULTSIZE  0
; 193.12.2    130.50.10.1 TR1       2000         0
; 10.5.6.4    193.5.2.10  ETH1      1500         HOST
;
; Default Route - All packets to an unknown destination are routed
;		  through this route.
;
; Network     First Hop   Link Name Packet Size  Subnet Mask  Subnet Value
; DEFAULTNET  9.67.43.1   FDDI1     DEFAULTSIZE  0
;
; -----------------------------------------------------------------------
;
; orouted Routing Information
;
; if you are using orouted, comment out the GATEWAY statement and
; update the BSDROUTINGPARMS statement to reflect your installation
; configuration and remove the semicolon
;
;    Link     Maxmtu   Metric   Subnet Mask     Dest Addr
; BSDROUTINGPARMS false
; LDIPTG       1500       0     255.255.255.240 10.64.3.33
; VIPALINK     1500       0     255.255.255.240 0
;    TR1       2000       0     255.255.255.0   0
;    ETH1      1500       0     255.255.255.0   0
;    FDDI1  DEFAULTSIZE   0     255.255.255.0   0
; ENDBSDROUTINGPARMS

!--- Note that all of the last two sections have been commented out.

Mainframe Configuration - VTAM Definitions and Starting TCP/IP

Routing updates can be exchanged over either CLAW or CMPC+ connections. If you are using CLAW, no additional configuration is required on the mainframe. This example uses CMPC, which requires a VTAM transport resource list (TRL) entry. This is the VTAM member:

DIPTGTRL VBUILD TYPE=TRL
*
*
DIPTG	 TRLE  LNCTL=MPC,MAXBFRU=16,READ=(E24),WRITE=(E25)
*

The TRL must be activated before the TCPIP started task is started. For example:

V NET,ACT,ID=DIPTRL1,UPDATE=ALL
IST097I VARY ACCEPTED
ISTTRL ACTIVE

Then, activate the TCP/IP started task with the S TCPIP MVS console command. Once the TCP/IP started task is running, the OMPROUTE procedure can be started, either with the use of job control language (JCL) as a started task or from within the OMVS address space. To start within OMVS, issue these commands:

cd /usr/lpp/tcpip/sbin

omproute &

To check that OMPROUTE is running, issue this console command, where p390 is the user ID under which the OMPROUTE demon was started:

d omvs,u=p390

Router Configuration

Both CLAW and CMPC must be specifically configured to send broadcasts over the channel, with the broadcast keyword. For example, for CLAW:

claw 0100 20 10.101.1.10 P390D C7000D TCPIP TCPIP broadcast

In this example, CMPC+ is in use, so these are the relevant parts of the router configuration:

!
interface Channel2/0
 ip address 10.64.3.33 255.255.255.240
 ip ospf network point-to-multipoint
 no keepalive
 cmpc 0100 24 DIPTG READ
 cmpc 0100 25 DIPTG WRITE
 tg DIPTG    ip 10.64.3.34 10.64.3.33 broadcast
 router ospf 1
  network 10.0.0.0 0.255.255.255 area 0
!

If this had been a Cisco 7500 router with a CIP card instead of a 7200 with an xCPA port adapter, the tg statement would have been configured under the virtual /2 interface. Note the ip ospf network point-to-multipoint command, which is required for OSPF to function correctly. The channel interface is considered a multipoint interface much like Frame Relay. If you do not wish to run OSPF throughout your network, you can run it only on the channel interface itself and use redistribution between other routing protocols. For example:

!
router eigrp 1
 redistribute ospf 1
 passive-interface Channel2/0
 network 10.0.0.0
 no eigrp log-neighbor-changes
!
router ospf 1
 log-adjacency-changes
 redistribute eigrp 1
 network 10.64.3.33 0.0.0.0 area 0
!

Displays on the Router

diplodocus# show extended channel 2/0 status

Path: 0100  -- ESTABLISHED
       Command    Selective   System     Device    CU
Dev    Connects    Retries    Cancels    Reset    Reset    Errors    Busy
24        30         21          1         0        0        0        0
25        29         0           1         0        0        0        0
Blocks         Bytes         Dropped Blk         Memd
Dev-Lnk    Read    Write    Read    Write    Read    Write    wait    Con
24-00       29       6      3484     789      0        0       0       Y
25-00        9      29       801    3920      0        0       0       Y
Path 0100
Total:      38      35      4285    4709      0        0       0
Last statistics 0 seconds old, next in 10 seconds

diplodocus# show extended channel 2/0 cmpc

Path    Dv    TGName    Dir    Bfrs     Status
CMPC   0100     24     DIPTG  READ  16  Active+
CMPC   0100     25     DIPTG  WRITE 16  Active+

diplodocus# show ip ospf i

Channel2/0 is up, line protocol is up
Internet Address 10.64.3.33/28, Area 0
Process ID 1, Router ID 200.100.100.9, Network Type POINT_TO_MULTIPOINT,
Cost: 4
Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT,
Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
Hello due in 00:00:10
Index 1/1, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 10.64.3.17
Suppress hello for 0 neighbor(s)

diplodocus# show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address       Interface
10.64.3.17       1    FULL/  -        00:01:35
Neighbor is up for 00:04:01           10.64.3.34  Channel2/0

diplodocus# show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is 10.64.3.1 to network 0.0.0.0
1.0.0.0/27 is subnetted, 1 subnets
C	1.1.1.0 is directly connected, Loopback1
200.100.100.0/29 is subnetted, 1 subnets
C	200.100.100.8 is directly connected, Loopback0
10.0.0.0/8 is variably subnetted, 9 subnets, 3 masks
D	10.0.0.0/8 is a summary, 00:06:40, Null0
C	10.64.3.0/28 is directly connected, Ethernet6/0
O E2	10.64.3.17/32 [110/1] via 10.64.3.34, 00:03:57, Channel2/0
O	10.64.3.16/28 [110/5] via 10.64.3.34, 00:03:57, Channel2/0
C	10.64.3.32/28 is directly connected, Channel2/0
S	10.64.3.34/32 [1/0] via 10.64.3.34, Channel2/0
S	10.64.3.37/32 [1/0] via 10.64.3.37, Channel2/0
C	10.64.3.48/28 is directly connected, Serial1/3.1
C	10.64.3.128/28 is directly connected, Serial1/3.2
S*   0.0.0.0/0 [1/0] via 10.64.3.1

Displays on Mainframe

VTAM Displays on System Console

D NET,TRL

IST097I DISPLAY ACCEPTED
ST350I DISPLAY TYPE = TRL 042
IST1314I TRLE = DIPTG	  STATUS = ACTIV       CONTROL = MPC
IST1454I 1 TRLE(S) DISPLAYED
IST314I END

D NET,TRL,TRLE=DIPTG

IST097I DISPLAY ACCEPTED
IST075I NAME = DIPTG, TYPE = TRLE 045
IST486I STATUS= ACTIV, DESIRED STATE= ACTIV
IST087I TYPE = LEASED		  , CONTROL = MPC , HPDT = YES
IST1715I MPCLEVEL = HPDT       MPCUSAGE = SHARE
IST1577I HEADER SIZE = 4092 DATA SIZE = 60 STORAGE = ***NA***
IST1221I WRITE DEV = 0E25 STATUS = ACTIVE     STATE = ONLINE
IST1577I HEADER SIZE = 4092 DATA SIZE = 60 STORAGE = DATASPACE
IST1221I READ  DEV = 0E24 STATUS = ACTIVE     STATE = ONLINE
IST314I END

Routing Information Displays Under TSO from the netstat Command

netstat route displays the routing table. For example:

===> netstat route

EZZ2350I MVS TCP/IP NETSTAT CS V2R7       TCPIP NAME: TCPIP       15:56:33
EZZ2755I Destination       Gateway       Flags  Refcnt  Interface
EZZ2756I -----------       -------       -----  ------  ---------
EZZ2757I 10.0.0.0          10.64.3.33    UG     000000  LDIPTG
EZZ2757I 10.64.3.32        0.0.0.0       U      000000  LDIPTG
EZZ2757I 10.64.3.33        0.0.0.0       UH     000000  LDIPTG

netstat device displays the status and so forth of all of the connected devices or links. For example:

===> netstat device

EZZ2350I MVS TCP/IP NETSTAT CS V2R7	  TCPIP NAME: TCPIP	   15:58:04
EZZ2760I DevName: LOOPBACK	    DevType: LOOPBACK  DevNum: 0000
EZZ2761I   LnkName: LOOPBACK	      LnkType: LOOPBACK    Status: Ready
EZZ2762I     NetNum: 0	 QueSize: 0   ByteIn: 0000004278   ByteOut: 0000004278
EZZ2768I   BSD Routing Parameters:
EZZ2769I     MTU Size: 00000		 Metric: 00
EZZ2770I     DestAddr: 0.0.0.0		 SubnetMask: 0.0.0.0
EZZ2810I   Multicast Specific:
EZZ2811I     Multicast Capability: No
EZZ2760I DevName: DIPTG 	    DevType: MPC       DevNum: 0000
EZZ2761I   LnkName: LDIPTG	      LnkType: MPC	   Status: Ready
EZZ2762I     NetNum: 0	 QueSize: 0   ByteIn: 0000001848   ByteOut: 0000001936
EZZ2768I   BSD Routing Parameters:
EZZ2769I     MTU Size: 01470		 Metric: 01
EZZ2770I     DestAddr: 0.0.0.0		 SubnetMask: 255.255.255.240
EZZ2810I   Multicast Specific:
EZZ2811I     Multicast Capability: Yes
EZZ2812I     Group            RefCnt
EZZ2813I     -----            ------
EZZ2814I     224.0.0.5        0000000001
EZZ2814I     224.0.0.1        0000000001
EZZ2760I DevName: VIPADEV	    DevType: VIPA      DevNum: 0000
EZZ2761I   LnkName: VIPALINK	      LnkType: VIPA	   Status: Ready
EZZ2762I     NetNum: 0	 QueSize: 0   ByteIn: 0000000000   ByteOut: 0000000000
EZZ2768I   BSD Routing Parameters:
EZZ2769I     MTU Size: 01470		 Metric: 01
EZZ2770I     DestAddr: 0.0.0.0		 SubnetMask: 255.255.255.240
EZZ2810I   Multicast Specific:
EZZ2811I     Multicast Capability: No

There are many more options available with netstat. You can issue the netstat ? command to display them all.

Related Information

Updated: Sep 09, 2005
Document ID: 12257