diff options
author | glebius <glebius@FreeBSD.org> | 2010-12-06 09:39:36 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2010-12-06 09:39:36 +0000 |
commit | f2bb89e063b90afc60f9711fb7e86c220e354b40 (patch) | |
tree | 72c39df0372d83a63097dc57e2b94932b637949b /libexec | |
parent | 4d4fc1fa3d63b3be90d7373c28a9f0a18be949ae (diff) | |
download | FreeBSD-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')
-rw-r--r-- | libexec/bootpd/rtmsg.c | 6 |
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) { |