自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (18)
  • 收藏
  • 关注

原创 openVswitch(OVS)源代码的分析技巧(哈希桶结构体为例)

于是在整个项目中进行搜索得,也可以理性的去分析下哪个函数会调用下面的flex_array申请函数,其实就是buckets内存申请函数(alloc_buckets)了;在该函数中有行代码为:buckets = flex_array_alloc(sizeof(struct hlist_head *),n_buckets, GFP_KERNEL); 至此已经找到了 element_size的含义了,即:哈希头指针的大小。那么就剩下total参数了。 继续往上个查找,看看哪个函数调用了alloc_bu

2014-09-25 21:37:01 5348

原创 openVswitch(OVS)源代码分析之工作流程(flow流表查询)

本文分析了openVswitch中的核心部分flow流表查询(flow_lookup),从流表查询的大体框架或者说理论开始一步一步的结合openVswitch中的数据结构图示(openVswitch的整体框架图)分析了flow查询步骤;最后又分析了openVswitch的源代码,以ovs_flow_lookup()函数为主线,一层一层深入的分析了流表查询的源代码实现。根据这个指针遍历整个流表项节点元素(就是struct sw_flow结构体元素),每遍历得到一个流表项sw_flow结构体元素,就把流表项中

2014-09-23 21:03:35 15278 5

原创 openVswitch(OVS)源代码分析之工作流程(key值得提取)

我依然去简单分析key值得提取函数,有两个原因:第一、key值作为数据结构在openVswitch中是非常重要的,后期的一些流表查询和匹配都要用到key值;第二、想借机复习下内核网络协议栈的各层协议信息;

2014-09-22 20:53:40 6296 2

原创 openVswitch(OVS)源代码分析之工作流程(数据包处理)

在openVswitch中数据包的处理是其核心技术,该技术分为三部分来实现:第一、根据skb数据包提取相关信息封装成key值;第二、根据提取到key值和skb数据包进行流表的匹配;第三、根据匹配到的流表做相应的action操作(若没匹配到则调用函数往用户空间传递数据包)。函数为: void ovs_dp_process_received_packet(struct vport *p, struct sk_buff *skb);当接受到一个数据包后,自然而然的就应该是开始对其进行处理了。上篇的接受数据包函数:

2014-09-18 20:51:17 11242 14

原创 openVswitch(OVS)源代码分析之工作流程(收发数据包)

加载网卡时把网卡绑定到openVswitch端口上(ovs-vsctl add-port br0 eth0),绑定后每当有数据包过来时,都会调用该函数,把数据包传送给这个函数去处理。而不是像开始那样(未绑定前)把数据包往内核网络协议栈中发送,让内核协议栈去处理。openVswitch中数据包接受函数为:void ovs_vport_receive(struct vport *vport, struct sk_buff *skb);函数,该函数所在位置为:datapath/vport.c中。数据包进入open

2014-09-16 22:52:23 13806 7

原创 openVswitch(OVS)源代码分析之数据结构

记得Pascal之父、结构化程序设计的先驱Niklaus Wirth最著名的一本书,书名叫作《算法 + 数据结构 = 程序》。还有位传奇的软件工程师Frederick P. Brooks曾经说过:“给我看你的数据”。因此可见数据结构对于一个程序来说是多么的重要,如果你不了解程序中的数据结构,你根本就无法去理解整个程序的工作流程。所以在分析openVswitch(OVS)源代码之前先来了解下openVswitch中一些重要的数据结构,这将对你分析后面的源代码起着至关重要的作用。 下面是整个openVswit

2014-09-10 22:18:45 15879 7

原创 openVswitch(OVS)源代码分析之简介

云计算是个全世界的话题,所以也有全世界的能人异士来为实现这个云计算而奋斗。我现阶段遇到的有关云计算的技术就是openVswitch和docker技术。那就先从openVswitch开始介绍起,我会用一系列blog来分析openVswitch的相关数据结构和工作流程,以及各个重要模块的分析。所有的介绍都是基于源码的分析,希望对初学着有点用。 openVswitch,根据其名就可以知道这是一个开放的虚拟交换机(open virtual switch);它是实现网络虚拟化SDN的基础,它是在开源的Apache

2014-09-09 23:39:52 16917 9

Ubuntu下openssh-server安装

Ubuntu下openssh-server安装,里面有安装步骤

2017-07-11

bashdb-4.2-0.8

bashdb是一个类GDB的调试工具,使用GDB的同学使用bashdb基本无障碍, bashdb可以运行断点设置、变量查看等常见调试操作

2017-07-08

gcc-3.4.0.tar.gz

