Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| libnetstat [2010/05/03 19:52] – Link unified diff format distribution. PáliGáborJános | libnetstat [2021/03/28 07:36] (current) – Remove Perforce repo link (NXDOMAIN) KubilayKocak | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ==== Abstract ==== | ==== Abstract ==== | ||
| - | This project is about creating wrapper libraries to support monitoring and management applications to avoid direct use of the %%FreeBSD%% kernel memory | + | This project is about creating wrapper libraries to support monitoring and management applications to avoid direct use of kvm(3) |
| ==== Description ==== | ==== Description ==== | ||
| - | The goal of this project is to help creation of wrapper libraries to support monitoring and management applications to avoid direct use of the kvm(3) device and the sysctl(8) variables in the %%FreeBSD%% kernel. | + | The goal of this project is to help creation of wrapper libraries to support monitoring and management applications to avoid direct use of the kvm(3) device and the sysctl(3) variables in the %%FreeBSD%% kernel. |
| The [[http:// | The [[http:// | ||
| - | * // | + | * // |
| * // | * // | ||
| Line 23: | Line 23: | ||
| There are three parts to be implemented: | There are three parts to be implemented: | ||
| - | * Add kernel support for exporting data in a less ABI-sensitive way, with a focus on live monitoring via the sysctl(8) interface. | + | * Add kernel support for exporting data in a less ABI-sensitive way, with a focus on live monitoring via the sysctl(3) interface. |
| - | * Write a library to present the information in an extensible way to applications. | + | * Write a library to present the information in an extensible way to applications. |
| * Update applications to use this library instead of reaching directly into the kernel internals. | * Update applications to use this library instead of reaching directly into the kernel internals. | ||
| Line 32: | Line 32: | ||
| ==== Project Tasks ==== | ==== Project Tasks ==== | ||
| + | |||
| + | === Old Features === | ||
| ^ Task ^ Status | ^ Task ^ Status | ||
| Line 40: | Line 42: | ||
| | Routing abstractions | Done (to be reviewed) | pgj | Add abstractions for routing statistics for routing tables, or routing tables for particular address family. | | | Routing abstractions | Done (to be reviewed) | pgj | Add abstractions for routing statistics for routing tables, or routing tables for particular address family. | | ||
| | MIF abstractions | Partially done (to be reviewed) | pgj | Add abstractions for IP multicast virtual-interfaces, | | MIF abstractions | Partially done (to be reviewed) | pgj | Add abstractions for IP multicast virtual-interfaces, | ||
| - | | MIF sysctl(8) support | Almost done (to be reviewed) | aman | Add sysctl(8) procedures for live monitoring multicast virtual-interfaces and routing tables. | | + | | MIF sysctl(8) support | Done (to be reviewed) | pgj | Add sysctl(8) procedures for live monitoring multicast virtual-interfaces and routing tables. | |
| | Routing sysctl(8) support | In progress | aman | Add sysctl(8) procedure for live monitoring routing tables. | | | Routing sysctl(8) support | In progress | aman | Add sysctl(8) procedure for live monitoring routing tables. | | ||
| + | | KNDS abstractions | Review in progress (pgj) | aman | Add abstractions for describing netisr(9)-related statistics. | | ||
| | netstat(1) adaptation | In progress | pgj | Adapt the netstat(1) utility to use libnetstat(3). | | | netstat(1) adaptation | In progress | pgj | Adapt the netstat(1) utility to use libnetstat(3). | | ||
| | nettop(1) | In progress | pgj | Maintain a simple top(1)-like utility for live monitoring. | | | nettop(1) | In progress | pgj | Maintain a simple top(1)-like utility for live monitoring. | | ||
| | Versioning statistics | In progress | pgj | Introduce platform-independent versioning in networking statistics. | | | Versioning statistics | In progress | pgj | Introduce platform-independent versioning in networking statistics. | | ||
| - | | libnetstat(3) manual page | In progress | + | | libnetstat(3) manual page | Not done | // |
| | Cleaning up | Not done | //none// | There are some part to be dropped (i.e. not used), and simplified by using macros, for example. | | Cleaning up | Not done | //none// | There are some part to be dropped (i.e. not used), and simplified by using macros, for example. | ||
| | Support for other protocols | Not done | //none// | Take care of SCTP, Netgraph, IPX, and %%AppleTalk%% protocol stuff. | | | Support for other protocols | Not done | //none// | Take care of SCTP, Netgraph, IPX, and %%AppleTalk%% protocol stuff. | | ||
| + | | MIF export fix | Done | aman | Kernel patches for exporting mifs and mroutes are making witness(4) alerts. | | ||
| + | | Compilation fix | Done | pgj | libnetstat(3) compiles only with //-O// at the moment due to some pointer tricks. | | ||
| + | | net/stat.h | Done | pgj | Introduce a kernel-level netstat header to collect common declarations. | | ||
| + | |||
| + | === New Features === | ||
| + | |||
| + | ^ Task ^ Status | ||
| | NIF sysctl(8) enumeration | In progress | aman | Enumerating network interfaces via sysctl(8) (similarly to ifmib(4)?). | | | NIF sysctl(8) enumeration | In progress | aman | Enumerating network interfaces via sysctl(8) (similarly to ifmib(4)?). | | ||
| - | | Handling streamed variables | + | | 64-bit counters |
| - | | MIF export fix | In progress | aman | Kernel patches | + | |
| - | | Compilation fix | In progress | pgj | libnetstat(3) compiles only with //-O// at the moment due to some pointer tricks. | | + | |
| | SNMP support | Not done | //none// | Add SNMP support to // | | SNMP support | Not done | //none// | Add SNMP support to // | ||
| | VIMAGE support | Not done | //none// | Respect virtualized network stacks, so they can be monitored independently (for example, by a -J // | | VIMAGE support | Not done | //none// | Respect virtualized network stacks, so they can be monitored independently (for example, by a -J // | ||
| Line 58: | Line 66: | ||
| ==== Code ==== | ==== Code ==== | ||
| - | The current version of the implementation can be found in the project' | + | The current version of the implementation can be found as [[http:// |
| ==== Contact ==== | ==== Contact ==== | ||
| Line 64: | Line 72: | ||
| Feel free to contact any or all of the contributors in the project. | Feel free to contact any or all of the contributors in the project. | ||
| - | * Robert Watson | + | * RobertWatson |
| - | * Gábor Páli (initial implementation | + | * PáliGáborJános |
| - | * Aman Jassal | + | * AmanJassal |
| - | * Mark Nesterovych (documentation, | + | |
| + | ==== Past Contributors ==== | ||
| - | We usually have regular weekly meetings on # | + | * MarkNesterovych |