Subject: ifnet.ifLastChange
To: None <tech-net@netbsd.org>
From: None <itojun@iijlab.net>
List: tech-net
Date: 06/14/2001 11:27:17
ifnet.if_lastchange gets updated whenever a packet goes through the
interface (both inbound and outbound). this is what 4.4BSD has been
doing.
in RFC1573 (SNMP interface MIB), ifLastChange is declared as follows.
basically, ifLastChange gets updated whenever interface becomes up,
or becomes down (ifLastChange is the last time ifOperStatus has changed,
and ifOperStatus basically translates into IFF_UP).
on NetBSD, ucd-snmp 4.1.2 returns ifnet.if_lastchange as RFC1573
ifLastChange value (= returns incorrect value from MIB standpoint).
what do we want to do about this?
- add a new member to if_data, which has the semantics of RFC1573
ifLastChange. ask ucd-snmp guys to use that member. with this
approach we need to think about ioctl backward compatibility issue
again.
- change the interpretation of ifnet.if_lastchange to meet RFC1573
ifLastChange. this is what BSD/OS did. need to make sure that
there's noone using if_lastchange as interface watchdog timers.
- change ucd-snmp so that it won't return incorrect ifLastChange.
(stopgap measure)
itojun
---
ifLastChange OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time the interface
entered its current operational state. If the current
state was entered prior to the last re-initialization
of the local network management subsystem, then this
object contains a zero value."
::= { ifEntry 9 }