- 博客(17)
- 收藏
- 关注
原创 CPU大小端和网络序的理解
不同Endian的CPU,从内存读取数据的时候,按自己的Endian模式转换数据,放入CPU的寄存器reg中,假如寄存器是32bits,此时寄存器bit31存储数据的MSB高位,即寄存器bit[31-0]符合我们人类的阅读顺序(我们程序中定义的变量,是在CPU寄存器完成操作,因此在编程时对变量值的赋值或者读取是符合人类阅读顺序的)。数据从CPU写入到内存,同样需要类似的转换。Adminq中的data,对应的是网卡内部的Memory,可能是u32,u16,u8类型,软件要选择和硬件对齐的数据类型来定义。
2023-07-05 11:26:00
476
原创 ixgbe网卡Linux内核驱动收发包机制 示意图
ixgbe是intel在linux内核中的驱动代码,其收发包的示意图如下。Intel的收发两个方向队列,用同一个中断源,所以tx之后的skb在rx的poll中回收。网卡驱动程序和Linux的设备控制内核架构有很大关系,pcie的设备管理,netdev的管理,同时还有中断注册,netdev ops和ethtool ops等等,都是在linux系统平台上有成熟的框架,驱动程序仅仅是适配这些框架的接口。网卡硬件可能仅仅支持多个队列,也可能支持很多队列,本示意图仅仅以2个队列为例。...
2021-07-15 18:04:34
845
原创 DPDK学习记录14 - 内存申请2之rte_memzone_reserve
DPDK学习记录13 - 内存申请2之rte_memzone_reserve
2020-05-21 15:15:30
2874
原创 DPDK学习记录13 - 内存申请1之malloc_heap_alloc
1 rte_malloc_socketrte_malloc / rte_calloc等申请内存的rte函数,都会调用到rte_malloc_socket。我们来看看rte_malloc_socket申请内存的过程。2
2020-05-10 22:54:31
2032
原创 DPDK学习记录12 - 内存初始化5之rte_eal_malloc_heap_init
DPDK学习记录12 - 内存管理初始化5之rte_eal_malloc_heap_init
2020-05-07 16:51:50
1011
原创 DPDK学习记录10 - 内存初始化3之rte_eal_memseg_init
DPDK学习记录10 - 内存管理初始化3之memseg_primary_init
2020-05-01 11:23:49
1901
原创 DPDK学习记录8 - 内存初始化1之共享mem_config和hugepage_info
内存管理的配置和大页信息是进程间共享的,由主进程创建并共享给其他进程。1 rte_config_init -> rte_eal_config_create1.1 mem_config作为内存的配置,挂在全局变量rte_config.mem_config下面,其结构体主要成员如下:struct rte_mem_config { volatile uint32_t magic; /...
2020-04-25 23:37:44
1365
1
原创 DPDK学习记录7 - eth dev初始化3之after rte_eal_init
DPDK学习记录7 - ether dev初始化3之after rte_eal_init
2020-04-21 18:10:15
1436
2
原创 DPDK学习记录6 - eth dev初始化2之rte_eal_init
DPDK学习记录6 - ether dev初始化2之rte_eal_init
2020-04-13 10:08:24
2309
1
原创 DPDK学习记录5 - eth dev初始化1之before main
DPDK学习记录5 - ether dev初始化1之before main
2020-04-09 13:43:10
994
原创 DPDK学习记录4 - rte_eth_tx_burst如何发送报文
DPDK学习记录4 - rte_eth_tx_burst如何发送报文1 gdb调试发送函数1.11.21.32 发送示意图
2020-04-08 12:45:03
6124
原创 DPDK学习记录2 - Helloworld sample 编译和gdb调试
欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体...
2020-02-02 23:52:15
1128
原创 DPDK学习记录1 - 环境搭建
Virtual Box + ubuntu Linux 虚拟机环境搭建主机: Macbook ProDPDK在Linux虚拟机上的配置和运行
2019-06-04 06:57:31
1693
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人