gcc-3.4.0.tar.gz

2016-10-10

Linux那些事儿.pdf

Linux那些事儿.pdf

2015-10-08

嵌入式Linux之我行系列

本书是根据相关的博客做的PDF格式的电子书,欢迎到原作者的博客去看看。 这个是目录: ·嵌入式Linux之我行——虚拟机中安装Linux ·嵌入式Linux之我行——虚拟机中实现Linux与Windows之间的文件传输 ·嵌入式Linux之我行——开发环境的建立与Eclipse的使用 ·嵌入式Linux之我行——配置内核时出现“ncurses-devel”错误 ·嵌入式Linux之我行——C+CGI+Ajax在S3C2440中的应用 ·嵌入式Linux之我行——嵌入式数据库sqlite在2440上的移植 ·嵌入式Linux之我行——嵌入式数据库sqlite在2440上的应用 ·嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之内核 ·嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之文件系统 ·嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之RTC时钟驱动 ·嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之DM9000E网卡驱动 ·嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之USB驱动 ·嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之MMC/SD卡驱动 ·嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之LCD驱动 ·嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之触摸屏驱动 ·嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之UDA1341声卡驱动 ·嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(一) ·嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(二) ·嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(三) ·嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(四) ·嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(五) ·嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解(六) ·嵌入式Linux之我行——s3c2440的IO静态映射的分析 ·嵌入式Linux之我行——内核访问外设I/O资源的方式 ·嵌入式Linux之我行——深入理解DM9000在mini2440上的驱动 ·嵌入式Linux之我行——LCD背光驱动在2440上的实例开发 ·嵌入式Linux之我行——LED驱动在2440上的实例开发 ·Linux内核常用的一些宏的收集 ·嵌入式Linux之我行——按键驱动在2440上的实例开发(带去抖动) ·嵌入式Linux之我行——ARM MMU工作原理剖析 ·嵌入式Linux之我行——设备文件系统剖析与使用 ·嵌入式Linux之我行——PWM在ARM Linux中的原理和蜂鸣器驱动实例开发 ·嵌入式Linux之我行——S3C2440上RTC时钟驱动开发实例讲解 ·嵌入式Linux之我行——S3C2440上看门狗(Watchdog)驱动开发实例讲解 ·嵌入式Linux之我行——S3C2440上ADC驱动实例开发讲解 ·嵌入式Linux之我行——S3C2440上触摸屏驱动实例开发讲解 ·嵌入式Linux之我行——S3C2440上LCD驱动(FrameBuffer)实例开发讲解(一) ·嵌入式Linux之我行——S3C2440上LCD驱动(FrameBuffer)实例开发讲解(二) ·嵌入式Linux之我行——RamDisk块设备驱动实例开发讲解 ·嵌入式Linux之我行——S3C2440上MMC/SD卡驱动实例开发讲解(一) ·嵌入式Linux之我行——S3C2440上MMC/SD卡驱动实例开发讲解(二) ·嵌入式Linux之我行——内核通知链机制的原理及实现(转载) ·嵌入式Linux之我行——S3C2440上Flash驱动实例开发讲解(一)

2015-07-20

深入Linux设备驱动程序内核机制.pdf

深入Linux设备驱动程序内核机制.pdf 深入Linux设备驱动程序内核机制.pdf 深入Linux设备驱动程序内核机制.pdf

2015-06-29

PCI-E和FPGA

PCI-E和FPGA

2015-05-22

NVM-Express 1.2

NVM-Express-1_2-Gold-20141209.pdf

2015-05-21

Oracle VM VirtualBox 桥接模式驱动

Oracle VM VirtualBox桥接模式驱动;具体的使用请参考我的博客 http://blog.csdn.net/yuzhihui_no1?viewmode=contents中的《Linux下的网络配置命令》

2015-03-10

x86汇编从实模式到保护模式(pdf、相关代码、软件工具)

x86汇编从实模式到保护模式(pdf、相关代码、软件工具),注:没有14~17章,谁有麻烦给我份,谢谢!!

2014-12-11

软件开发电子书百宝箱

里面包含了所有软件开发所需要的电子书,有C语言、C++、Java、PHP、shell等等语言的开发电子书。也有windows下的各种开发电子书,更有unix/Linux编程开发,以及驱动 内核之类的(ldd3,深入理解linux内核等)电子书

2014-08-11

Linux设备驱动程序(中文版第三版含例题)

Linux设备驱动程序(中文版第三版)里面包含例题

2014-08-11

Linux设备驱动程序(每章一个文件)

Linux设备驱动程序。分章阅读,每一个pdf文件就是一章。

2014-08-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除