1
0
mirror of https://github.com/GNS3/gns3-server synced 2024-11-28 11:18:11 +00:00

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