07 2018 档案
摘要:QoS入门,为了进一步学习DPDK上的QoS 《计算机网络的服务质量(QoS)》 林闯,单志广,任丰原 著 Background Internet的传统分组交换网络是面向非实时数据通信而设计的,典型应用例如FTP和Email。IP协议是典型的Best effort,尽力而为的服务,TCP这类可靠的传
阅读全文
摘要:首先要带 g 选项用gcc编译 常用指令:http://linuxtools rst.readthedocs.io/zh_CN/latest/tool/gdb.html gdb 带main的命令行参数进行调试:https://www.xuebuyuan.com/1694326.html
阅读全文
摘要:笔记是边读边写的旁注,比较乱,没有整理就丢上来了。 可以说不仅要说fast packet process servey,也同时是一篇packet process的综述了。packet processing,放在传统协议栈的视角中看,也就是L2、L3的一个小部分,但是细看,里面也是有特别多的内容的,在
阅读全文
摘要:代码部分 整个L3fwd有三千多行代码,但总体思想就是在L2fwd的基础上,增加网络层的根据 IP 地址进行路由查找的内容。 main.c 文件 ~~~ int main(int argc, char argv) { / ...... / / init EAL / ret = rte_eal_ini
阅读全文
摘要:代码部分 ~~~ / SPDX License Identifier: BSD 3 Clause Copyright(c) 2010 2016 Intel Corporation / include include include include include include include in
阅读全文
摘要:代码部分 ~~~ / BSD LICENSE Copyright 2017 Mellanox. Redistribution and use in source and binary forms, with or without modification, are permitted provide
阅读全文
摘要:代码部分 ~~~ / SPDX License Identifier: BSD 3 Clause Copyright(c) 2017 Intel Corporation / include include include include include include include include
阅读全文
摘要:DPDK flow_classify.c的一段代码: ~~~ size = RTE_CACHE_LINE_ROUNDUP(sizeof(struct flow_classifier_acl)); ~~~ 这个宏定义 不清楚是什么意思,也不知道在哪个文件中。得知一个宏定义的方法(DPDK的代码在 li
阅读全文
摘要:官方手册:http://pktgen dpdk.readthedocs.io/en/latest/getting_started.html 过程 1. 开机(重启) 2. 把DPDK那一套流程走一遍(环境变量设置、设置userspace I/O态、挂载大页、绑定网卡) 3. 按照官方手册上编译。pk
阅读全文
摘要:pktgen 操作手册:http://pktgen dpdk.readthedocs.io/en/latest/getting_started.html 执行到这一步时: ~~~ $ cd /tools $ ./run.py s default ~~~ 运行 run.py 后系统提示我没有对应的 c
阅读全文
摘要:这个sample是基于basicfw的。basicfw就是一个网口收到的包立即从另一个网口转发出去,非常简洁明了的程序,可以通过basicfw学习基础的DPDK发包API。RX / TX Callbacks 演示在接收和传输的数据包上使用用户定义的回调函数。 ~~~ / SPDX License I
阅读全文
摘要:学习这个例子用于理解单纯的 dpdk 转发过程,L2 和 L3 的转发是基于此:在rte_eth_rx_burst()收包后进行解包,提取 mac、ip 等信息然后在转发到输出网卡。 如果要写出自己的程序(例如发特定的包,做特定的流程),这个例子还是很有学习的必要。多看几遍,直到完全弄懂里面的流程和
阅读全文
摘要:在 DPDK Programmer's Guides 中的 EAL 一篇中有一个图可以很清晰地看到一个DPDK的应用程序的大致执行思路: 初始化检查CPU支持、微架构配置等完成后,执行main()函数。 1. 第一步是 ,核心初始化和启动。其中线程使用的是pthread库,创造线程,并设置CPU亲和
阅读全文
摘要:用户手册:https://doc.dpdk.org/guides/testpmd_app_ug/index.html 还不错的入门:http://syswift.com/188.html 我的运行情况: ~~~ root@ubuntu:/home/chang/dpdk/build/app ./tes
阅读全文
摘要:在绑定网卡到DPDK模块时 报错 :is active. Not modifying ~~~ Routing table indicates that interface 0000:02:01.0 is active. Not modifying ~~~ 解决方法: ~~~ ifconfig dow
阅读全文
摘要:1. 在虚拟机VMware上配置环境 VMware安装:http://www.zdfans.com/html/5928.html Ubuntu:https://www.ubuntu.com/download/desktop 为了更好地运行DPDK,可以多虚拟化几块网卡和CPU: 只有一张网卡是运行不
阅读全文
摘要:进入DPDK目录编译环境 ~~~ cd ~/DPDK/usertools ./dpdk setup.py ~~~ 注意,setup脚本需要在root权限下运行,并且每次重启电脑,都需要重新插入模块和绑定网卡。 在step1中选取合适的选项编译DPDK环境:[14] x86_64 native lin
阅读全文