<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<TITLE>Message</TITLE>

<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2>Hello,</FONT></SPAN></DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial size=2>I am using 
check_ifstatus to monitor the status of several hundred Nokia/Check Point 
firewalls. There are two issues with check_ifstatus that seem to be errors as 
far as I can tell:</FONT></SPAN></DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=823454618-27102006>
<DIV><SPAN class=823454618-27102006><FONT face=Arial size=2>1) Dormant serial 
interfaces return status of "OK". A dormant serial connection should be 
CRITICAL, right? I changed the following line # 189 to address 
this:</FONT></SPAN></DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial size=2>    
if ($ifdown > 0) {</FONT></SPAN></DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2>becomes:</FONT></SPAN></DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial size=2>   if 
(($ifdown > 0) || ($ifdormant > 0)) {</FONT></SPAN></DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial size=2>For example here is 
the output from a Nokia/Check Point firewalls with eight interfaces: four 
Ethernet and one each of PPOE, Loop, Tunnel and Serial. The Serial is down and 
the 4th Ethernet is disabled. It shows 8 up and one dormant. 
</FONT></SPAN></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial size=2>Status 
Information: OK: host 'xxx.yyy.zzz.www', interfaces up: 8, down: 0, 
dormant: 1, excluded: 0, unused: 0<BR>Performance 
Data: up=8,down=0,dormant=1,excluded=0,unused=0</FONT></SPAN></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial size=2>I contend that it 
should show "up: 6", "dormant: 1", and "unused: 1", and that the returned status 
should be CRITICAL. Is this a misunderstanding on my part, or a 
bug?</FONT></SPAN></DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial size=2>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2>===============================================================================</FONT></SPAN></DIV></FONT></SPAN></SPAN><SPAN 
class=823454618-27102006><FONT face=Arial size=2>2) Administratively down 
interfaces are not counted. Shouldn't these be added to the "unused" 
category?</FONT></SPAN></DIV></DIV><SPAN class=823454618-27102006><FONT 
face=Arial size=2>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2>===============================================================================</FONT></SPAN></DIV>
<DIV></FONT></SPAN><SPAN class=823454618-27102006><FONT face=Arial size=2>Here 
is the interesting part of the ifTable for the firewall in question. It has an 
admin down physical Ethernet, and admin down Logical Ethernet a dormant serial 
and a dormant T1. Yet check_interfaces shows no unused interfaces and OK 
status.</FONT></SPAN></DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2> interfaces.ifNumber.0 = 
12<BR> interfaces.ifTable.ifEntry.ifIndex.1 = 
1<BR> interfaces.ifTable.ifEntry.ifIndex.2 = 
2<BR> interfaces.ifTable.ifEntry.ifIndex.3 = 
3<BR> interfaces.ifTable.ifEntry.ifIndex.4 = 
4<BR> interfaces.ifTable.ifEntry.ifIndex.5 = 
5<BR> interfaces.ifTable.ifEntry.ifIndex.6 = 
6<BR> interfaces.ifTable.ifEntry.ifIndex.7 = 
7<BR> interfaces.ifTable.ifEntry.ifIndex.8 = 
8<BR> interfaces.ifTable.ifEntry.ifIndex.9 = 
9<BR> interfaces.ifTable.ifEntry.ifIndex.10 = 
10<BR> interfaces.ifTable.ifEntry.ifIndex.11 = 
11<BR> interfaces.ifTable.ifEntry.ifIndex.12 = 
12<BR> interfaces.ifTable.ifEntry.ifDescr.1 = ser-s1p1 DS1 Serial Link 
Nokia TAXI T1<BR> interfaces.ifTable.ifEntry.ifDescr.2 = pppoe0 Ethernet 
Layer <BR> interfaces.ifTable.ifEntry.ifDescr.3 = eth1 Ethernet Layer Intel 
EtherExpress Pro 10/100B<BR> interfaces.ifTable.ifEntry.ifDescr.4 = eth2 
Ethernet Layer Intel EtherExpress Pro 
10/100B<BR> interfaces.ifTable.ifEntry.ifDescr.5 = eth3 Ethernet Layer 
Intel EtherExpress Pro 10/100B<BR> interfaces.ifTable.ifEntry.ifDescr.6 = 
eth4 Ethernet Layer Intel EtherExpress Pro 
10/100B<BR> interfaces.ifTable.ifEntry.ifDescr.7 = ser-s1p1c0 CHDLC IP 
Layer<BR> interfaces.ifTable.ifEntry.ifDescr.8 = loop0c0 Software Loopback 
Layer<BR> interfaces.ifTable.ifEntry.ifDescr.9 = eth1c0 IP 
Layer<BR> interfaces.ifTable.ifEntry.ifDescr.10 = eth2c0 IP 
Layer<BR> interfaces.ifTable.ifEntry.ifDescr.11 = eth3c0 IP 
Layer<BR> interfaces.ifTable.ifEntry.ifDescr.12 = eth4c0 IP 
Layer<BR> interfaces.ifTable.ifEntry.ifType.1 = 
ds1(18)<BR> interfaces.ifTable.ifEntry.ifType.2 = 
eon(25)<BR> interfaces.ifTable.ifEntry.ifType.3 = 
ethernetCsmacd(6)<BR> interfaces.ifTable.ifEntry.ifType.4 = 
ethernetCsmacd(6)<BR> interfaces.ifTable.ifEntry.ifType.5 = 
ethernetCsmacd(6)<BR> interfaces.ifTable.ifEntry.ifType.6 = 
ethernetCsmacd(6)<BR> interfaces.ifTable.ifEntry.ifType.7 = 
hdlc(118)<BR> interfaces.ifTable.ifEntry.ifType.8 = 
softwareLoopback(24)<BR> interfaces.ifTable.ifEntry.ifType.9 = 
other(1)<BR> interfaces.ifTable.ifEntry.ifType.10 = 
other(1)<BR> interfaces.ifTable.ifEntry.ifType.11 = 
other(1)<BR> interfaces.ifTable.ifEntry.ifType.12 = 
other(1)<BR> interfaces.ifTable.ifEntry.ifMtu.1 = 
8188<BR> interfaces.ifTable.ifEntry.ifMtu.2 = 
1514<BR> interfaces.ifTable.ifEntry.ifMtu.3 = 
1514<BR> interfaces.ifTable.ifEntry.ifMtu.4 = 
1514<BR> interfaces.ifTable.ifEntry.ifMtu.5 = 
1514<BR> interfaces.ifTable.ifEntry.ifMtu.6 = 
1514<BR> interfaces.ifTable.ifEntry.ifMtu.7 = 
1500<BR> interfaces.ifTable.ifEntry.ifMtu.8 = 
63000<BR> interfaces.ifTable.ifEntry.ifMtu.9 = 
1500<BR> interfaces.ifTable.ifEntry.ifMtu.10 = 
1500<BR> interfaces.ifTable.ifEntry.ifMtu.11 = 
1500<BR> interfaces.ifTable.ifEntry.ifMtu.12 = 
1518<BR> interfaces.ifTable.ifEntry.ifSpeed.1 = Gauge: 
1544<BR> interfaces.ifTable.ifEntry.ifSpeed.2 = Gauge: 
0<BR> interfaces.ifTable.ifEntry.ifSpeed.3 = Gauge: 
100000<BR> interfaces.ifTable.ifEntry.ifSpeed.4 = Gauge: 
100000<BR> interfaces.ifTable.ifEntry.ifSpeed.5 = Gauge: 
100000<BR> interfaces.ifTable.ifEntry.ifSpeed.6 = Gauge: 
100000<BR> interfaces.ifTable.ifEntry.ifSpeed.7 = Gauge: 
0<BR> interfaces.ifTable.ifEntry.ifSpeed.8 = Gauge: 
0<BR> interfaces.ifTable.ifEntry.ifSpeed.9 = Gauge: 
0<BR> interfaces.ifTable.ifEntry.ifSpeed.10 = Gauge: 
0<BR> interfaces.ifTable.ifEntry.ifSpeed.11 = Gauge: 
0<BR> interfaces.ifTable.ifEntry.ifSpeed.12 = Gauge: 
0<BR> interfaces.ifTable.ifEntry.ifPhysAddress.1 = 
<BR> interfaces.ifTable.ifEntry.ifPhysAddress.2 = 
<BR> interfaces.ifTable.ifEntry.ifPhysAddress.3 = 
0:a0:8e:7a:df:4c<BR> interfaces.ifTable.ifEntry.ifPhysAddress.4 = 
0:a0:8e:7a:df:4d<BR> interfaces.ifTable.ifEntry.ifPhysAddress.5 = 
0:a0:8e:7a:df:4e<BR> interfaces.ifTable.ifEntry.ifPhysAddress.6 = 
0:a0:8e:7a:df:4f<BR> interfaces.ifTable.ifEntry.ifPhysAddress.7 = 
<BR> interfaces.ifTable.ifEntry.ifPhysAddress.8 = 
<BR> interfaces.ifTable.ifEntry.ifPhysAddress.9 = 
<BR> interfaces.ifTable.ifEntry.ifPhysAddress.10 = 
<BR> interfaces.ifTable.ifEntry.ifPhysAddress.11 = 
<BR> interfaces.ifTable.ifEntry.ifPhysAddress.12 = 
<BR> interfaces.ifTable.ifEntry.ifAdminStatus.1 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifAdminStatus.2 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifAdminStatus.3 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifAdminStatus.4 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifAdminStatus.5 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifAdminStatus.6 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifAdminStatus.7 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifAdminStatus.8 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifAdminStatus.9 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifAdminStatus.10 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifAdminStatus.11 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifAdminStatus.12 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifOperStatus.1 = 
dormant(5)<BR> interfaces.ifTable.ifEntry.ifOperStatus.2 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifOperStatus.3 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifOperStatus.4 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifOperStatus.5 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifOperStatus.6 = 
down(2)<BR> interfaces.ifTable.ifEntry.ifOperStatus.7 = 
lowerLayerDown(7)<BR> interfaces.ifTable.ifEntry.ifOperStatus.8 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifOperStatus.9 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifOperStatus.10 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifOperStatus.11 = 
up(1)<BR> interfaces.ifTable.ifEntry.ifOperStatus.12 = 
lowerLayerDown(7)</FONT></SPAN></DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial size=2>Thanks for your help 
!</FONT></SPAN></DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2>===============================================================================</FONT></SPAN></DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial size=2>./check_ifstatus 
--version<BR>check_ifstatus (nagios-plugins 1.4.2) 1.9<BR>Copyright (C) 2000 
Christoph Kron<BR>Updates 5/2002 Subhendu Ghosh</FONT></SPAN></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><SPAN class=823454618-27102006><FONT face=Arial 
size=2></FONT></SPAN> </DIV><!-- Converted from text/plain format -->
<DIV align=left><FONT face=Arial size=2>Matthew Martin<BR>Internet Security 
Engineer<BR>Qwest Communication Corp.<BR>matthew.martin@qwest.com<BR><BR><FONT 
color=#800000>- Internal Use Only -<BR>Disclose and Distribute only to Qwest 
Employees and authorized persons working for Qwest.  Disclosure outside of 
Qwest is prohibited without authorization. </FONT></FONT></DIV>
<DIV> </DIV><br>
<br>
This communication is the property of Qwest and may contain confidential or 
privileged information. Unauthorized use of this communication is strictly 
prohibited and may be unlawful.  If you have received this communication 
in error, please immediately notify the sender by reply e-mail and destroy 
all copies of the communication and any attachments.</BODY></HTML>