add bpfstat - a program to retrieve bpf statistics

Submitted by:	csjp
This commit is contained in:
Oliver Lehmann 2005-07-31 01:16:03 +00:00
parent adb2f7b997
commit 5c2769e40e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=140512
5 changed files with 91 additions and 0 deletions

View file

@ -54,6 +54,7 @@
SUBDIR += boclient
SUBDIR += boinc-client
SUBDIR += bounce
SUBDIR += bpfstat
SUBDIR += brutecopy
SUBDIR += bsdproxy
SUBDIR += bsflite

25
net/bpfstat/Makefile Normal file
View file

@ -0,0 +1,25 @@
# New ports collection makefile for: bpfstat
# Date created: 27 July 2005
# Whom: Christian S.J. Peron <csjp@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= bpfstat
PORTVERSION= 1.0
CATEGORIES= net
MASTER_SITES= http://people.freebsd.org/~csjp/
MAINTAINER= csjp@FreeBSD.org
COMMENT= Program to retrieve bpf statistics
MAN8= bpfstat.8
PLIST_FILES= sbin/bpfstat
.include <bsd.port.pre.mk>
.if ${OSVERSION} < 600033
IGNORE= will only work on systems >= 600033
.endif
.include <bsd.port.post.mk>

2
net/bpfstat/distinfo Normal file
View file

@ -0,0 +1,2 @@
MD5 (bpfstat-1.0.tar.gz) = 2923d3b59adf222e78d11823d31e0a93
SIZE (bpfstat-1.0.tar.gz) = 3442

57
net/bpfstat/lala Normal file
View file

@ -0,0 +1,57 @@
@@ -33,7 +33,7 @@
*
* @(#)bpfdesc.h 8.1 (Berkeley) 6/10/93
*
- * $FreeBSD: /tmp/pcvs/ports/net/bpfstat/Attic/lala,v 1.1 2005-07-31 01:16:03 oliver Exp $
+ * $FreeBSD: /tmp/pcvs/ports/net/bpfstat/Attic/lala,v 1.1 2005-07-31 01:16:03 oliver Exp $
*/
#ifndef _NET_BPFDESC_H_
@@ -42,6 +42,8 @@
#include <sys/callout.h>
#include <sys/selinfo.h>
#include <sys/queue.h>
+#include <sys/conf.h>
+#include <net/if.h>
/*
* Descriptor associated with each open bpf file.
@@ -90,6 +92,9 @@ struct bpf_d {
struct mtx bd_mtx; /* mutex for this descriptor */
struct callout bd_callout; /* for BPF timeouts with select */
struct label *bd_label; /* MAC label for descriptor */
+ u_long bd_fcount; /* number of packets which matched filter */
+ pid_t bd_pid; /* PID which created descriptor */
+ char bd_pcomm[MAXCOMLEN + 1];
};
/* Values for bd_state */
@@ -121,6 +126,27 @@ struct bpf_if {
u_int bif_hdrlen; /* length of header (with padding) */
struct ifnet *bif_ifp; /* corresponding interface */
struct mtx bif_mtx; /* mutex for interface */
+};
+
+/*
+ * External representation of the bpf descriptor
+ */
+struct xbpf_d {
+ u_char bd_promisc;
+ u_char bd_immediate;
+ int bd_hdrcmplt;
+ int bd_seesent;
+ int bd_async;
+ u_long bd_rcount;
+ u_long bd_dcount;
+ u_long bd_fcount;
+ int bd_sig;
+ int bd_slen;
+ int bd_hlen;
+ int bd_bufsize;
+ pid_t bd_pid;
+ char bd_ifname[IFNAMSIZ];
+ char bd_pcomm[MAXCOMLEN + 1];
};
#define BPFIF_LOCK(bif) mtx_lock(&(bif)->bif_mtx)

6
net/bpfstat/pkg-descr Normal file
View file

@ -0,0 +1,6 @@
The bpfstat utility will print statistics associated with active bpf(4)
devices. These statistics contain information about device state as well
as packets which have been received, dropped or matched by the bpf filter
program.
WWW: http://people.freebsd.org/~csjp/