15、XDP 编程指南:从加载到测试与应用

XDP 编程指南:从加载到测试与应用

1. 验证加载的 XDP 程序

在加载 XDP 程序后,需要验证其是否按预期工作。可以通过在外部机器上再次执行 nmap 命令来观察端口 8000 是否不再可达:

# nmap -sS 192.168.33.11

也可以尝试通过浏览器访问该程序或进行任何 HTTP 请求,以 192.168.33.11 为目标的任何测试都应该失败。

如果需要将机器恢复到原始状态,可以分离程序并关闭设备的 XDP:

# ip link set dev enp0s8 xdp off

使用 iproute2 作为加载器时,加载 XDP 程序相对容易。不过,这些程序实际上是 BPF 程序,除了 iproute2,还可以使用 BCC 或直接使用 bpf 系统调用加载程序。自定义加载器的优点是可以管理程序的生命周期及其与用户空间的交互。

2. 使用 BCC 加载 XDP 程序

XDP 程序可以使用 BCC 进行编译、加载和运行。以下是一个使用 BCC 自定义用户空间加载器的 XDP 程序示例,该程序在丢弃 TCP 数据包的同时统计遇到的数据包数量。

2.1 内核空间程序 program.c
#define KBUILD_MODNAME "program"
#include <linux/bpf.h>
#includ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值