BSD Packet filter hook,

Artis Caune ac-lists at latnet.lv
Thu Mar 25 03:00:12 PST 2004


on 4.x you can replace IPFilter hook:
...
int
my_hook (const struct ip *ip, int ip_hl, struct ifnet *ifp, int out, 
struct mbuf **m)
{
    /* drop all ;) */
    m_freem(*m);
    *m = NULL;
    return 1;
}

/* on load */
fr_checkp = my_hook;
/* on unload */
rf_checkp = NULL;
...



on 5.x (>501108) there is pfil(9) hooks:
...
int
my_hook (void *arg, struct mbuf **m, struct ifnet *ifp, int dir)
{
    /* drop all ;) */
    m_freem(*m);
    *m = NULL;
    return 1;
}

struct pfil_head *pfh_inet;
pfh_inet = pfil_head_get (PFIL_TYPE_AF, AF_INET);
if (pfh_inet == NULL)
    return EINVAL;

/* on load */
pfil_add_hook(my_hook, NULL, PFIL_IN | PFIL_OUT, pfh_inet);
/* on unload */
pfil_remove_hook(my_hook, NULL, PFIL_IN | PFIL_OUT, pfh_inet);
...



-- 
Artis

On Thu, 25 Mar 2004 11:29:23 +0100, Fuhua Yin <fuhuayin at hotmail.com> wrote:

> Dear friends,
>
> Are there anyone who know about how to use BSD Packet filter hook?,
> something like netfilter in linux. But I need to find one for FreeBSD.
>
> Many thanks  IN Advance,
> fuhua
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"


More information about the freebsd-net mailing list