netgraph question : how to intercept incoming IP packets of a
certain type?
Ruslan Ermilov
ru at freebsd.org
Wed Mar 2 04:38:38 PST 2005
On Tue, Mar 01, 2005 at 10:47:07PM -0500, Aziz KEZZOU wrote:
> Hi folks,
> Here is what I want to do : "Intercept all incoming IP packets on an
> Ethernet interface of a certain type (e.g RSVP) and call my own
> function to process, all inside the kernel"
>
> Netgraph nodes : ng_iface, nf_bpf (and probably ng_ether) look
> promising for this task but I can not figure out how to do it in
> practice...
>
> Any help is appreciated. Thanks,
>
I thought Julian already answered this...
You can do this with ng_ipfw(4) in -CURRENT. Or you can filter
(with ng_bpf(4)) the packets of interest and forward them
somewhere. Example:
+---v
| (upper)
| rl0: [ng_ether]
| (lower)
| ^
| |
| v
| (lower)
| bpf_rl0: [ng_bpf]
| (upper)
+---^
[bpf] should be configured to forward matching packets received on
"lower" to some other hook, and non-matching packets to "upper".
Similarly for packets received on "upper", forward packets of
interest to some other hook, and non-matching packets to "lower".
Cheers,
--
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20050302/ebc95f5b/attachment.bin
More information about the freebsd-net
mailing list