根据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); } }
时间: 2024-11-03 22:12:39