summaryrefslogtreecommitdiffstats
path: root/libexec/bootpd
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2010-12-06 09:39:36 +0000
committerglebius <glebius@FreeBSD.org>2010-12-06 09:39:36 +0000
commitf2bb89e063b90afc60f9711fb7e86c220e354b40 (patch)
tree72c39df0372d83a63097dc57e2b94932b637949b /libexec/bootpd
parent4d4fc1fa3d63b3be90d7373c28a9f0a18be949ae (diff)
downloadFreeBSD-src-f2bb89e063b90afc60f9711fb7e86c220e354b40.zip
FreeBSD-src-f2bb89e063b90afc60f9711fb7e86c220e354b40.tar.gz
Catch up with kernel using time_uptime to drive ARP timeouts.
Noticed by: jilles
Diffstat (limited to 'libexec/bootpd')
-rw-r--r--libexec/bootpd/rtmsg.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libexec/bootpd/rtmsg.c b/libexec/bootpd/rtmsg.c
index b691edc..8b81dab 100644
--- a/libexec/bootpd/rtmsg.c
+++ b/libexec/bootpd/rtmsg.c
@@ -126,7 +126,7 @@ int bsd_arp_set(ia, eaddr, len)
register struct sockaddr_dl *sdl;
register struct rt_msghdr *rtm = &(m_rtmsg.m_rtm);
u_char *ea;
- struct timeval time;
+ struct timespec tp;
int op = RTM_ADD;
getsocket();
@@ -140,8 +140,8 @@ int bsd_arp_set(ia, eaddr, len)
doing_proxy = flags = export_only = expire_time = 0;
/* make arp entry temporary */
- gettimeofday(&time, 0);
- expire_time = time.tv_sec + 20 * 60;
+ clock_gettime(CLOCK_MONOTONIC, &tp);
+ expire_time = tp.tv_sec + 20 * 60;
tryagain:
if (rtmsg(RTM_GET) < 0) {
OpenPOWER on IntegriCloud