Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Mar 2005 14:38:46 +0200
From:      Ruslan Ermilov <ru@freebsd.org>
To:        Aziz KEZZOU <opensource.enthousiat@gmail.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: netgraph question : how to intercept incoming IP packets of a certain type?
Message-ID:  <20050302123846.GC47110@ip.net.ua>
In-Reply-To: <37e131660503011947346b94fb@mail.gmail.com>
References:  <37e131660503011947346b94fb@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--2/5bycvrmDh4d1IB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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"
>=20
> 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...
> =20
> Any help is appreciated. Thanks,
>=20
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,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

--2/5bycvrmDh4d1IB
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQFCJbPWqRfpzJluFF4RAsR1AJ96yk8iSHvAhRNoIQE4OiMJT4+/aACgjEKh
Ls2NOcNL7Ug4sbiyA4Ada4Y=
=Y0r1
-----END PGP SIGNATURE-----

--2/5bycvrmDh4d1IB--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050302123846.GC47110>