Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Jun 2010 14:04:41 -0500
From:      Guy Helmer <ghelmer@palisadesystems.com>
To:        Jung-uk Kim <jkim@freebsd.org>
Cc:        freebsd-net@freebsd.org
Subject:   Re: [RFC] BPF timestamping
Message-ID:  <95304DD4-3F41-4439-BD54-6E31D0445FEC@palisadesystems.com>
In-Reply-To: <201006091444.50560.jkim@FreeBSD.org>
References:  <201006091444.50560.jkim@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 9, 2010, at 1:44 PM, Jung-uk Kim wrote:

> bpf(4) can only timestamp packets with microtime(9).  I want to expand 
> it to be able to use different format and resolution.  The patch is 
> here:
> 
> http://people.freebsd.org/~jkim/bpf_tstamp.diff
> 
> With this patch, we can select different format and resolution of the 
> timestamps.  It is done via ioctl(2) with BIOCSTSTAMP command.  
> Similarly, you can get the current format and resolution with 
> BIOCGTSTAMP command.  Currently, the following functions are 
> available:
> 
> 	BPF_T_MICROTIME		microtime(9)
> 	BPF_T_NANOTIME		nanotime(9)
> 	BPF_T_BINTIME		bintime(9)
> 	BPF_T_MICROTIME_FAST	getmicrotime(9)
> 	BPF_T_NANOTIME_FAST	getnanotime(9)
> 	BPF_T_BINTIME_FAST	getbintime(9)
> 	BPF_T_NONE		ignore time stamps
> 

I like this idea.  I've been using getmicrotime(9) myself.

> (Note: Additionally, there is an experimental machanism to tag packets 
> with timestamps in struct bintime format via mbuf_tags(9) from lower 
> layer, e.g., device driver.  However, I didn't test it because I 
> wasn't sure whether this is the right thing to do.)

Not sure about this.

> While I was here, I moved the bogus SIZEOF_BPF_HDR macro into bpf.c 
> and tried to make it little bit more correct.  For example, the 
> 32-bit shim should be able to handle alignment more properly for 
> non-Ethernet DLTs.  I tried my best not to break ABI/API (especially 
> for 32-bit platforms) and relevant places are all marked with 
> BURN_BRIDGES.

Not sure about this either.

Guy



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?95304DD4-3F41-4439-BD54-6E31D0445FEC>