eBPF:eBPF实验

时间:2021-03-18 00:19:11
【文件属性】:
文件名称:eBPF:eBPF实验
文件大小:2.5MB
文件格式:ZIP
更新时间:2021-03-18 00:19:11
C eBPF eBPF实验 什么是eBPF? eBPF(扩展的Berkley数据包过滤器)是一种旨在在Linux内核中安全执行。 它是: 具有大量代码路径分析的验证程序 内核解释器 即时编译器 潜在的处理器卸载机制 它在多个地方使用以向内核提供运行时可配置的代码注入。 如何创建eBPF? 可以直接创建eBPF机器代码(64位指令),然后通过bpf系统调用将其注入内核。 甚至在用户区C程序中甚至都有用于合成指令的宏。 但是,通常更容易用高级语言指定eBPF程序。 最常见的是“ C”,将LLVM编译器工具与“ bpf”计算机目标一起使用。 如何与eBPF程序进行交互? eBPF程序附加到内核中的各种钩子上。 他们本质上是事件处理程序。 从内核挂钩中调用它们,并为其指定特定于挂钩类型的上下文对象。 它们返回结果代码,其含义由挂钩类型定义。 eBPF验证程序可确保代码始终终止,并且永远不
【文件预览】:
eBPF-main
----.gitignore(457B)
----trace.md(19KB)
----README.md(3KB)
----setup.md(6KB)
----http()
--------hello_fcgi.c(293B)
--------README.md(5KB)
--------link_fcgi.c(20KB)
--------ebpf_map.c(22KB)
--------html()
--------fcgi.h(3KB)
--------ebpf_fcgi.c(16KB)
--------Makefile(855B)
----eBPF.md(4KB)
----link_demo.md(2KB)
----LICENSE(34KB)
----include()
--------code.h(4KB)
--------link.h(2KB)
----link_demo.sh(400B)
----XDP()
--------drop_kern.c(311B)
--------link_kern.c(15KB)
--------bpf_helpers.h(21KB)
--------code.c(5KB)
--------README.md(8KB)
--------bpf_rlimit.h(907B)
--------map_array_kern.c(1KB)
--------ait_user.c(9KB)
--------link_user.c(13KB)
--------nprocs.c(288B)
--------ait_kern.c(11KB)
--------bpf_rand.h(3KB)
--------live_kern.c(5KB)
--------multi_kern.c(696B)
--------bpf_util.h(1KB)
--------Makefile(2KB)
--------pass_kern.c(383B)
--------ethertype_kern.c(880B)
--------print_kern.c(1KB)
--------bpf_endian.h(3KB)
----link_state.sh(394B)
----img()
--------link_demo_cfg.png(2.2MB)
----proto()
--------bstr.c(10KB)
--------client.c(3KB)
--------link.c(18KB)
--------util.c(1KB)
--------code.c(14KB)
--------README.md(3KB)
--------getmacs.c(840B)
--------util.h(653B)
--------resources.md(1KB)
--------server.c(2KB)
--------ait.c(13KB)
--------json.c(8KB)
--------code.h(764B)
--------proto.h(2KB)
--------proto.c(14KB)
--------bstr.h(2KB)
--------json.h(2KB)
--------Makefile(966B)
--------live.c(8KB)

网友评论