ovs 添加流表流程

可以通过controller或者ovs-ofctl命令给网桥添加流表,这篇文章以ovs-ofctl添加流表为例,看一下如何解析匹配域和action,如何发送openflow消息给网桥及ovs-vswitchd后台进程如何处理openflow消息。

添加流表格式

###添加流表时,都会调用 ofputil_parse_key_value 解析匹配域和动作域,格式如下
a. 可以只指定key,如下命令,tcp 指定协议,actions 中的1表示出端口为1
    ovs-ofctl add-flow br0 "table=0 , priority=50, tcp, actions=1"
b. 指定key-value对,key-value对中间可以使用"=",":"或者使用小括号将value括起来key(value)
    ovs-ofctl add-flow br0 "table=0 , priority=50, ct_state=-trk, tcp, in_port:1, actions=output:2"
    ovs-ofctl add-flow br0 "table=0 , priority=50, ct_state=-trk, tcp, in_port=1, actions=output=2"
    ovs-ofctl add-flow br0 "table=
要深入理解OpenvSwitch(OVS)中的ovs-vswitchd与ovsdb-server的交互机制及其在管理中的作用,首先需要从OVS的代码结构入手,了解各个组件如何协同工作。推荐参考《深入解析OpenvSwitch(OVS)代码结构》一书,它详细阐述了OVS的源代码结构,包括核心组件的职责与交互。 参考资源链接:[深入解析OpenvSwitch(OVS)代码结构](https://wenku.youkuaiyun.com/doc/1jipuokhyv?spm=1055.2569.3001.10343) 在OVS中,ovs-vswitchd是负责交换机操作的主要守护进程,它通过ovsdb-server管理OVS的配置数据库。ovsdb-server是一个独立的数据库服务器,用于存储OVS的网络配置和状态信息。ovs-vswitchd与ovsdb-server之间的交互主要发生在ovs-vswitchd启动时以及网络状态发生变化时,比如当有新的项被添加OVS中时。 当网络管理员或自动化脚本通过ovs-vsctl命令修改了网络配置,ovsdb-server会更新其数据库中的配置信息。ovs-vswitchd则定期查询ovsdb-server来获取最新的配置,并根据配置更新其管理的网络设备和项。在管理方面,ovs-vswitchd会将项与相应的交换机端口关联起来,确保数据包能够根据的规则被正确地转发。 在技术层面,ovs-vswitchd通过OpenFlow协议与ovsdb-server进行通信,实现对数据库中数据结构的查询、插入、更新和删除操作。通过解析ovsdb-server数据库中的数据,ovs-vswitchd可以构建出整个网络的数据路径(datapath),并在此基础上进行数据包的匹配和转发。 举个例子,当ovs-vswitchd启动时,它会首先连接到ovsdb-server获取初始的配置信息。随后,根据网络配置的不同,它会创建相应的数据路径和。如果需要添加新的项,ovs-vswitchd将使用OpenFlow协议发送消息给ovsdb-server,更新数据库中的内容,然后基于新的项执行数据包的转发。 通过这一过程,ovs-vswitchd实现了对数据路径的动态管理,并通过ovsdb-server来持久化网络状态,从而确保了OVS在网络环境中的高效和稳定运行。 掌握了ovs-vswitchd与ovsdb-server之间的交互机制后,对于希望进一步理解OVS内部工作原理的开发者来说,建议继续深入研究OVS的代码库,特别是关注ovs-vswitchd和ovsdb-server的源代码文件,以及相关的配置文件和说明文档。这样可以为在虚拟化环境中实现网络自动化和优化提供更加坚实的技术基础。 参考资源链接:[深入解析OpenvSwitch(OVS)代码结构](https://wenku.youkuaiyun.com/doc/1jipuokhyv?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

分享放大价值

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值