#include __attribute__((section("bpf_ingress"), used)) int bpf_prog(void *ctx) { return 2; // drop skb } |
1.编译指令
clang -O2 -g -target bpf -c bpf_test.c -o bpf_test.o |
2.加载bpf指令
tc qdisc add dev vxlan100 clsact
tc filter add dev vxlan100 ingress bpf da obj bpf_test.o sec bpf_ingress
tc filter show dev vxlan100 ingress
|
3.删除bpf prog指令
tc filter del dev vxlan100 ingress
tc qdisc del dev vxlan100 clsact
|
测试
测试环境:
在两台机器之间预先建立vxlan连接。
测试步骤:
1.右边机器ping左边窗口地址,ping success;
2.编译bpf prog;
3.加载bpf prog;
4.右边机器ping左边窗口地址,ping fail;
5.移除bpf prog;
6.右边机器ping左边窗口地址,ping success;