Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Aug 2009 17:23:51 +0200
From:      Gabor PALI <pgj@FreeBSD.org>
To:        soc-status@freebsd.org
Cc:        Oleksandr Tymoshenko <gonzo@freebsd.org>, Robert Watson <rwatson@freebsd.org>
Subject:   libstat final summary
Message-ID:  <685a6ef80908200823m2c63b5b4l889f23b5dfc0a319@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?685a6ef80908200823m2c63b5b4l889f23b5dfc0a319>