ovs

ovs ovn 学习资料

三世轮回 提交于 2019-12-02 05:32:51
0、A Primer on OVN http://blog.spinhirne.com/2016/09/a-primer-on-ovn.html 1、Open Virtual Networking With Docker http://docs.openvswitch.org/en/latest/howto/docker/ 2、Multi-Host Docker network https://wiredcraft.com/blog/multi-host-docker-network/ 3、ovn-namespace https://github.com/shettyg/ovn-namespace 4、OVN简介PPT http://openvswitch.org/support/slides/OVN_Barcelona.pdf 5、What is Open Virtual Network (OVN)? How It Works (包含了各种关于网络虚拟化的介绍的连接) https://www.sdxcentral.com/sdn/network-virtualization/definitions/what-is-open-virtual-network-ovn-how-it-works/ 6、Open vSwitch 相关论文 http://openvswitch.org

OpenvSwitch系列之ovs-vsctl命令

只愿长相守 提交于 2019-12-01 13:47:40
OpenvSwitch 的操作命令有若干个,其中比较重要的有 ovs-ovsctl 获取或者更改ovs-vswitchd的配置信息,此工具操作的时候会更新ovsdb-server中的数据库 ovs-ofctl 操作交换机里的流表 ovsdb-tool 对ovsdb数据库操作,不经过ovsdb-server模块 前面已经介绍过了ovs-ovsctl命令是对交换机上网桥和端口等信息进行配置的命令。这里首先需要说明一下ovs的概念中 ‘桥’ 这个词的意思就是指交换机。我们说创建一个网桥,其实说的意思就是创建一个交换机。而端口则是指交换机的网口。 一、查看网桥 使用如下命令能够查看所有的网桥的信息。记住这是我们学会的第一个命令,也是使用频率最高的命令。 ovs-vsctl show 因为这是一个刚装好ovs的机器,所以还没有任何网桥信息,但是还是有一些信息的。比如这一串数字指的是该主机的id,只在连接了SDN控制器之后才有作用;还有一个交换机的版本信息,这里的版本是2.5.5。 二、添加网桥 可以很方便的创建网桥,也就是交换机。使用如下命令创建一个名字叫着 br-test的网桥。 ovs-vsctl add-br br-test 当创建好网桥之后用第一个学会的命令来看看创建好的网桥。 可以看到已经有创建好的网桥br-test了,Bridge br-test 指的是网桥br-test

云计算OpenStack核心组件---neutron网络服务(8)

ぃ、小莉子 提交于 2019-12-01 08:41:54
一、neutron介绍 二、neutron架构 三、neutron server 组件详解 四、Service Plugin / Agent 详解 五、neutron架构框架总结 六、虚拟机获取IP 七、VXLAN简介 八、三层网络介绍 九、neutron服务安装及配置 (一)安装和配置控制节点(ren3) https://docs.openstack.org/ocata/install-guide-rdo/neutron-controller-install.html 1、给控制节点再添加两块网卡(租户网(仅主机1)和外网(nat)) 使用nmtui修改网名 2、创建neutron数据库及用户 [root@ren3 ~]# mysql -u root -proot MariaDB [(none)]> create database neutron; MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \ IDENTIFIED BY 'NEUTRON_DBPASS'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \ IDENTIFIED BY 'NEUTRON_DBPASS'; 3

network + open vswitch / xunijiaohuanji / Open Virtual Switch

被刻印的时光 ゝ 提交于 2019-12-01 08:05:27
s http://www.openvswitch.org What is Open vSwitch? Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license. It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to support distribution across multiple physical servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. See full feature list here open vswitch https://www.jianshu.com/p

Docker使用pipework配置本地网络

旧时模样 提交于 2019-12-01 05:04:16
需求 在使用Docker的过程中,有时候我们会有将Docker容器配置到和主机同一网段的需求。要实现这个需求,我们只要将Docker容器和主机的网卡桥接起来,再给Docker容器配上IP就可以了。 下面我们就使用pipework工具来实现这一需求。 1、pipework的安装 Pipework是一个Docker配置工具,是一个开源项目,由200多行shell实现。 Pipework是一个集成工具,需要配合使用的两个工具是OpenvSwitch和Bridge-utils。 $ git clone https://github.com/jpetazzo/pipework.git $ sudo cp pipework/pipework /usr/local/bin/ 2、pipework配置Docker的三个简单场景 2.1  pipework+linux bridge:配置Docker单主机容器 #主机A:192.168.187.143 #主机A上创建两个容器con1、con2 docker run -itd --name con1 --net=none ubuntu:14.04 bash docker run -itd --name con2 --net=none ubuntu:14.04 bash #使用pipework建立网桥br0,为容器con1和con2添加新的网卡

OpenvSwitch 解读2

