Date: Mon, 16 Mar 2009 18:11:34 -0400 From: Cipta H <ciphwn@gmail.com> To: Tim Kientzle <kientzle@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: Re: writing libnetstat for Summer of Code 2009 Message-ID: <13b997e60903161511p70ee2252qf6d594dae13e4ec@mail.gmail.com> In-Reply-To: <49BEC656.50702@freebsd.org> References: <13b997e60903160716x21881adfma588c32551c36e6f@mail.gmail.com> <21C1FF9D-4CDA-4476-9F11-3DE281279C1A@freebsd.org> <13b997e60903161141j8faaf7frd6ce9b1423b40164@mail.gmail.com> <49BEA2BC.6000405@delphij.net> <13b997e60903161213t320252dbg56e96335e79f7eb9@mail.gmail.com> <49BEC656.50702@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 16, 2009 at 5:36 PM, Tim Kientzle <kientzle@freebsd.org> wrote: > Many people consider top-posting to be rude. =A0FYI. > My comments below, where they belong. > > Cipta H wrote: >> >> Thanks for the reply, Xin. I'm aware of something called sysctl, and if >> I am accepted to work on this project, my main task is to ensure all liv= e >> network data will come from sysctl, but the only XML I know of is the >> markup language. Perhaps someone more knowledgeable can point me >> to the right resource? Thanks in advance. >> >> Cipta >> >> On Mon, Mar 16, 2009 at 3:04 PM, Xin LI <delphij@delphij.net> wrote: >> >>> I'm not very sure but I think Rui is referring XML like the GEOM >>> subsystem has used (perhaps to have the kernel expose the statistics >>> data with XML and the userland part of the library parse and return the >>> result)? > > There are two different issues: > =A0* Kernel <-> userland communications > =A0* library <-> client program communications > > There is ample precedent for the former to use sysctl > interfaces that return XML from the kernel that is then > parsed in userland. =A0In particular, this makes it much > easier to extend in the future, as long as the proposed > libnetstat library ignores data it doesn't understand. > (In the past, many tools parsed in-kernel data > structures to obtain this kind of information, which is > prone to breakage whenever the kernel changes. =A0Making > this so that kernel and tools can evolve more independently > is a major goal here.) > > For the latter, some kind of opaque C structure > makes sense, since that simplifies the client programs. > > So really this breaks down into two very different > tasks: > =A0* Designing and implementing a sysctl that returns > =A0 network statistics as an XML blob > =A0* Designing and implementing a C library that knows > =A0 how to fetch the XML blob, parse it, and return > =A0 data to client programs. > > Does this make more sense now? > > Tim > Yes, it does, Tim, thank you so much. I'll be sure to look into sysctl.h and study its ability to return XML. I will also contact Robert about this project once I finish gathering more info. Thank you all for answering my questions. Cipta P.S. Sorry about top-posting. I'll be sure to remember it from now on.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?13b997e60903161511p70ee2252qf6d594dae13e4ec>