![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
openvswitch
Bulbasaurrrrrrr
这个作者很懒,什么都没留下…
展开
-
OpenvSwitch完全使用手册
http://sdnhub.cn/index.php/openv-switch-full-guide/1 什么是OpenvSwitchOpenvSwitch,简称OVS是一个虚拟交换软件,主要用于虚拟机VM环境,作为一个虚拟交换机,支持Xen/XenServer, KVM, and VirtualBox多种虚拟化技术。OpenvSwitch还支持多个物理机的分布式环转载 2018-01-12 08:38:11 · 989 阅读 · 0 评论 -
OVS源码ofpbuf与nlattr数据结构分析
在ovs-dpdk源码中,若在datapath classifier中未找到相应的flow匹配,则将初始化一个ofpbuf类型的action,然后通过handle_packet_upcall函数进入upcall流程,在ofproto classifier中通过调用xlate_action根据OpenFlow协议为action赋值,最后将该action向下“注入”到datapath classifi...原创 2018-03-17 13:23:10 · 1020 阅读 · 0 评论 -
Open vSwitch系列之数据结构解析深入分析Hmap
作为Open vSwitch系列的第一篇文章,选择分析哪个数据结构我思考很久,最后还是选择比较常见而且很基础的结构hmap。在Open vSwitch世界中很多地方都是由hmap组织、关联起来的,因此我们将这部分分析透彻是很有必要的,而且这部分功能相对独立,也可以做日后一个技术积累,最后会有一个demo提供给大家。转载 2018-01-20 13:06:57 · 621 阅读 · 0 评论 -
OVS源码bridge_run分析
bridge_run主要包含3个部分:bridge_init_ofproto, bridge_run__, bridge_reconfigure.bridge_init_ofproto主要进行ofproto_dpif_class的注册,该类是structofproto_class的具体实现.ofproto_init(const struct shash *iface_hints原创 2018-01-12 15:24:37 · 1141 阅读 · 0 评论 -
OVS源码connmgr_run分析
connmgr即connect manager连接管理器,主要完成OVS网桥的连接管理。每一个网桥ofproto都有一个connmgr实体来管理连接。connmgr主要完成两种连接管理,一种是主动连接(即与控制器连接,作为客户端),一种是被动连接(主要提供ofctl等工具连接请求服务和snoop服务,作为服务端)。connmgr结构体中,all_conns是主动连接,services和snoops原创 2018-01-18 16:10:09 · 869 阅读 · 0 评论 -
OVS-DPDK Datapath Classifier
OVS-DPDK存在三层查询表/缓存。输入包首先将在EMC中进行匹配,若未匹配上那么将被送如dpcls。dpcls由一个元组空间查找算法(tuple space search TSS)实现,因此可对包头进行任意的逐位匹配。若包在dpcls中仍未匹配上那么将被送入openflow pipeline即ofproto classifier中进行处理,而该ofproto classifier由SDN控原创 2018-01-24 09:38:17 · 2125 阅读 · 0 评论 -
OVS网桥建立和连接管理
前言Open vSwitch作为一个被广泛应用的虚拟交换机,除了完成流表匹配、数据转发等功能外,其自身对网桥的创建更新和连接管理也尤为重要,这是其高性能的保障。本文按照源码的行文思路,从网桥的创建、配置、更新到主动、被动连接管理,依次进行梳理学习。重要结构体:本文将按照下图主线进行分析。其中,会提到一系列有关联的结构体bridge、ofproto、connmgr、ofcon转载 2018-01-16 20:42:20 · 2237 阅读 · 0 评论 -
OVS源码pmd_thread_main分析
PMD线程在其轮询列表中持续轮询输入端口,在每一个端口上最多可同时收32个包(NETDEV_MAX_BURST),根据激活的流规则可将每一个收包进行分类。分类的目的是为了找到一个流,从而对包进行恰当的处理。包根据流进行分组,并且每一个分组将执行特定的动作。flow由dp_netdev_flow数据结构所定义,并保存在flow_table的hash表内,flow中主要有以下信息:原创 2018-01-23 16:08:29 · 1937 阅读 · 0 评论 -
OVS常用命令与使用总结
转载自:http://blog.csdn.net/rocson001/article/details/73163041进程启动1.先准备ovs的工作目录,数据库存储路径等mkdir -p /etc/openvswitchmkdir -p /var/run/openvswitch122.先启动ovsdb-serverovsdb-server /etc/openvsw转载 2018-01-12 13:41:47 · 4797 阅读 · 0 评论 -
htonl(), ntohl(), htons(), ntohs() 函数
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数。网络字节顺序与本地字节顺序之间的转换函数:htonl()--"Host to Network Long"ntohl()--"Network to Host Long"htons()--"Host to Network Short"nto...转载 2018-04-12 09:30:16 · 294 阅读 · 0 评论