【OVS2.5.0源码分析】bridge&bundle&port分析(1)
2016-08-10 20:39
357 查看
一、按照用途划分,openvswitch中桥、端口大致可以分成如下几类:
1、配置管理
主要对象包括:bridge、port、interface。
2、openflow
主要对象包括:ofproto、ofproto_dpif、ofbundle、ofport、ofport_dpif。
3、端口镜像
主要对象包括:mbridge、mbundle。
4、upcall处理
主要对象包括:xbridge、xbundle、xport。
二、各对象之间的关系
三、各对象生成时间
1、ofproto创建路径(实际为ofproto_dpif对象)
bridge_run->bridge_reconfigure->ofproto_create->alloc
2、ofbundle创建路径
bridge_run->bridge_reconfigure->port_configure->ofproto_bundle_register->bundle_set
3、ofport创建路径
bridge_run->bridge_reconfigure->ofproto_create-> alloc
4、xbridge创建路径
bridge_run->bridge_run__->ofproto_type_run->type_run->xlate_ofproto_set
5、xbundle创建路径
bridge_run->bridge_run__->ofproto_type_run->type_run->xlate_bundle_set
6、xport创建路径
bridge_run->bridge_run__->ofproto_type_run->type_run->xlate_ofport_set
7、mbridge创建路径
bridge_run->bridge_reconfigure->ofproto_create->alloc //与ofproto相同,ofproto对象创建时会同时创建mbridge对象
8、mbundle创建路径
bridge_run->bridge_reconfigure->port_configure->ofproto_bundle_register->bundle_set //与ofbundle相同,创建ofbundle时会同时创建mbundle对象
创建类似多个对象目前看到的一个好处是模块之间耦合度低!
1、配置管理
主要对象包括:bridge、port、interface。
2、openflow
主要对象包括:ofproto、ofproto_dpif、ofbundle、ofport、ofport_dpif。
3、端口镜像
主要对象包括:mbridge、mbundle。
4、upcall处理
主要对象包括:xbridge、xbundle、xport。
二、各对象之间的关系
三、各对象生成时间
1、ofproto创建路径(实际为ofproto_dpif对象)
bridge_run->bridge_reconfigure->ofproto_create->alloc
2、ofbundle创建路径
bridge_run->bridge_reconfigure->port_configure->ofproto_bundle_register->bundle_set
3、ofport创建路径
bridge_run->bridge_reconfigure->ofproto_create-> alloc
4、xbridge创建路径
bridge_run->bridge_run__->ofproto_type_run->type_run->xlate_ofproto_set
5、xbundle创建路径
bridge_run->bridge_run__->ofproto_type_run->type_run->xlate_bundle_set
6、xport创建路径
bridge_run->bridge_run__->ofproto_type_run->type_run->xlate_ofport_set
7、mbridge创建路径
bridge_run->bridge_reconfigure->ofproto_create->alloc //与ofproto相同,ofproto对象创建时会同时创建mbridge对象
8、mbundle创建路径
bridge_run->bridge_reconfigure->port_configure->ofproto_bundle_register->bundle_set //与ofbundle相同,创建ofbundle时会同时创建mbundle对象
创建类似多个对象目前看到的一个好处是模块之间耦合度低!
相关文章推荐
- 【OVS2.5.0源码分析】vlan&trunk实现原理分析(2)
- 【OVS2.5.0源码分析】vlan&trunk实现原理分析(1)
- 【OVS2.5.0源码分析】openflow连接实现分析(2)
- 【OVS2.5.0源码分析】ovsd进程运行机制分析(1)
- 【OVS2.5.0源码分析】datapath之action分析(7)
- 【OVS2.5.0源码分析】datapath之netlink
- 【OVS2.5.0源码分析】upcall处理线程分析(2)
- 【OVS2.5.0源码分析】datapath之action分析(1)
- 【OVS2.5.0源码分析】datapath之action分析(8)
- 【OVS2.5.0源码分析】datapath之action分析(4)
- 【OVS2.5.0源码分析】sFlow实现分析(1)
- 【OVS2.5.0源码分析】mirror实现原理(2)
- 【OVS2.5.0源码分析】datapath之流表查询
- 【OVS2.5.0源码分析】openflow连接实现分析(4)
- 【OVS2.5.0源码分析】nlattr数据结构分析
- 【OVS2.5.0源码分析】normal action精确流表生成和刷新过程分析
- 【OVS2.5.0源码分析】openflow连接实现分析(1)
- 【OVS2.5.0源码分析】datapath之主流程分析
- 【OVS2.5.0源码分析】upcall处理线程分析(3)
- 【OVS2.5.0源码分析】dpif向dp发送netlink消息分析