当同一服务器上的多个ovs-vswitchds同步ovsdb中的数据失败

问题描述

我是OVS爱好者和初学者。我想在同一台服务器上安装两个ovs-vswitchds,分别称为OVS和OVS-HA,OVS是原始的,OVS-HA是经过修改的。

我为OVS-HA修改内容如下:

1。在Bridge_init中设置ovsdb_idl锁“ ovs_vswitchd_ha”

2。在if win != 0: print("You lose") else: print("You win") 中禁用用于向上调用处理程序的套接字 在dpif_netlink_handlers_set(dpif_netlink.c)

注释代码块以将msg发送到内核

dpif_netlink_refresh_channels(dpif_netlink.c)
  1. 编译OVS,然后将二进制文件ovs-vswitchd修改为ovs-vswitchd-ha

  2. 在与ovs相同的args中启动ovs-vswitchd-ha

dpif_netlink_vport_init(&vport_request);
vport_request.cmd = OVS_VPORT_CMD_SET;
vport_request.dp_ifindex = dpif->dp_ifindex;
vport_request.port_no = vport.port_no;
vport_request.n_upcall_pids = dpif->n_handlers;
vport_request.upcall_pids = upcall_pids;
//error = dpif_netlink_vport_transact(&vport_request,NULL,NULL);
error = 0;
if (error) {
  1. 通过ovs-ofctl添加流规则
 sudo ./ovs-vswitchd-ha unix:/var/run/openvswitch/db.sock -vconsole:emer -vsyslog:err -vfile:info --mlockall --no-chdir --log-file=/usr/local/var/log/openvswitch/ovs-vswitchd-ha.log --pidfile=/usr/local/var/run/openvswitch/ovs-vswitchd-ha.pid --detach --monitor
  1. 在ovs-vswitch-ha.log中找到喜欢的人
sudo ovs-ofctl add-flow -OOpenFlow13 s1 "table=10,dl_type=0x0800,nw_dst=10.0.0.11/32,actions=mod_dl_src=c6:6e:c1:83:9f:2e,dec_ttl,goto_table=15"

但是ovs-vswitchd.log中没有任何内容


ovs-vswitchd和ovs-vswitchd-ha如何同时接收流规则?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)