/linux-bpf-learning

learn how to use BPF/eBPF

Primary LanguageCMIT LicenseMIT

学习Linux BPF/eBPF 编程

打造学习BPF知识的中文社区。学习计划如下: bpf-learning-path

相关博文参考

实验环境准备

  • Linux操作系统,推荐使用最新稳定内核版本.

    本人自己的实验环境是Ubuntu 18.04标准版vagrant虚拟机,内核版本为4.15.0。可以从这里下载该vagrant虚拟机环境,已安装bcc工具集合:

    下载链接: https://pan.baidu.com/s/11dsEU6Yk6KGDGNor-fbsgQ 提取码: qvhc。 使用方式可以参考这篇文章

    以下命令如无特殊说明,均在Ubuntu环境下测试执行。

  • 预装clang、LLVM、iproute2、libelf-dev

    # for ubuntu
    apt install clang llvm libelf-dev iproute2
    # test clang
    clang -v
    # test llvm
    llc --version
    # test iproute2
    ip link
  • bpftool命令行安装说明

    下载Linux内核源码,进行本地编译。

    # 确认内核版本
    uname -r
    # 找到对应内核版本的源代码
    apt-cache search linux-source
    apt install linux-source-5.3.0
    apt install libelf-dev
    
    cd /usr/src/linux-source-5.3.0
    tar xjf linux-source-5.3.0.tar.bz2
    cd linux-source-5.3.0/tools
    make -C  bpf/bpftool/
    cd bpf/bpftool/
    ./bpftool prog/net

目录说明

参考材料