26 lines · c
1// SPDX-License-Identifier: GPL-2.02 3#include <linux/bpf.h>4#include <bpf/bpf_helpers.h>5#include <linux/if_ether.h>6#include <linux/ip.h>7 8/* Dummy prog to test TC-BPF API */9 10SEC("tc")11int cls(struct __sk_buff *skb)12{13 return 0;14}15 16/* Prog to verify tc-bpf without cap_sys_admin and cap_perfmon */17SEC("tcx/ingress")18int pkt_ptr(struct __sk_buff *skb)19{20 struct iphdr *iph = (void *)(long)skb->data + sizeof(struct ethhdr);21 22 if ((long)(iph + 1) > (long)skb->data_end)23 return 1;24 return 0;25}26