26 lines
496 B
C
26 lines
496 B
C
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
#include <linux/bpf.h>
|
|
#include <bpf/bpf_helpers.h>
|
|
#include <linux/if_ether.h>
|
|
#include <linux/ip.h>
|
|
|
|
/* Dummy prog to test TC-BPF API */
|
|
|
|
SEC("tc")
|
|
int cls(struct __sk_buff *skb)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
/* Prog to verify tc-bpf without cap_sys_admin and cap_perfmon */
|
|
SEC("tcx/ingress")
|
|
int pkt_ptr(struct __sk_buff *skb)
|
|
{
|
|
struct iphdr *iph = (void *)(long)skb->data + sizeof(struct ethhdr);
|
|
|
|
if ((long)(iph + 1) > (long)skb->data_end)
|
|
return 1;
|
|
return 0;
|
|
}
|