sk_filter — run a packet through a socket filter
int sk_filter ( | struct sock * | sk, |
| struct sk_buff * | skb, | |
| int | needlock); |
sksock associated with &sk_buff
skbbuffer to filter
needlockset to 1 if the sock is not locked by caller.
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.