openvswicth : 开源的网络虚拟化软件,可以划分vlan隔离虚拟机,做流量控制 dnsmasq:小心的dns,dhcp服务器 安装openvswicth wget http://openvswitch.org/releases/openvswitch-2.5.0.tar.gz 编译成rpm ...
分类:
其他好文 时间:
2016-09-26 12:56:19
阅读次数:
986
有时候我们需要自定义一些自己的action,根据包头里面的信息,做一些自己的操作。 例如添加一个action名为handle_example 第一、修改ofp-actions.c文件 首先在ofp-actions.c里面添加Openflow各个版本的这个action static const str... ...
分类:
其他好文 时间:
2016-09-25 20:47:57
阅读次数:
228
添加一个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.10... ...
分类:
其他好文 时间:
2016-09-24 23:27:39
阅读次数:
164
centos7root目录yum-yinstallwgetopenssl-develkernel-develyumgroupinstall"DevelopmentTools"adduserovswitchwgethttp://openvswitch.org/releases/openvswitch-2.3.0.tar.gztarxfzopenvswitch-2.3.0.tar.gzmkdir-p~/rpmbuild/SOURCEScpopenvswitch-2.3.0.tar.gz/home/ovswit..
分类:
其他好文 时间:
2016-09-24 07:07:48
阅读次数:
277
当内核无法查找到流表项的时候,则会通过upcall来调用用户态ovs-vswtichd中的flow table。 会调用ofproto-dpif-upcall.c中的udpif_upcall_handler函数。 static void * udpif_upcall_handler(void *ar... ...
分类:
其他好文 时间:
2016-09-24 00:42:50
阅读次数:
366
当一个数据包到达网卡的时候,首先要经过内核Openvswitch.ko,流表Flow Table在内核中有一份,通过key查找内核中的flow table,即可以得到action,然后执行action之后,直接发送这个包,只有在内核无法查找到流表项的时候,才会到用户态查找用户态的流表。仅仅查找内核中... ...
分类:
其他好文 时间:
2016-09-19 22:22:06
阅读次数:
253
一、Opevswitch总体架构
Openvswitch的架构网上有如下的图表示:
每个模块都有不同的功能
ovs-v...
分类:
其他好文 时间:
2016-09-18 10:26:06
阅读次数:
1432
在上一节提到,Openvswitch的内核模块openvswitch.ko会在网卡上注册一个函数netdev_frame_hook,每当有网络包到达网卡的时候,这个函数就会被调用。 static struct sk_buff *netdev_frame_hook(struct sk_buff *sk... ...
分类:
其他好文 时间:
2016-09-14 00:22:58
阅读次数:
363
ovs-vswitchd.c的main函数最终会进入一个while循环,在这个无限循环中,里面最重要的两个函数是bridge_run()和netdev_run()。 Openvswitch主要管理两种类型的设备,一个是创建的虚拟网桥,一个是连接到虚拟网桥上的设备。 其中bridge_run就是初始化... ...
分类:
其他好文 时间:
2016-09-08 06:13:47
阅读次数:
171
> OVS安装:1. Install the Open vSwitch plug-in and its dependencies:# apt-get install \neutron-plugin-openvswitch-agent \openvswitch-datapath-dkms \ 2. R... ...
分类:
其他好文 时间:
2016-09-07 14:29:41
阅读次数:
219