提交 80740d9c 编写于 作者: P Pavel Hrdina

Revert "vhost-user: add support reconnect for vhost-user ports"

This reverts commit edaf4ebe.

This uses "reconnect" as attribute for <source> element, but we already
have a <reconnect> element for <source> element for chardev devices.

Since this is the same feature for different device it should be
presented in XML the same way.
Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
上级 4b480d10
...@@ -5673,7 +5673,7 @@ qemu-kvm -net nic,model=? /dev/null ...@@ -5673,7 +5673,7 @@ qemu-kvm -net nic,model=? /dev/null
&lt;/interface&gt; &lt;/interface&gt;
&lt;interface type='vhostuser'&gt; &lt;interface type='vhostuser'&gt;
&lt;mac address='52:54:00:3b:83:1b'/&gt; &lt;mac address='52:54:00:3b:83:1b'/&gt;
&lt;source type='unix' path='/tmp/vhost2.sock' mode='client' reconnect='10'/&gt; &lt;source type='unix' path='/tmp/vhost2.sock' mode='client'/&gt;
&lt;model type='virtio'/&gt; &lt;model type='virtio'/&gt;
&lt;driver queues='5'/&gt; &lt;driver queues='5'/&gt;
&lt;/interface&gt; &lt;/interface&gt;
...@@ -5689,9 +5689,6 @@ qemu-kvm -net nic,model=? /dev/null ...@@ -5689,9 +5689,6 @@ qemu-kvm -net nic,model=? /dev/null
are supported. are supported.
vhost-user requires the virtio model type, thus the vhost-user requires the virtio model type, thus the
<code>&lt;model&gt;</code> element is mandatory. <code>&lt;model&gt;</code> element is mandatory.
<span class="since">Since 3.7.0</span> the element has an optional
attribute <code>reconnect</code> which configures reconnect timeout
(in seconds) if the connection is lost.
</p> </p>
<h5><a id="elementNwfilter">Traffic filtering with NWFilter</a></h5> <h5><a id="elementNwfilter">Traffic filtering with NWFilter</a></h5>
......
...@@ -2388,11 +2388,6 @@ ...@@ -2388,11 +2388,6 @@
<value>client</value> <value>client</value>
</choice> </choice>
</attribute> </attribute>
<optional>
<attribute name="reconnect">
<ref name='positiveInteger'/>
</attribute>
</optional>
<empty/> <empty/>
</element> </element>
<ref name="interface-options"/> <ref name="interface-options"/>
......
...@@ -10240,7 +10240,6 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -10240,7 +10240,6 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
char *vhostuser_mode = NULL; char *vhostuser_mode = NULL;
char *vhostuser_path = NULL; char *vhostuser_path = NULL;
char *vhostuser_type = NULL; char *vhostuser_type = NULL;
char *vhostuser_reconnect = NULL;
char *trustGuestRxFilters = NULL; char *trustGuestRxFilters = NULL;
char *vhost_path = NULL; char *vhost_path = NULL;
virNWFilterHashTablePtr filterparams = NULL; virNWFilterHashTablePtr filterparams = NULL;
...@@ -10327,12 +10326,11 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -10327,12 +10326,11 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error; goto error;
} }
} else if (!vhostuser_path && !vhostuser_mode && !vhostuser_type } else if (!vhostuser_path && !vhostuser_mode && !vhostuser_type
&& !vhostuser_reconnect && def->type == VIR_DOMAIN_NET_TYPE_VHOSTUSER && def->type == VIR_DOMAIN_NET_TYPE_VHOSTUSER &&
&& virXMLNodeNameEqual(cur, "source")) { virXMLNodeNameEqual(cur, "source")) {
vhostuser_type = virXMLPropString(cur, "type"); vhostuser_type = virXMLPropString(cur, "type");
vhostuser_path = virXMLPropString(cur, "path"); vhostuser_path = virXMLPropString(cur, "path");
vhostuser_mode = virXMLPropString(cur, "mode"); vhostuser_mode = virXMLPropString(cur, "mode");
vhostuser_reconnect = virXMLPropString(cur, "reconnect");
} else if (!def->virtPortProfile } else if (!def->virtPortProfile
&& virXMLNodeNameEqual(cur, "virtualport")) { && virXMLNodeNameEqual(cur, "virtualport")) {
if (def->type == VIR_DOMAIN_NET_TYPE_NETWORK) { if (def->type == VIR_DOMAIN_NET_TYPE_NETWORK) {
...@@ -10554,24 +10552,8 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -10554,24 +10552,8 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
if (STREQ(vhostuser_mode, "server")) { if (STREQ(vhostuser_mode, "server")) {
def->data.vhostuser->data.nix.listen = true; def->data.vhostuser->data.nix.listen = true;
if (vhostuser_reconnect) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("'reconnect' attribute unsupported "
"'server' mode for <interface type='vhostuser'>"));
goto error;
}
} else if (STREQ(vhostuser_mode, "client")) { } else if (STREQ(vhostuser_mode, "client")) {
def->data.vhostuser->data.nix.listen = false; def->data.vhostuser->data.nix.listen = false;
if (vhostuser_reconnect) {
def->data.vhostuser->data.nix.reconnect.enabled = true;
if (virStrToLong_ui(vhostuser_reconnect, NULL, 10,
&def->data.vhostuser->data.nix.reconnect.timeout) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("invalid vhostuser reconnect value %s"),
vhostuser_reconnect);
goto error;
}
}
} else { } else {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Wrong <source> 'mode' attribute " _("Wrong <source> 'mode' attribute "
...@@ -11016,7 +10998,6 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -11016,7 +10998,6 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
VIR_FREE(portgroup); VIR_FREE(portgroup);
VIR_FREE(address); VIR_FREE(address);
VIR_FREE(port); VIR_FREE(port);
VIR_FREE(vhostuser_reconnect);
VIR_FREE(vhostuser_type); VIR_FREE(vhostuser_type);
VIR_FREE(vhostuser_path); VIR_FREE(vhostuser_path);
VIR_FREE(vhostuser_mode); VIR_FREE(vhostuser_mode);
...@@ -23002,11 +22983,6 @@ virDomainNetDefFormat(virBufferPtr buf, ...@@ -23002,11 +22983,6 @@ virDomainNetDefFormat(virBufferPtr buf,
virBufferAsprintf(buf, " mode='%s'", virBufferAsprintf(buf, " mode='%s'",
def->data.vhostuser->data.nix.listen ? def->data.vhostuser->data.nix.listen ?
"server" : "client"); "server" : "client");
if (def->data.vhostuser->data.nix.reconnect.enabled == true) {
virBufferAsprintf(buf, " reconnect='%u'",
def->data.vhostuser->data.nix.reconnect.timeout);
}
sourceLines++; sourceLines++;
} }
break; break;
......
...@@ -32,7 +32,7 @@ addr=0x4 \ ...@@ -32,7 +32,7 @@ addr=0x4 \
-netdev socket,listen=:2015,id=hostnet2 \ -netdev socket,listen=:2015,id=hostnet2 \
-device rtl8139,netdev=hostnet2,id=net2,mac=52:54:00:95:db:c0,bus=pci.0,\ -device rtl8139,netdev=hostnet2,id=net2,mac=52:54:00:95:db:c0,bus=pci.0,\
addr=0x5 \ addr=0x5 \
-chardev socket,id=charnet3,path=/tmp/vhost2.sock,reconnect=10 \ -chardev socket,id=charnet3,path=/tmp/vhost2.sock \
-netdev vhost-user,chardev=charnet3,queues=4,id=hostnet3 \ -netdev vhost-user,chardev=charnet3,queues=4,id=hostnet3 \
-device virtio-net-pci,mq=on,vectors=10,netdev=hostnet3,id=net3,\ -device virtio-net-pci,mq=on,vectors=10,netdev=hostnet3,id=net3,\
mac=52:54:00:ee:96:6d,bus=pci.0,addr=0x6 mac=52:54:00:ee:96:6d,bus=pci.0,addr=0x6
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
</interface> </interface>
<interface type='vhostuser'> <interface type='vhostuser'>
<mac address='52:54:00:ee:96:6d'/> <mac address='52:54:00:ee:96:6d'/>
<source type='unix' path='/tmp/vhost2.sock' mode='client' reconnect='10'/> <source type='unix' path='/tmp/vhost2.sock' mode='client'/>
<model type='virtio'/> <model type='virtio'/>
<driver queues='4'/> <driver queues='4'/>
</interface> </interface>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册