文档首页 > > 移植指南> 移植PF_RING

移植PF_RING

分享
更新时间:2020/08/31 GMT+08:00

介绍

简要介绍

PF_RING™是一个Linux内核模块和用户空间框架,它使您可以高速处理数据包,同时为数据包处理应用程序提供一致的API。

语言:C/C++

一句话描述:高效数据包处理框架

开源协议:LGPL-2.1

建议的版本

已在鲲鹏云服务器上验证过PF_RING-7.6.0版本,请根据实际需要选择版本。

本文档以PF_RING-7.6.0为例进行说明。

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表1所示。

表1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

版本

下载地址

CentOS

7.6

在公共镜像中已提供。

Kernel

4.14.0

包含在操作系统镜像中。

配置编译环境

  1. 安装依赖包。

    yum install flex bison kernel kernel-devel

  2. 安装完后,重启。

    reboot

获取源码

  1. 下载源码。

    wget -c https://github.com/ntop/PF_RING/archive/7.6.0.tar.gz -O PF_RING-7.6.0.tar.gz

  2. 解压。

    tar -zxvf PF_RING-7.6.0.tar.gz

编译和安装

使用GCC 7.3以上版本进行编译,GCC 7.3编译安装指导请参考https://www.huaweicloud.com/kunpeng/software/gcc.html

  1. 编译kernel模块。

    cd PF_RING-7.6.0/kernel && make && make install

  2. 加载pf_ring模块。

    insmod pf_ring.ko

  3. 编译userland中的libpcap、tcpdump。

    1. 切换到userland/lib目录并编译。

      cd ../userland/lib

      ./configure && make && make install

    2. 切换到libpcap目录并编译。

      cd ../libpcap

      ./configure && make && make install

    3. 切换到tcpdump目录并编译。

      cd ../tcpdump

      ./configure && make && make install

运行和验证

  1. 编译自带的examples。

    cd ../examples && make

  2. 使用pfcount统计端口信息。

    ./pfcount -i eth0

    回显如下:

    Using PF_RING v.7.6.0
    Capturing from eth0 [mac: FA:16:3E:B1:3E:7B][if_index: 2][speed: 0Mb/s]
    # Device RX channels: 2
    # Polling threads:    1
    Dumping statistics on /proc/net/pf_ring/stats/18549-eth0.3
    =========================
    Absolute Stats: [3 pkts total][0 pkts dropped][0.0% dropped]
    [3 pkts rcvd][532 bytes rcvd]
    =========================

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问