sk_filter_trim_cap — run a packet through a socket filter
int sk_filter_trim_cap ( | struct sock * sk, |
struct sk_buff * skb, | |
unsigned int cap) ; |
struct sock * sk
sock associated with &sk_buff
struct sk_buff * skb
buffer to filter
unsigned int cap
limit on how short the eBPF program may trim the packet
Run the eBPF program and then cut skb->data to correct size returned by the program. 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 BPF_PROG_RUN. It returns 0 if the packet should be accepted or -EPERM if the packet should be tossed.