首页 > 代码库 > OVS 发送OFPT_PORT_STATUS 过程

OVS 发送OFPT_PORT_STATUS 过程


根据openflow协议,当一个物理端口从ovs datapath 增加,修改或者删除的时候,都会通过ofp_port_status异步消息告知Controller,比如当我们执行 ovs-vsctl add-port br0 eth0 之类的命令后,就会更新ovsdb数据库,而后全局变量 reconfiguring 变为true,从而会重新配置这个ovs。


if (reconfiguring) {
		// cfg 条目可以追踪到ovsdb中某个配置发生改变
        if (cfg) {
            if (!reconf_txn) {
                reconf_txn = ovsdb_idl_txn_create(idl);
            }
	<span style="white-space:pre">	</span>// 重新配置每个cfg,核心入口
            if (bridge_reconfigure_continue(cfg)) {
                ovsrec_open_vswitch_set_cur_cfg(cfg, cfg->next_cfg);
            }
        } else {
            bridge_reconfigure_continue(&null_cfg);
        }
    }


OVS 发送OFPT_PORT_STATUS 过程