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
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to