Run a packet through a socket filter
int sk_filter(struct sock * sk, struct sk_buff * skb);
sk
sock associated with sk_buff
skb
buffer to filter
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.