diff options
author | brooks <brooks@FreeBSD.org> | 2004-08-30 06:29:26 +0000 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2004-08-30 06:29:26 +0000 |
commit | 922e581a21e3c43e13da68f2584a1e249ae79fa3 (patch) | |
tree | 35ae08d1134e69679205be6a034b9bf1a6903659 /sys/net | |
parent | 6cfb5e6d674efc90c8462d7a4a177ad68a8a6295 (diff) | |
download | FreeBSD-src-922e581a21e3c43e13da68f2584a1e249ae79fa3.zip FreeBSD-src-922e581a21e3c43e13da68f2584a1e249ae79fa3.tar.gz |
Add a new variable, ifi_epoch, to struct if_data. It is set to the last
time the interface counters were zeroed, currently the time if_attach()
was called. It is indentended to be a valid value for RFC2233's
ifCounterDiscontinuityTime and to make it easier for applications to
verify that the interface they find at a given index is the one that was
there last time they looked.
An if_epoch "compatability" macro has not been created as ifi_epoch has
never been a member of struct ifnet.
Approved by: andre, bms, wollman
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/if.c | 1 | ||||
-rw-r--r-- | sys/net/if.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/sys/net/if.c b/sys/net/if.c index 73d661c..0bb5389 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -387,6 +387,7 @@ if_attach(struct ifnet *ifp) TAILQ_INIT(&ifp->if_multiaddrs); knlist_init(&ifp->if_klist, NULL); getmicrotime(&ifp->if_lastchange); + getmicrotime(&ifp->if_data.ifi_epoch); #ifdef MAC mac_init_ifnet(ifp); diff --git a/sys/net/if.h b/sys/net/if.h index 084fc9d..5a005c9 100644 --- a/sys/net/if.h +++ b/sys/net/if.h @@ -103,6 +103,7 @@ struct if_data { u_long ifi_hwassist; /* HW offload capabilities */ u_long ifi_unused; /* XXX was ifi_xmittiming */ struct timeval ifi_lastchange; /* time of last administrative change */ + struct timeval ifi_epoch; /* time of creation or stat reset */ }; #define IFF_UP 0x1 /* interface is up */ |