Bind qemu UDP tunnels on all hosts

Qemu is the only platform where we limit the binding of UDP
tunnel to a specific host. It's probably much secure and cleaner
but we have scenario where we need one port bind to an IP and
another bind to a different IP (Link between qemu and and a VM on the
GNS3 VM)

This allow the use of 134fed8fc5
This commit is contained in:
Julien Duponchelle 2016-08-26 10:40:11 +02:00
parent 134fed8fc5
commit 7fd520c08b
No known key found for this signature in database
GPG Key ID: CE8B29639E07F5E8

View File

@ -1098,8 +1098,8 @@ class QemuVM(BaseNode):
if self.ubridge and self.ubridge.is_running():
yield from self._add_ubridge_udp_connection("QEMU-{}-{}".format(self._id, adapter_number),
self._local_udp_tunnels[adapter_number][1],
nio)
self._local_udp_tunnels[adapter_number][1],
nio)
elif self.is_running():
raise QemuError("Sorry, adding a link to a started Qemu VM is not supported without using uBridge.")
@ -1202,6 +1202,7 @@ class QemuVM(BaseNode):
log.info("QEMU VM '{name}' [{id}]: stopping packet capture on adapter {adapter_number}".format(name=self.name,
id=self.id,
adapter_number=adapter_number))
@property
def started(self):
"""
@ -1419,7 +1420,7 @@ class QemuVM(BaseNode):
adapter_number,
nio.rhost,
nio.rport,
self._host,
"0.0.0.0",
nio.lport)])
elif isinstance(nio, NIOTAP):
network_options.extend(["-net", "tap,name=gns3-{},ifname={}".format(adapter_number, nio.tap_device)])