DPDK学习

DPDK是一个数据面开发工具,用于加速多核处理器上的packet处理。本文详细介绍了DPDK的编译要求、运行环境、核心组件、以太网驱动架构、包转发算法以及内存管理和多线程支持。涉及Linux环境配置、 Hugepages使用、EAL(Environment Abstraction Layer)的功能,还涵盖了DPDK的内存管理、日志、跟踪调试和用户空间中断事件处理等关键概念。
摘要由CSDN通过智能技术生成

DPDK: DPDK是数据面的开发工具,包含许多函数库,在多变的CPU架构中加速packet工作负载的处理。
Linux用户手册:
    DPDK编译:
        需要的工具和函数库:
            1:通用开发工具和make,支持C的编译器例如gcc(版本4.9以上)或者clang(版本3.4以上)
            2:python,建议版本为3.5或以上
            3:3Meson和ninja,使用pip3 install meson ninja 安装
            4:numa函数库,RHEL上名字是numactl-devel,Ubuntu上名字是libnuma-dev 
            5:内核头文件或者用于构建模块的源代码
        可选工具:
            Intel C++编译器(icc)
            IBM高级工具链
        其他函数库:
            libarchive
            libelf:
    运行DPDK程序
        系统软件:
            内核版本 >= 3.16
            glibc >= 2.7  ldd --version命令查看版本
            内核配置项,在Fedora、Ubuntu等系统,已经配置了支持DPDK运行的选项,对于其他系统,可以
            通过设置 HUGETLBFS PROC_PAGE_MONITOR选项来支持DPDK。
            
        在Linux环境中使用Hugepages:
            hugepage的分配操作需要在系统启动时完成,为了实现该目的,hugepages参数需要传递给Linux内核.
            例如,假如对于2M的page,希望保留1024页,参数为hugepages=1024。
            还可以手动指定page的大小,通过以下参数实现:
            default_hugepagesz=1G hugepagesz=1G hugepages=4.
            
        DPDK使用hugep

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值