美文网首页
寻找网卡初始化的地方

寻找网卡初始化的地方

作者: VChao | 来源:发表于2019-07-19 09:27 被阅读0次

2019/07/18
今天算是真正深入DPDK的文件中查看源码,真的是发现了很多很多,它使用的技巧,具体的内容现在一时也说不清楚,就一点一点记录把。


  1. 入口点
    rte_eal_init->rte_bus_scan
    进入这个函数的文件之后,发现它使用了一个rte_bus_list的变量,但怎么也找不到具体的定义。
    最后发现,librte_eal/common/include/rte_bus.h:TAILQ_HEAD(rte_bus_list, rte_bus)
    这个宏就是定义这个东西的,TAILQ[2]是linux的头文件,所以一直我都找不到这个宏的定义。

  2. 各种设备的初始化
    对于各种设备的初始化,他们的那个数组我一直都找不到具体的初始化过程;后来发现是GCC的一种形式,就是在main函数之前就进行了相关内容的初始化,这一块我不是非常理解。他可以在main之前执行没问题,但最后执行的时候为什么能包含那一块,这个问题就是相关的编译和链接的问题。

  3. 网卡初始化[1]
    这个应该是我看的最早的一篇,但是这篇文章基于DPDK的版本很早了,所有代码基本上都不一样了。
    不过最重要的,还是前面2中提到的,这个函数能够在main函数执行前就跑了。(疑问,那内核模块也是这么跑的?)

4.关于GCC编译
对于2中main函数之前执行相关函数,需要相关的属性定义[3]

5.DPDK初始化相关的内容
[4][5][6][7][8][9]

  1. 网卡驱动与PCI设备等一系列内容的关系
    文章[10][11]从内核的角度,解释了所有设备进行注册的过程,这个里面的内容呢,跟我在查看DPDK的源码过程中得到的认知是相仿的。但是这一块内容,怎么说呢,我只需要知道这样一个流程就可以了,并不需要进行深入理解。

所以按照这么来理解,最开始的全局变量,一般是设备,网卡设备,这些都是驱动部分先进行注册,然后将这些内容挂载在具体的部分。先是bus_scan,然后是bus_probe。

参考文献

[1][DPDK收发包处理流程-----(一)网卡初始化
[2]queue.h中TAILQ_QUEUE的解析
[3]attribute中constructor和destructor
[4]DPDK源码学习——初始化
[5]DPDK初始化分析(一)
[6]http://blog.chinaunix.net/uid/28541347/cid-222786-list-2.html
[7]dpdk源码(16.04)分析--端口初始化
[8]DPDK学习(网卡初始化)
[9]DPDK的RTE_INIT初始化
[10]Linux网卡驱动学习(一)
[11]Linux网卡驱动学习(二)

相关文章

  • 寻找网卡初始化的地方

    2019/07/18今天算是真正深入DPDK的文件中查看源码,真的是发现了很多很多,它使用的技巧,具体的内容现在一...

  • 安装docker 后初始化 swarm

    安装docker 后初始化 swarm 初始化 swarm 指定网卡 删除 swarm 如果删除失败。可以清空 /...

  • 大华条码秤系统对接

    初始化网卡IP地址 待机状态--按《功能》--按《9》《0》《0》《1》--按《确认》 初始化的IP地址为:192...

  • 1. 网卡收包

    网卡收包 内核网络模块如何初始化? 内核如何通过网卡驱动收发数据包? 驱动收到的数据怎么交给协议栈处理? 一,框架...

  • VMware安装Centos7初始化

    1. VMware安装Centos7初始化 1.网络配置: ​ 1.网卡:在虚拟机硬件配置时配置双网卡且配置好IP...

  • Docker学习笔记|Docker常用命令

    下载->运行virtual box->管理-》导入虚拟电脑-》centos7-》重新初始化网卡mac-》双击启动-...

  • centos 6 系统初始化经验

    centos 6 系统初始化经验(2016年3月) 环境必备 配置网卡 配置路由 关闭setenforce 配置y...

  • Linux shell修改网卡名为eth0

    服务器初始化的时候将网卡名字改成eth0网卡名字千奇百怪有默认的eth0,有ens33,有enp164932等下面...

  • kubernetes1.13.0集群安装环境准备

    系统 Linux Ubuntu 16.04 配置 2cpu 2g内存 网络 因为虚拟机初始化的时候没有安装网卡,如...

  • Ceph 遇到的错误

    错误1 移除监控节点上次初始化创建的文件 错误2 说明有多网卡需要再 ~/my_cluster/ceph.conf...

网友评论

      本文标题:寻找网卡初始化的地方

      本文链接:https://www.haomeiwen.com/subject/upirlctx.html