蹲街弑〆低调 提交于 2019-11-28 17:31:27
OVS 核心代码 datapath 目录 ovs-switchd OVS数据库管理 ofproto OVS 架构 OVS 主要的数据结构 数据结构关系图 主要的数据结构和数据结构的参数 数据结构代码 vvport /** - struct vport - one port within a datapath - @rcu: RCU callback head for deferred destruction. - @dp: Datapath to which this port belongs. - @upcall_portids: RCU protected 'struct vport_portids'. - @port_no: Index into @dp's @ports array. - @hash_node: Element in @dev_table hash table in vport.c. - @dp_hash_node: Element in @datapath->ports hash table in datapath.c. - @ops: Class structure. - @percpu_stats: Points to per-CPU statistics used and maintained by vport - @err_stats:

OpenvSwitch 解读

末鹿安然 提交于 2019-11-28 15:35:22
https://segmentfault.com/a/1190000015816722 ovs sdn OVS 核心代码 datapath 目录 ovs-switchd OVS数据库管理 ofproto OVS 架构 OVS 主要的数据结构 数据结构关系图 主要的数据结构和数据结构的参数 数据结构代码 vvport /** - struct vport - one port within a datapath - @rcu: RCU callback head for deferred destruction. - @dp: Datapath to which this port belongs. - @upcall_portids: RCU protected 'struct vport_portids'. - @port_no: Index into @dp's @ports array. - @hash_node: Element in @dev_table hash table in vport.c. - @dp_hash_node: Element in @datapath->ports hash table in datapath.c. - @ops: Class structure. - @percpu_stats: Points to per-CPU

Openvswitch手册(9): Flow

[亡魂溺海] 提交于 2019-11-28 08:23:06
这一节我们将flow table flow table主要由ovs-ofctl命令操作 ovs-ofctl可以走和openflow controller一样的协议: ssl:ip[:port]: The specified SSL port (default: 6633) on the host at the given ip, which must be expressed as an IP address (not a DNS name). The −−private−key, −−certificate, and −−ca−cert options are mandatory when this form is used. tcp:ip[:port]: The specified TCP port (default: 6633) on the host at the given ip, which must be expressed as an IP address (not a DNS name). unix:file : The Unix domain server socket named file. 管理vswitch 可以查看bridge # ovs-ofctl show br-tun OFPT_FEATURES_REPLY (xid=0x2): dpid

OVS源码connmgr_run分析

旧城冷巷雨未停 提交于 2019-11-28 07:28:19
connmgr即connect manager连接管理器,主要完成OVS网桥的连接管理。每一个网桥ofproto都有一个connmgr实体来管理连接。connmgr主要完成两种连接管理,一种是主动连接(即与控制器连接,作为客户端),一种是被动连接(主要提供ofctl等工具连接请求服务和snoop服务,作为服务端)。connmgr结构体中,all_conns是主动连接,services和snoops等提供被动连接服务。与connmgr_run流程相关的结构体如下图: 一个connmgr对应多个ofconn(如一个网桥连接多个控制器,则需要建立相应多个ofconn实例;和ofctl等工具连接时也要建立ofconn实例);一个ofconn对应一个rconn;一个rconn对应多个vconn(因为和控制器建立连接外,可能还会实现snoop功能,即监测并复制交互的of消息,则一个rconn会对应一个vconn和一个vconn结构体类型的数组monitor。 connmgr_run主要包含in_band_run, ofconn_run,以及一些与被动连接相关的流程。 connmgr_run(struct connmgr *mgr, void (*handle_openflow)(struct ofconn *, const struct ofpbuf *ofp_msg)) OVS

ovs-appctl 命令合集

醉酒当歌 提交于 2019-11-28 07:26:03
限制(LIMITS) 我们相信限制和我们如下所写的一样精确。这些限制假设你使用linux内核的dp。 l 大约256个桥需要5000个文件描述符来(ovs-switchd进程每个datapath需要17个文件描述符) l 每个桥65280个端口。根据绑定的hash标的尺寸,每个桥接口在1024以上,性能将会降级 l 每个桥可以学习2048个MAC条目 l 内核的流仅受限于内核的可用内存。32位的内核每个桥维护的流数大于1048576或者64位的内核维护的流数目大于262144时,性能将会降级。(ovs-vswitchd永远都不应该加载那么多条流) l OpenFlow流仅受限于可用内存。性能根据独特的通配符个数呈现线性分布。OpenFlow表中相同通配符的流信息都有相同的查找时间。但是当一个表拥有很多不同通配置的流时,查表的时间就线性上升了。 l 每个桥255端口可以加入STP协议 l 每个桥支持32个端口镜像(MIRROR) l 端口名最长15字节(这是linux系统内核的限制) 通用命令 exit 优雅关闭ovs-vswitchd进程 qos/show interface 查询内核中关于qos的配置以及和给出端口有关的状态 cfm/show [ interface ] 显示在指定端口上CFM配置的详细信息。如果没有指定接口,则显示所有使能了CFM的接口 cfm/set