From owner-freebsd-bugs@FreeBSD.ORG Tue Sep 4 04:30:08 2007 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DAB116A421 for ; Tue, 4 Sep 2007 04:30:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 0D7CC13C468 for ; Tue, 4 Sep 2007 04:30:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.1/8.14.1) with ESMTP id l844U77U043981 for ; Tue, 4 Sep 2007 04:30:07 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.1/8.14.1/Submit) id l844U7mP043978; Tue, 4 Sep 2007 04:30:07 GMT (envelope-from gnats) Resent-Date: Tue, 4 Sep 2007 04:30:07 GMT Resent-Message-Id: <200709040430.l844U7mP043978@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Tarragon Allen Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C043516A41A for ; Tue, 4 Sep 2007 04:24:25 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id B12A513C45B for ; Tue, 4 Sep 2007 04:24:25 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.1/8.14.1) with ESMTP id l844OPKx040104 for ; Tue, 4 Sep 2007 04:24:25 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.1/8.14.1/Submit) id l844OPK6040103; Tue, 4 Sep 2007 04:24:25 GMT (envelope-from nobody) Message-Id: <200709040424.l844OPK6040103@www.freebsd.org> Date: Tue, 4 Sep 2007 04:24:25 GMT From: Tarragon Allen To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: misc/116069: snmp is missing PhysAddress X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2007 04:30:08 -0000 >Number: 116069 >Category: misc >Synopsis: snmp is missing PhysAddress >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Sep 04 04:30:07 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Tarragon Allen >Release: 6.2-RELEASE-p1 >Organization: realestate.com.au >Environment: FreeBSD trea26.telstra.realestate.com.au 6.2-RELEASE-p1 FreeBSD 6.2-RELEASE-p1 #0: Fri Feb 23 16:13:11 EST 2007 joelc@rea30.realestate.com.au:/usr/src/sys/amd64/compile/SMP amd64 >Description: /usr/ports/net-mgmt/net-snmp 5.3.1_3 (and earlier) aren't returning the PhysAddress field when snmpwalked. It appears that an earlier patch was applied to fix this very problem with FreeBSD 3.x, 4.x and 5.x, but wasn't applied for 6.x. http://www.freebsd.org/cgi/cvsweb.cgi/ports/net-mgmt/net-snmp/files/patch-interfaces.c?r1=1.4#rev1.4 I extended the check so that it covers FreeBSD 6.x as well and it now works as expected. >How-To-Repeat: Install net-snmp on a FreeBSD 6.2 system, and check the Physical Addresses with "snmpwalk -cpublic -v2c Phys". >Fix: I made the following change to files/patch-interfaces.c: @@ -55,7 +55,7 @@ + physaddrbuf = 0; + } + ifm = (struct if_msghdr *) rtm; -+#if defined(freebsd3) || defined(freebsd4) || defined(freebsd5) ++#if defined(freebsd3) || defined(freebsd4) || defined(freebsd5) || defined(freebsd6) + if (physaddrs != 0) + physaddrs[naddrs] = (void *) (ifm + 1); + naddrs++; @@ -64,7 +64,7 @@ + cp += ifm->ifm_msglen; + rtm = (struct rt_msghdr *) cp; + while (ilen > 0 && rtm->rtm_type == RTM_NEWADDR) { -+#if defined(freebsd3) || defined(freebsd4) || defined(freebsd5) ++#if defined(freebsd3) || defined(freebsd4) || defined(freebsd5) || defined(freebsd6) + ilen -= rtm->rtm_msglen; + cp += rtm->rtm_msglen; +#else >Release-Note: >Audit-Trail: >Unformatted: