From owner-soc-status@FreeBSD.ORG Thu Aug 20 15:23:55 2009 Return-Path: Delivered-To: soc-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 10798106568D; Thu, 20 Aug 2009 15:23:55 +0000 (UTC) (envelope-from pali.gabor@googlemail.com) Received: from mail-fx0-f210.google.com (mail-fx0-f210.google.com [209.85.220.210]) by mx1.freebsd.org (Postfix) with ESMTP id 4BD5D8FC60; Thu, 20 Aug 2009 15:23:54 +0000 (UTC) Received: by fxm6 with SMTP id 6so4055088fxm.43 for ; Thu, 20 Aug 2009 08:23:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Q3M49CZeq1myHWcCve5c5mZHVPwO8FSaV2ammFI+Qfk=; b=WXFl7y+EEXwNNcO7aa/++YN1/wSVCnA5D8LpMVjBz82+LTiBBTzYJPtMO0gjtwEyVc rSVE0WxAXqQJElvcG0XPYAQzRr3dK+LEZRT71GyalOJNcAtNgaeqzXqEKvvHyY8jmxsA efV60lFjFIHIq88x/FkGY9TkLsHhHeyuwZSU4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:cc:content-type:content-transfer-encoding; b=HntmBbAupgQ6T+uZYB0v1vyp2iBH32IbjoyXVz0Rw3njWFSvpV4JTaocHcVrtg9CyD nwswnYv9kXaw9SI1UB3EzJaxmL1LpTHsl2l/l9pyqeuPMRjG2NFtWmXoP6cb2kpfQEq4 VFkYgJI+flSbwCwg/SBha0DDwwwpPS2dRChbw= MIME-Version: 1.0 Sender: pali.gabor@googlemail.com Received: by 10.223.22.133 with SMTP id n5mr858350fab.16.1250781831426; Thu, 20 Aug 2009 08:23:51 -0700 (PDT) Date: Thu, 20 Aug 2009 17:23:51 +0200 X-Google-Sender-Auth: a2b31fca1dcb0133 Message-ID: <685a6ef80908200823m2c63b5b4l889f23b5dfc0a319@mail.gmail.com> From: Gabor PALI To: soc-status@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Oleksandr Tymoshenko , Robert Watson Subject: libstat final summary X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2009 15:23:55 -0000 Hello, The progress I made since the last report: - Add netstat_mif() to the libnetstat(3) API to support information extraction for multicast interfaces, both for IPv4 and IPv6. I added an mcastif_type to model these interfaces, together with all the necessary functions, sysctl(3) and kvm(3) implementations. The export method via sysctl(3) is similar the one I used for exporting information on sockets, and I added two new sysctl variables for this purpose. - Add netstat_mroute() to support getting data on multicast forwarding tables for IPv4 and IPv6, including their sysctl(3) and kvm(3) implementations. It is also "streamed" in the same way as for multicast interfaces. However it does not include information on bandwidth meters (for IPv4) displayed in netstat(1) yet. I would like to add the missing pieces of code required for this. Because it is a final summary, I would like to include some words on the overall progress: In the summer, I worked on the design and implementation of a library collecting various network statistics functions, called libnetstat(3), learned the sources of netstat(1), lifted some parts of it to build a sandbox for experimenting, and earned experiences on how to add own sysctl(8) node and how to present kernel-exported data in comfortable format for both 32-bit/64-bit systems, created a simple monitoring tool for the library, called nettop. After the mid-term evaluations, I evaluated my experiences earned so far and I decided to go on with finishing this library. It already has many types and functions to be constructed and organized, so I felt build a complete API for libnetstat(3) a realizable goal. For the details of the development and track, see the logs of project's Perforce depot [1] and my previous status reports posted to this list. I am planning to keep working on the libnetstat(3)-based version of netstat(1) and bsnmpd(1) applications. Some other plans have been added to the project's FreeBSD wiki page [2] (to be implemented in the future), hopefully I will be able to continue by working them on them, after I have completed and finalized a version of libnetstat(3). Cheers, :g [1] http://p4db.freebsd.org/changeList.cgi?FSPC=%2F%2Fdepot%2Fprojects%2Fsoc2009%2Fpgj_libstat%2F...&ignore=GO! [2] http://wiki.freebsd.org/PGJSoC2009