自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘超的通俗云计算

刘超的通俗云计算

  • 博客(8)
  • 资源 (12)
  • 收藏
  • 关注

原创 Openvswitch原理与代码分析(8): 修改Openvswitch代码添加自定义action

有时候我们需要自定义一些自己的action,根据包头里面的信息,做一些自己的操作。 例如添加一个action名为handle_example 第一、修改ofp-actions.c文件 首先在ofp-actions.c里面添加Openflow各个版本的这个actionstatic const struct ofpac

2016-09-25 20:06:32 2325

原创 Openvswitch原理与代码分析(7): 添加一条流表flow

添加一个flow,调用的命令为ovs-ofctl add-flow hello "hard_timeout=0 idle_timeout=0 priority=1 table=21 pkt_mark=0x55 tun_id=0x55 actions=mod_nw_dst:192.168.56.101,output:2"这里调用的是调用ovs/utilities/ovs-ofctl.

2016-09-24 22:33:44 2905

原创 Openvswitch原理与代码分析(6):用户态流表flow table的操作

当内核无法查找到流表项的时候,则会通过upcall来调用用户态ovs-vswtichd中的flow table。会调用ofproto-dpif-upcall.c中的udpif_upcall_handler函数。static void *udpif_upcall_handler(void *arg){    struct handl

2016-09-24 00:13:15 1938

原创 Openvswitch原理与代码分析(5): 内核中的流表flow table操作

当一个数据包到达网卡的时候,首先要经过内核Openvswitch.ko,流表Flow Table在内核中有一份,通过key查找内核中的flow table,即可以得到action,然后执行action之后,直接发送这个包,只有在内核无法查找到流表项的时候,才会到用户态查找用户态的流表。仅仅查找内核中flow table的情况被称为fast path.  第一步:从数

2016-09-19 22:22:19 2258

原创 Openvswitch原理与代码分析(4):网络包的处理过程

在上一节提到,Openvswitch的内核模块openvswitch.ko会在网卡上注册一个函数netdev_frame_hook,每当有网络包到达网卡的时候,这个函数就会被调用。 static struct sk_buff *netdev_frame_hook(struct sk_buff *skb){   if (unlikely

2016-09-13 23:40:43 2171

原创 Openvswitch原理与代码分析(3): openvswitch内核模块的加载

上一节我们讲了ovs-vswitchd,其中虚拟网桥初始化的时候,对调用内核模块来添加虚拟网卡。 我们从openvswitch内核模块的加载过程,来看这个过程。 在datapath/datapath.c中会调用module_init(dp_init);来初始化内核模块。 static int __init dp_init(

2016-09-13 23:40:07 2027

原创 Openvswitch原理与代码分析(2): ovs-vswitchd的启动

ovs-vswitchd.c的main函数最终会进入一个while循环,在这个无限循环中,里面最重要的两个函数是bridge_run()和netdev_run()。  Openvswitch主要管理两种类型的设备,一个是创建的虚拟网桥,一个是连接到虚拟网桥上的设备。 其中bridge_run就是初始化数据库中已经创建的虚拟网桥。 一、

2016-09-13 23:39:10 2426

原创 Openvswitch原理与代码分析(1):总体架构

一、Opevswitch总体架构 Openvswitch的架构网上有如下的图表示:   每个模块都有不同的功能ovs-vswitchd 为主要模块,实现交换机的守护进程daemon 在Openvswitch所在的服务器进行ps aux可以看到以下的进程root 1008 0.

2016-09-13 23:38:10 6367 3

Big Data Over DCOS

大数据,DCOS, Mesos

2016-06-08

DCOS深入分析

DCOS深入分析

2016-06-08

领科云基于Mesos和Docker的企业移动应用实践分享

领科云基于Mesos和Docker的企业移动应用实践分享

2016-06-08

基于Docker Compose和Swarm的Docker化之路

基于Docker Compose和Swarm的Docker化之路

2016-06-08

基于图形化模型设计的应用容器化

基于mesos和docker的应用容器化

2016-06-08

Hadoop学习总结

Hadoop 学习总结

2016-06-08

Hadoop编程思想

Hadoop编程思想

2016-06-08

Lucene 原理与代码分析

Lucene 3.0代码分析

2016-06-08

Neutron的PPT帮助你理解Neutron的各种细节

干货分享:Neutron的PPT,帮助你理解Neutron的各种细节

2016-05-31

Libvirt Qemu KVM 教程大全

Libvirt Qemu KVM 教程大全

2015-09-22

Openvswtich实验教程

干货分享: 长达150页的openvswitch的ppt,不实验无真相

2015-09-22

openstack虚拟机创建的50个步骤和100个知识点

openstack虚拟机创建的50个步骤和100个知识点

2014-11-04

空空如也

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

TA关注的人

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