Name

sk_filter — run a packet through a socket filter

Synopsis

int sk_filter (struct sock * sk, struct sk_buff * skb, int needlock);

Arguments

sk

sock associated with &sk_buff

skb

buffer to filter

needlock

set to 1 if the sock is not locked by caller.

Description

Run the filter code and then cut skb->data to correct size returned by sk_run_filter. If pkt_len is 0 we toss packet. If skb->len is smaller than pkt_len we keep whole skb->data. This is the socket level wrapper to sk_run_filter. It returns 0 if the packet should be accepted or -EPERM if the packet should be tossed.