svn commit: r216078 - head/usr.sbin/arp

Gleb Smirnoff glebius at FreeBSD.org
Tue Nov 30 16:14:19 UTC 2010


Author: glebius
Date: Tue Nov 30 16:14:19 2010
New Revision: 216078
URL: http://svn.freebsd.org/changeset/base/216078

Log:
  Do not hardcode (20*60), but use current ARP timeout value configured
  in kernel.

Modified:
  head/usr.sbin/arp/arp.c

Modified: head/usr.sbin/arp/arp.c
==============================================================================
--- head/usr.sbin/arp/arp.c	Tue Nov 30 16:04:40 2010	(r216077)
+++ head/usr.sbin/arp/arp.c	Tue Nov 30 16:14:19 2010	(r216078)
@@ -320,8 +320,14 @@ set(int argc, char **argv)
 	while (argc-- > 0) {
 		if (strncmp(argv[0], "temp", 4) == 0) {
 			struct timespec tp;
+			int max_age;
+			size_t len = sizeof(max_age);
+
 			clock_gettime(CLOCK_MONOTONIC, &tp);
-			expire_time = tp.tv_sec + 20 * 60;
+			if (sysctlbyname("net.link.ether.inet.max_age",
+			    &max_age, &len, NULL, 0) != 0)
+				err(1, "sysctlbyname");
+			expire_time = tp.tv_sec + max_age;
 		} else if (strncmp(argv[0], "pub", 3) == 0) {
 			flags |= RTF_ANNOUNCE;
 			doing_proxy = 1;


More information about the svn-src-head mailing list