From owner-soc-status@FreeBSD.ORG Mon Jun 29 11:31:28 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 47E7F1065670; Mon, 29 Jun 2009 11:31:28 +0000 (UTC) (envelope-from pali.gabor@googlemail.com) Received: from mail-bw0-f216.google.com (mail-bw0-f216.google.com [209.85.218.216]) by mx1.freebsd.org (Postfix) with ESMTP id 68EEB8FC22; Mon, 29 Jun 2009 11:31:27 +0000 (UTC) (envelope-from pali.gabor@googlemail.com) Received: by bwz12 with SMTP id 12so269536bwz.43 for ; Mon, 29 Jun 2009 04:31:26 -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=sG2OhiY5efuY8goayzQEA5/YK7ZAehMZRUOtoajzDVY=; b=Xe5dcopJzKARohLpcN5dejMDQoU8rzj4dhqRdBLDJ0ruvnXTMr3BDrwfwh7H+tSkyE EAtYALW6N+wC6kFecyzRgn9FyGMfLq6ShpFQQIV5zJN7TJz6f2/3yOCkn7Sx02MSoIP8 SsG62CqKngwpgGOR2raE4PosCaNEwRvMl3o10= 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=j1Ux4oNpUJGkubn7hFisWGiiT1pz+0CEqPUHcSNbEK2yEd9N4rJJAZFpdu2jZq1tk+ kwEQtZvAyu+akc4R/KWz8PDLhpOZnZTygKW6wtWYxCGnnyRWshHzdQ1kEZ/BhVOOKWb3 lB/OboWiX0MwTEqWliV5R0DSak0DLXzYhq3sI= MIME-Version: 1.0 Sender: pali.gabor@googlemail.com Received: by 10.223.115.193 with SMTP id j1mr4346481faq.98.1246275086328; Mon, 29 Jun 2009 04:31:26 -0700 (PDT) Date: Mon, 29 Jun 2009 13:31:26 +0200 X-Google-Sender-Auth: 9c1d970a67444f24 Message-ID: <685a6ef80906290431n6c44810ene697821058e4b6e4@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 status 4 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: Mon, 29 Jun 2009 11:31:28 -0000 Hello, In the last week, I mainly worked on how to pass information from kernel space to user space in a less ABI-sensitive way. I experimented with the previously established abstractions for representing (unix domain, inet) sockets, and adapted the technique that libmemstat(3) uses for vm.zone_stats. To achieve this, the following things have been done: - Standardize width of properties (by using u_intXX_t types) in libnetstat, adjust applications. - Create an initial version of the streamed pcblists (for both net.local and net.inet) as "spcblist" sysctl(8) nodes. Note that pcblist nodes still exist (for compatbility and for running the originial tools). - Modify libnetstat to use spcblist structures for monitoring connections. The model, as it has been implemented so far, seems to be working fine. Note that the streamed structures contain less information than their pcblist counterparts since many of the structure members are not used in the library, however there can be added more easily when needed. This decision also resulted a more compact transmission from kernel to userland. I see some further options for enhancements, so I would like to work on them in this week. My mentor suggested to think about the different possible usage patterns of the libnetstat API, so it would be also fruitful to "group" accessor functions. In the meanwhile, I will be working on an ABI-independent solution for extracting information from kvm images, however, I will need to consult Robert Watson regarding this to see how libmemstat(3) tries to solve this problem (or it solves at all). Cheers, :g