[RFC] BPF timestamping

Kostik Belousov kostikbel at gmail.com
Wed Jun 9 19:16:58 UTC 2010


On Wed, Jun 09, 2010 at 02:44:47PM -0400, 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
> 
> (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.)
> 
> 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.
Putting COMPAT_FREEBSD32 under BURN_BRIDGES feels somewhat strange.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20100609/1c143c96/attachment.pgp


More information about the freebsd-net mailing list