From owner-svn-src-all@FreeBSD.ORG  Mon Feb 15 14:29:17 2010
Return-Path: <owner-svn-src-all@FreeBSD.ORG>
Delivered-To: svn-src-all@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 7E003106568F;
	Mon, 15 Feb 2010 14:29:17 +0000 (UTC) (envelope-from ru@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 6D0008FC13;
	Mon, 15 Feb 2010 14:29:17 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o1FETHX0026202;
	Mon, 15 Feb 2010 14:29:17 GMT (envelope-from ru@svn.freebsd.org)
Received: (from ru@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o1FETHov026200;
	Mon, 15 Feb 2010 14:29:17 GMT (envelope-from ru@svn.freebsd.org)
Message-Id: <201002151429.o1FETHov026200@svn.freebsd.org>
From: Ruslan Ermilov <ru@FreeBSD.org>
Date: Mon, 15 Feb 2010 14:29:17 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-head@freebsd.org
X-SVN-Group: head
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r203919 - head/usr.sbin/arp
X-BeenThere: svn-src-all@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the entire src tree \(except for &quot;
	user&quot; and &quot; projects&quot; \)" <svn-src-all.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
	<mailto:svn-src-all-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-all>
List-Post: <mailto:svn-src-all@freebsd.org>
List-Help: <mailto:svn-src-all-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-all>,
	<mailto:svn-src-all-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Feb 2010 14:29:17 -0000

Author: ru
Date: Mon Feb 15 14:29:17 2010
New Revision: 203919
URL: http://svn.freebsd.org/changeset/base/203919

Log:
  Show when an ARP entry expires.
  
  MFC after:	1 week

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

Modified: head/usr.sbin/arp/arp.c
==============================================================================
--- head/usr.sbin/arp/arp.c	Mon Feb 15 14:14:13 2010	(r203918)
+++ head/usr.sbin/arp/arp.c	Mon Feb 15 14:29:17 2010	(r203919)
@@ -101,7 +101,8 @@ static int valid_type(int type);
 static int nflag;	/* no reverse dns lookups */
 static char *rifname;
 
-static int	expire_time, flags, doing_proxy, proxy_only;
+static time_t	expire_time;
+static int	flags, doing_proxy, proxy_only;
 
 /* which function we're supposed to do */
 #define F_GET		1
@@ -594,6 +595,15 @@ print_entry(struct sockaddr_dl *sdl,
 		printf(" on %s", ifname);
 	if (rtm->rtm_rmx.rmx_expire == 0)
 		printf(" permanent");
+	else {
+		static struct timeval tv;
+		if (tv.tv_sec == 0)
+			gettimeofday(&tv, 0);
+		if ((expire_time = rtm->rtm_rmx.rmx_expire - tv.tv_sec) > 0)
+			printf(" expires in %d seconds", (int)expire_time);
+		else
+			printf(" expired");
+	}
 	if (addr->sin_other & SIN_PROXY)
 		printf(" published (proxy only)");
 	if (rtm->rtm_flags & RTF_ANNOUNCE)