TOP Tips – TCP/IP
TOP – Not just a Pretty Face for NonStop!
by: Matt Riesz
TOP is a great GUI for just about everything you need to do on your NonStop system. One of the most helpful features is the ability to easily look at data communications information, especially as it pertains to CLIM IP, or “CIP”.
Let’s suppose that you want to see who is using TCP/IP on your NonStop system, and what programs are listening for incoming connections on a particular IP address, and which IP ports they’re using. Seems simple, right? But even if you do this on a frequent basis and can recall all of the SCF commands involved, it can be a tedious and time-consuming task:
First, find all of your CLIMs:
TACL> SCF 1-> assume process $ZZCIP 2-> status clim * CIP Status CLIM Name Config State Trace NCLIM000 Yes STARTED OFF NCLIM001 Yes STARTED OFF SCLIM000 Yes STARTED OFF SCLIM001 Yes STARTED OFF SCLIM002 Yes STARTED OFF
Note that the command returns both IP CLIMs and Storage CLIMs. So, pick an IP CLIM and look at the detailed status. There’s a LOT of information:
3-> status clim NCLIM000, detail CIP Detailed Status CLIM \PAPEX.$ZZCIP.NCLIM000 Mode...................... IP Multiprov................. ON CLIM HW Config Status..... Configured State..................... STARTED Trace Status.............. OFF Last Restart Time......... 11 Oct 2018, 13:58:22.000 CLIM Hostname............. NCLIM000 CIP SW Version............ T0853L03_01AUG2018_28AUG2018_DBF Network SW Version........ T0691L03_01AUG2018_DBF_CLIM_G24 Storage SW Version........ T0830L03_01AUG2018_21AUG2018_DBF Number of Socket Servers.. 1 Linux Version: Linux 3.16.56-clim-4-amd64 #1 SMP Debian 3.16.56-clim-4 (2018-07-19) Fabric Status: CIPMON Mgmt Data ZCM00 XY-1 XY-1 ZCM01 XY-1 XY-1 ZCM02 XY-1 XY-1 ZCM03 XY-1 XY-1 CLIM Maintenance Interface Status & IP Addresses: lo Sts:UP Lkp:-- IPv4: 127.0.0.1 IPv6: ::1 eth0 Sts:UP Lkp:UP IPv4: 154.78.41.0 IPv6: fe80::32e1:71ff:fe6a:6e90 Maintenance Provider Interface Status & IP Addresses: lo Sts:UP Lkp:-- IPv4: 127.0.0.1 IPv6: ::1 eth0:0 Sts:UP Lkp:UP IPv4: 154.78.43.9 Data Provider ZB018 Interface Status & IP Addresses: Flg Name Status LkP Master / IP Family & Address lo UP -- v4: 127.0.0.2 IPv4: 127.0.0.1 IPv6: ::1 eth1 UP UP IPv4: 43.4.5.243 IPv6: fe80::32e1:71ff:fe6a:6e91 Data Provider ZB02D Interface Status & IP Addresses: Flg Name Status LkP Master / IP Family & Address lo UP -- IPv4: 127.0.0.2 IPv4: 127.0.0.1 IPv6: ::1 eth2 UP UP IPv4: 43.4.5.254 IPv6: fe80::32e1:71ff:fe6a:6e92 Data Provider ZB03C Interface Status & IP Addresses: Flg Name Status LkP Master / IP Family & Address lo UP -- IPv4: 127.0.0.2 IPv4: 127.0.0.1 IPv6: ::1 eth3 UP UP IPv4: 43.4.5.222 IPv6: fe80::32e1:71ff:fe6a:6e93 Data Provider ZTC0 Interface Status & IP Addresses: Flg Name Status LkP Master / IP Family & Address lo UP -- IPv4: 127.0.0.2 IPv4: 127.0.0.1 IPv6: ::1 Interface Failover Configuration and Status: Flg Name Failover/(Assoc) Fovr Current Provider NCLIM000.eth3 -- NCLIM000.eth3 ZB03C NCLIM000.eth1 -- NCLIM000.eth1 ZB018 NCLIM000.eth2 -- NCLIM000.eth2 ZB02D
Now you have the information needed to find out which IP addresses are associated with which interface on that CLIM. But who is using those addresses?
Next, find all of the CIPSAM processes – These are called “Providers” in CIP, and are the processes that your program accesses when it wants a connection. Each provider is associated with one or more CLIMs, and there may be more than one provider for a given CLIM:
4-> status provider * CIP Status PROVIDER Name Status TPStatus Trace ZB018 STARTED Started OFF ZB01C STARTED Started OFF ZB02D STARTED Started OFF ZB02E STARTED Started OFF ZB03C STARTED Started OFF ZB03D STARTED Started OFF ZTC0 STARTED Stopped OFF ZTC1 STARTED Stopped OFF ZTCP0 STARTED Started OFF ZTCP1 STARTED Started OFF
Well that wasn’t too hard. Next, find out which provider is associated with the IP address you’re interested in:
5-> status provider zb018,detail CIP Detailed Status PROVIDER \TICX.$ZZCIP.ZB018 State.................... STARTED TPStatus................. Started Type..................... IPDATA Family................... INET Current Access........... ( 0, 1, 2, 3 ) Trace Status............. OFF Interface Status & IP Addresses: Name Current Status LkP Fovr Index lo UP -- -- 0x0000000001 IPv4: 127.0.0.1 IPv6: ::1 NCLIM000.lo UP -- -- 0x0000000001 IPv4: 127.0.0.2 NCLIM000.eth1 NCLIM000.eth1 UP UP -- 0x0000000007 IPv4: 43.4.5.243 IPv6: fe80::32e1:71ff:fe6a:6e91 Interfaces Failover Configuration and Status: F Home Sts LkP Failover/(Assoc)Sts LkP Current Fovr NCLIM000.eth1 UP UP -- -- NCLIM000.eth1 --
You might need to look at all the providers to find the one you’re looking for. But great, now we know which CLIM, interface and IP address is driven by this provider. Now, enter another command to find all of the listeners and established sessions through the provider for that interface:
6->listopens provider zb018 ,detail CIP Detailed Listopens PROVIDER \TICX.$ZZCIP.ZB018 Opener:\TICX.$TN11 Ppid: 0,514 Bpid: 0,0 Plfn:2 Blfn:0 Proto:TCP State:LISTEN SendQ:0 RecvQ:0 Provider:ZB018 CLIM:NCLIM000 CLIM-FD:62 Lport:8015 Laddr:0.0.0.0 FPort:0 Faddr:0.0.0.0 Opener:\TICX.$TN10 Ppid: 0,513 Bpid: 0,0 Plfn:2 Blfn:0 Proto:TCP State:LISTEN SendQ:0 RecvQ:0 Provider:ZB018 CLIM:NCLIM000 CLIM-FD:67 Lport:7031 Laddr:0.0.0.0 FPort:0 Faddr:0.0.0.0 Opener:\TICX.$TN16 Ppid: 0,519 Bpid: 0,0 Plfn:2 Blfn:0 Proto:TCP State:LISTEN SendQ:0 RecvQ:0 Provider:ZB018 CLIM:NCLIM000 CLIM-FD:69 Lport:7030 Laddr:0.0.0.0 FPort:0 Faddr:0.0.0.0 Opener:\TICX.$MOMI Ppid: 0,1022 Bpid: 0,0 Plfn:44 Blfn:0 Proto:TCP State:0x00180 SendQ:0 RecvQ:0 Provider:ZB018 CLIM:NCLIM000 CLIM-FD:1691 Lport:0 Laddr:0.0.0.0 FPort:0 Faddr:0.0.0.0 Opener:\TICX.$MOMI Ppid: 0,1022 Bpid: 0,0 Plfn:42 Blfn:0 Proto:TCP State:0x00180 SendQ:0 RecvQ:0 Provider:ZB018 CLIM:NCLIM000 CLIM-FD:624 Lport:0 Laddr:0.0.0.0 FPort:0 Faddr:0.0.0.0 Opener:\TICX.$MOMI Ppid: 0,1022 Bpid: 0,0 Plfn:43 Blfn:0 Proto:TCP State:0x00180 SendQ:0 RecvQ:0 Provider:ZB018 CLIM:NCLIM000 CLIM-FD:1607 Lport:0 Laddr:0.0.0.0 FPort:0 Faddr:0.0.0.0 Opener:\TICX.$MOMI Ppid: 0,1022 Bpid: 0,0 Plfn:47 Blfn:0 Proto:TCP State:ESTAB SendQ:6620 RecvQ:0 Provider:ZB018 CLIM:NCLIM000 CLIM-FD:1039 Lport:2010 Laddr:43.4.5.243 FPort:1380 Faddr:10.1.33.28 Opener:\TICX.$TN16 Ppid: 0,519 Bpid: 0,0 Plfn:11 Blfn:0 Proto:TCP State:ESTAB SendQ:91 RecvQ:0 Provider:ZB018 CLIM:NCLIM000 CLIM-FD:126 Lport:1030 Laddr:43.4.5.243 FPort:63368 Faddr:10.5.20.80 Opener:\TICX.$TN11 Ppid: 0,514 Bpid: 0,0 Plfn:32 Blfn:0 Proto:TCP State:ESTAB SendQ:91 RecvQ:0 Provider:ZB018 CLIM:NCLIM000 CLIM-FD:141 Lport:1025 Laddr:43.4.5.243 FPort:63494 Faddr:10.45.20.46 Opener:\TICX.$MOMI Ppid: 0,1022 Bpid: 0,0 Plfn:27 Blfn:0 Proto:TCP State:LISTEN SendQ:0 RecvQ:0 Provider:ZB018 CLIM:NCLIM000 CLIM-FD:102 Lport:2010 Laddr:43.4.5.243 FPort:0 Faddr:0.0.0.0 Opener:\TICX.$TN11 Ppid: 0,514 Bpid: 0,0 Plfn:21 Blfn:0 More text? ([Y],N)
There may be a LOT of listeners and sessions, appearing in no particular order in the SCF output and, as you can see, it’s not very easy to read. So next you copy the output from your screen (or log it to a file and copy that) into a spreadsheet, separate it into useful columns of information, and sort it to find what you’re looking for.
That all will probably take you about 15 minutes if you know the commands by heart or maybe an hour or more if, like me, you have to read through the SCF manuals looking for them.
A great alternative is to use TOP:
Sign on to TOP and select your system. The system’s components appear in a familiar, Windows-Explorer-style interface
Navigate to “Comms”, “TCP/IP”, “IP CIP”
TOP now shows the available IP CLIMs. Select one, and click on its “Interfaces”. You now see the CLIM’s interface information, including which providers are using them and which IP addresses are being served:
Now click on “Providers”. Top shows information on all the providers:
Next, right-click on a provider and select “Sockets” from the pull-down menu. TOP provides information for all of the current active sockets for that provider:
Sort it however you want by clicking on a column heading. For example, by Foreign IP Address, to see who has an active session:
Total time to do this with TOP: about 1 minute, and you don’t need to know any command syntax. Information from the TOP display can also be easily copied and pasted into your favorite spreadsheet. It’s EASY!
TOP Blogs
Contact us to learn more about how TOP can help your novice and experienced NonStop team be more productive with systems operations.
Matt has over 35 years of Tandem/HPE NonStop experience with a particular focus in analyzing and optimizing system architecture and performance. He is now part of TIC team and working with customers in an operations support role, analyzing system performance to ascertain where improvements may be made.
Matt’s career spans the corporate transitions of what is now HPE NonStop. He started at Tandem in 1982 as a system engineer, and saw the company evolve from Tandem to Compaq, and finally to HP/HPE – from where he retired with the title of Master System Architect. Throughout the course of these changes, Matt’s job was focused on pre-and post-sales technical support for software and systems.
TIC Software partners with comForte to offer a suite of innovative security, modernization, and connectivity solutions for NonStop systems users. comForte develops, markets, and supports proven and innovative modernization, middleware, connectivity, and security solutions for users of HP NonStop systems.