使用方法
网卡配置
# 修改网卡MTU
[root@openEuler ~]# ifconfig ens33 mtu 4200
# ens33上增加一个rxe接口,提供IB功能
[root@openEuler ~]# rdma link add rxe_0 type rxe netdev ens33
开发应用实例
首先需要基于CTinspector框架,调用相应接口开发特定场景的应用。其次将该应用实例编译构建成基于ebpf指令集的二进制ELF文件。以CTinpsector自带的ebpf_example中vm_migrate为例进行说明,vm_migrate调用CTinpsector框架,可以在不同节点之间不断迁移packet VM,可以从上一个节点迁移时的运行位置在下一个节点接着运行。
# 编写Makefile并设置ebpf指令集
CFLAGS=-O2 -fno-inline -emit-llvm -I/usr/include/ctinspector/
LINKFLAGS=-march=bpf -filetype=obj
all: vm_migrate.o
vm_migrate.o:
clang $(CFLAGS) -c migrate.c -o - | llc $(LINKFLAGS) -o vm_migrate.o
clean:
rm -f vm_migrate.o
# make进行编译构建
[root@openEuler ~]# make
clang -O2 -fno-inline -emit-llvm -I/usr/include/ctinspector/ -c migrate.c -o - | llc -march=bpf -filetype=obj -o vm_migrate.o
运行应用实例
Node 1上运行vm_migrate Node 2上运行CTinpsect主程序
文档捉虫