Date: Tue, 02 Feb 2010 14:47:57 +1100 From: Lawrence Stewart <lstewart@freebsd.org> To: Lukasz Jaroszewski <lvj@nietykalni.org> Cc: freebsd-hackers@freebsd.org Subject: Re: PFIL: how to get tcp/ip fields from mbuf Message-ID: <4B67A06D.10405@freebsd.org> In-Reply-To: <3930e0781002010302r3758968cl5f010bd7a585cca4@mail.gmail.com> References: <3930e0781002010302r3758968cl5f010bd7a585cca4@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 02/01/10 22:02, Lukasz Jaroszewski wrote:
> Hello,
> I am wondering about most elegant and proper way to get IP header
> fields from mbuf, using PFILs. I have read Murat Balaban paper on
> PFIL_HOOKS where I found some example function. Question is how can I
> access IP header field in such manner.
>
> static int
> hisar_chkinput(void *arg, struct mbuf **m, struct ifnet *ifp, int dir,
> struct inpcb *inp)
> {
> in_bytes += (*m)->m_len;
> return 0;
> }
I hacked on a tool that uses pfil hooks to do in-kernel TCP data
gathering. Probably has some useful snippets for you to look at in
addition to Robert's suggestion.
http://svn.freebsd.org/base/projects/tcp_ffcaia2008_head/sys/netinet/siftr.c
Cheers,
Lawrence
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B67A06D.10405>
