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 }