
├── PART1
│ ├── 01.dpdk网络协议栈之arpicmp的实现(10节)
│ │ ├── 1–课程学习路线与大纲内容
│ │ ├── 2–dpdk环境搭建与多队列网卡
│ │ ├── …
│ │ ├── 6–dpdk-arp实现
│ │ ├── …
│ │ ├── 8–dpdk-icmp实现
│ │ └── …
│ ├── 02.dpdk网络协议栈之udptcp的实现(10节)
│ │ ├── 11–arp request实现
│ │ ├── …
│ │ ├── 14–udp实现之udp系统api的设计
│ │ ├── …
│ │ ├── 18–tcp 三次握手实现之dpdk tcp流程架构设计
│ │ └── …
│ ├── 03.dpd网络协议栈之tcp的实现(10节)
│ │ ├── 21–tcp数据传输之ack与seqnum的确认实现
│ │ ├── …
│ │ ├── 23–tcp协议api实现之bind,listen的实现
│ │ ├── …
│ │ ├── 25–tcp协议api实现之send,recv的实现
│ │ └── …
│ ├── 04.dpdk基础组件(10节)
│ │ ├── 31–kni抓包调试tcpdump
│ │ ├── …
│ │ ├── 34–dpdk dns处理流程(1)
│ │ ├── …
│ │ ├── 37–dpdk ddos熵计算代码实现
│ │ ├── …
│ │ └── 40–dpdk 布谷鸟hash原理与使用
│ ├── 05.可扩展的矢量数据包处理框架VPP(cc++) 实战(8节)
│ │ ├── 41–vpp环境部署与vpp命令讲解
│ │ ├── …
│ │ ├── 43–flowtable的plugin的运行流程
│ │ ├── …
│ │ ├── 47–vpp多网口数据接收与转发
│ │ └── …
│ ├── 06.可扩展的矢量数据包处理框架VPP(cc++) 源码(8节)
│ │ ├── 49–vpp启动load so,注册node,函数init
│ │ ├── 50–vpp的运行流程 协程的实现,node的运行
│ │ ├── …
│ │ ├── 54–vppcom实现tcpserver以及vcl配置
│ │ └── …
│ ├── 07.golang的网络开发框架 nff-go(golang)(4节)
│ │ ├── 57–nff-go的技术原理分析
│ │ ├── 58–nff-go数据接收代码实现
│ │ ├── …
│ │ └── 60–ipsec协议解析与strongswan的ipsec
│ ├── 08.高效磁盘io读写 spdk(C)(5节)
│ │ ├── 61–存储框架spdk,为技术栈打开一扇存储的大门
│ │ ├── 62–spdk环境与vhost,NVMe分析
│ │ ├── …
│ │ └── 65–nvme与pcie以及手写nvme读写操作
│ └── 09.高效磁盘io读写 spdk(C)(4节)
│ ├── 66–bdev与blobstore的代码关系
│ ├── 67–blobstore的读写操作实现与rpc的关系
│ ├── …
│ └── 69–fio ioengine模块开发与blobl操作
└── PART2
├── 10.DPDK的虚拟交换机框架 OvS(8节)
│ ├── 70–硬件虚拟化,系统虚拟化,进程虚拟化
│ ├── …
│ ├── 72–ovs编译安装,ovs核心组件内容
│ ├── …
│ └── 77–ovs-openflow与json请求
├── 11.virtio-vhost虚拟化(10节)
│ ├── 78–virtio与vhost的工作原理
│ ├── 79–vhost与qemu通信协议实现
│ ├── …
│ ├── 84–gpa,gva,hva,hpa之间的关系
│ └── …
├── 12.基础组件(5节)
│ ├── 88–mempool与mbuf的源码分析讲解
│ ├── 89–dpdk-ringbuffer源码分析
│ ├── …
│ └── 92–rcu的实现与互斥锁,自旋锁,读写锁
├── 13.tcp并发(5节)
│ ├── 93–tcp并发连接的设计
│ ├── 94–tcp并发epoll的实现
│ ├── 95–tcp并发协议栈与epoll的回调与并发测试
│ └── …
├── 14.spdk文件系统实现(7节)
│ ├── 98–文件系统功能拆解与设计分析
│ ├── …
│ ├── 100–文件系统四层架构设计与构建git版本管理
│ ├── …
│ └── 104–测试用例与调试入口函数
├── 15.高性能4层负载均衡器 DPVS(6节)
│ ├── 106–dpvs的技术组件与功能实现
│ ├── 107–dpvs 与lvs+keepalived的关系
│ ├── 108–dpvs的FNat NAT SNAT模式
│ └── …
├── 16.TRex-iperf3-dpdk-pktgen(4节)
│ ├── 112–vcl与iperf3性能测试 客户端与服务器
│ ├── 113–TRex的运行原理与dpdk的关系
│ ├── …
│ └── 115–dpdk-pktgen命令讲解
└── 17.spdk kv存储的实现(8节)
├── 116–KV存储拆解 Set, Get, Mod, Del
├── 117–bdev与blob对于kv存储的选择
├── 118–kv service接口 set,get,modify,delete
├── …
└── 123–kv存储测试用例与性能测试