TCP/IP supports devices for IP V4 using statements like
DEVICE PORTA MPCIPA
LINK ETH1 IPAQENET PORTA
...
HOME ...
10.1.1.2 ETH1
...
BEGINRoutes
...
ROUTE DEFAULT 10.1.1.1 ETH1 MTU 1492
ENDRoutes
START PORTA
z/OS TCP has said these DEVICE and LINK statements should be converted these to use the INTERFACE statement, because the LINK and DEVICE statements will be withdrawn in a future release.
The interface statement basically merges the DEVICE, LINK and the relevant part of HOME into one INTERFACE statement. You can use Interface statements for IP V4 and IP V6. They are easier to configure and activate than DEVICE and LINK statements
The equivalent interface statement is
INTERFACE ETH1
DEFINE IPAQENET
CHPIDTYPE OSD
IPADDR 10.1.1.2
PORTNAME PORTA
The command can be written on one (or more lines). You can have
INTERFACE JFPORTCP4 DEFINE IPAQENET ; this is a comment CHPIDTYPE OSD IPADDR 10.1.1.2 PORTNAME PORTA
( Personally I would not; I prefer the command to start in column 1, and following lines indented).
If you name the interface the same as the LINK statement, you will not need to change any routing statements.
The easiest way of implementing the change is to make the change and restart TCP/IP.
The changes you need to make are
- Replace the DEVICE and LINK statements with the INTERFACE statement
- Remove the IP address from the HOME
- Change the START from the port to the interface name
Check it has been defined
After you have restarted TCP/IP
tso netstat home
gave
MVS TCP/IP NETSTAT CS V2R4 TCPIP Name: TCPIP
Home address list:
LinkName: LOOPBACK
Address: 127.0.0.1
Flags:
IntfName: ETH1
Address: 10.1.1.2
Flags: Primary
IntfName: LOOPBACK6
Address: ::1
Type: Loopback
Flags:
The command
tso netstat devlinks
Gave
IntfName: ETH1 IntfType: IPAQENET IntfStatus: Ready
PortName: PORTA Datapath: 0402 DatapathStatus: Ready
CHPIDType: OSD SMCR: Yes
PNetID: *None* SMCD: Yes
TRLE: OSATRL1E
Speed: 0000001000
IpBroadcastCapability: No
CfgRouter: Non ActRouter: Non
ArpOffload: Yes ArpOffloadInfo: Yes
CfgMtu: None ActMtu: 8992
IpAddr: 10.1.1.2/0
VLANid: None VLANpriority: Disabled
ReadStorage: GLOBAL (4096K)
InbPerf: Balanced
ChecksumOffload: Unsupported SegmentationOffload: No
SecClass: 255 MonSysplex: No
Isolate: No OptLatencyMode: No
Multicast Specific:
Multicast Capability: Yes
Group RefCnt SrcFltMd
----- ------ --------
224.0.0.1 0000000001 Exclude
SrcAddr: None
Interface Statistics:
...
IPv4 LAN Group Summary
LanGroup: 00001
Name Status ArpOwner VipaOwner
---- ------ -------- ---------
ETH1 Active ETH1 Yes
where interesting fields are
- IntfName: ETH1 the interface name
- IntfType: IPAQENET the interface type
- IntfStatus: Ready the status of the interface
- PortName: PORTA the port name
- Datapath: 0402 what device is being used
- IpAddr: 10.1.1.2/0 the IP address of the z/OS end of the connection
If you are using DEVICE and LINK the output will have LnkName: ETH1 instead of IntfName: ETH1.
If you are brave…
you can remove the LINK and DEVICE definitions from the active system and activate the INTERFACE, then at a later date, update the TCP/IP configuration file.
You need to
- stop the existing definition
- remove the HOST entry for the device
- delete the DEVICE and LINK from the running configuration
- activate the interface statement
- start the interface
Stop the device
V TCPIP,TCPIP,STOP,PORTA
You cannot use V TCPIP,TCPIP,STOP,ETH1 because it says device not found.
Remove the HOME entry for the link
Copy the home statements into a file, remove the entry you do not want, then issue the V…OBEY… on that file. This replaces the active HOME entries.
If you use TSO NETSTAT HOME, the IP address should not be present.
Delete the link and device from the active configuration
One you have removed the HOME statements, and TSO NETSTAT HOME does not show any entries for the device, you can create members DELLINK
DELETE LINK ETH1
and member DELDEV
DELETE DEVICE PORTA
Use the V…OBEY… in turn on each file. You cannot put both commands in one file, as the commands are processed asynchronously and the delete link command may still be executing when the delete device is executed, and then so fail.
The TSO NETSTAT DEVLINKS command should show the link is not in the output.
Activate the interface
Put your interface definition statements into a file and activate it using
V TCPIP,TCPIP,OBEY,USER.Z24C.TCPPARMS(JFACE41)
My definition defines an interface with name JFPORTCP4.
Start the interface
V TCPIP,TCPIP,STA,JFPORTCP4
Test it
TSO NETSTAT HOME should show the IP address, and you should be able to ping it.
You can use TSO NETSTAT DEVLINKS (INTFNAME JFPORTCP4 to display the interface.
Make the change permanent
You will need to:
- Comment out/remove the PATH and LINK definitions
- Remove/comment out the IP address and link from the HOME statement
- Remove the start of the device
- Add the interface definition. This could be done using an INCLUDE statement
- Add a start of the interface (or add it to the include file).
- Use V…OBEY… with the start-up configuration file, or restart TCP/IP
- Change your documentation!