我是靠谱客的博主 落后银耳汤,最近开发中收集的这篇文章主要介绍open vswitch源代码解析(一)数据报解析总流程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近研究了一些不错软件,比如openstack,open vswitch以及nginx,其中奥妙自是不少,感受最深刻的其实是nginx,最为一个服务器架构,涉及的如此出色,模块化如此清晰,代码也很优美,实在是不可多得的佳品,学习nginx可以轻松了解很多关于服务器软件设计方面的,c程序设计方面的知识以及概念,后继文章在仔细谢谢,现阶段我主要想要谢谢open vswitch,主要原因是在云操作系统openstack中个人感觉网络虚拟化是瓶颈,比虚拟管理,计算存储内存等资源虚拟化更加复杂,更容易遇到大规模带来的复杂度问题,因此个人感觉open vswitch所支持的open flow开源软件可以为这个网络虚拟化带来一线希望和生机,如何正确理解open flow所带来的SDN的相关概念,如果没有一个细致的思考过程,不是可能获得真正的理解的,以此系列文章来记录自己理解这些代码思想的过程.


第一章主要是标示了open vswitch在接受到一个数据报以后所经历的主要函数的一个罗列,后继文章主要介绍主要相关函数的具体实现以及思想;

钩子挂载:netdev_create->netdev_frame_hook->netdev_port_receive;

处理流程:netdev_port_receive->ovs_vport_receive->ovs_dp_process_received_packet->ovs_flow_extract->ovs_dp_process_packet_with_key->ovs_flow_tbl_lookup_stats&&ovs_flow_stats_update&&

ovs_execute_actions->do_execute_actions->manycase, some case goto -> ovs_dp_process_packet_with_key

key function:ovs_flow_extract,do_execute_actions;

分别对应到流程为ovs_flow_extract:将Ethernet数据报文解析成flow关联的key,以后需要增加新的key关联rule需要修改这部分code,

ovs_flow_tbl_lookup_stats:查找和次key相关联的flow table;

ovs_flow_stats_update:保存hash可用flow table;

do_execute_actions:根据流表执行操作

其中可以仔细研究研究hash相关的operation;看看优化性能如何;

参考文章:

http://www.ibm.com/developerworks/cn/cloud/library/1401_zhaoyi_openswitch/index.html

详细解释了虚拟环境下open vswitch数据转发流表参数解释

最后

以上就是落后银耳汤为你收集整理的open vswitch源代码解析(一)数据报解析总流程的全部内容,希望文章能够帮你解决open vswitch源代码解析(一)数据报解析总流程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部