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;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to