mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-24 17:28:08 +00:00
Remove NAT NIO.
This commit is contained in:
parent
f0e0988d6a
commit
f2eb2a4bdc
@ -37,7 +37,6 @@ from .project_manager import ProjectManager
|
|||||||
|
|
||||||
from .nios.nio_udp import NIOUDP
|
from .nios.nio_udp import NIOUDP
|
||||||
from .nios.nio_tap import NIOTAP
|
from .nios.nio_tap import NIOTAP
|
||||||
from .nios.nio_nat import NIONAT
|
|
||||||
from .nios.nio_generic_ethernet import NIOGenericEthernet
|
from .nios.nio_generic_ethernet import NIOGenericEthernet
|
||||||
from ..utils.images import md5sum, remove_checksum
|
from ..utils.images import md5sum, remove_checksum
|
||||||
from .node_error import NodeError
|
from .node_error import NodeError
|
||||||
@ -388,8 +387,6 @@ class BaseManager:
|
|||||||
if not is_interface_up(ethernet_device):
|
if not is_interface_up(ethernet_device):
|
||||||
raise aiohttp.web.HTTPConflict(text="Ethernet interface {} does not exist or is down".format(ethernet_device))
|
raise aiohttp.web.HTTPConflict(text="Ethernet interface {} does not exist or is down".format(ethernet_device))
|
||||||
nio = NIOGenericEthernet(ethernet_device)
|
nio = NIOGenericEthernet(ethernet_device)
|
||||||
elif nio_settings["type"] == "nio_nat":
|
|
||||||
nio = NIONAT()
|
|
||||||
assert nio is not None
|
assert nio is not None
|
||||||
return nio
|
return nio
|
||||||
|
|
||||||
|
@ -36,7 +36,6 @@ from .qemu_error import QemuError
|
|||||||
from ..adapters.ethernet_adapter import EthernetAdapter
|
from ..adapters.ethernet_adapter import EthernetAdapter
|
||||||
from ..nios.nio_udp import NIOUDP
|
from ..nios.nio_udp import NIOUDP
|
||||||
from ..nios.nio_tap import NIOTAP
|
from ..nios.nio_tap import NIOTAP
|
||||||
from ..nios.nio_nat import NIONAT
|
|
||||||
from ..base_node import BaseNode
|
from ..base_node import BaseNode
|
||||||
from ...schemas.qemu import QEMU_OBJECT_SCHEMA, QEMU_PLATFORMS
|
from ...schemas.qemu import QEMU_OBJECT_SCHEMA, QEMU_PLATFORMS
|
||||||
from ...utils.asyncio import monitor_process
|
from ...utils.asyncio import monitor_process
|
||||||
@ -1356,8 +1355,6 @@ class QemuVM(BaseNode):
|
|||||||
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)])
|
||||||
elif isinstance(nio, NIONAT):
|
|
||||||
network_options.extend(["-net", "user,vlan={},name=gns3-{}".format(adapter_number, adapter_number)])
|
|
||||||
else:
|
else:
|
||||||
network_options.extend(["-net", "nic,vlan={},macaddr={},model={}".format(adapter_number, mac, self._adapter_type)])
|
network_options.extend(["-net", "nic,vlan={},macaddr={},model={}".format(adapter_number, mac, self._adapter_type)])
|
||||||
|
|
||||||
@ -1373,8 +1370,6 @@ class QemuVM(BaseNode):
|
|||||||
nio.lport)])
|
nio.lport)])
|
||||||
elif isinstance(nio, NIOTAP):
|
elif isinstance(nio, NIOTAP):
|
||||||
network_options.extend(["-netdev", "tap,id=gns3-{},ifname={},script=no,downscript=no".format(adapter_number, nio.tap_device)])
|
network_options.extend(["-netdev", "tap,id=gns3-{},ifname={},script=no,downscript=no".format(adapter_number, nio.tap_device)])
|
||||||
elif isinstance(nio, NIONAT):
|
|
||||||
network_options.extend(["-netdev", "user,id=gns3-{}".format(adapter_number)])
|
|
||||||
else:
|
else:
|
||||||
network_options.extend(["-device", "{},mac={}".format(self._adapter_type, mac)])
|
network_options.extend(["-device", "{},mac={}".format(self._adapter_type, mac)])
|
||||||
|
|
||||||
|
@ -33,7 +33,6 @@ from gns3server.utils.telnet_server import TelnetServer
|
|||||||
from gns3server.utils.asyncio import wait_for_file_creation, wait_for_named_pipe_creation
|
from gns3server.utils.asyncio import wait_for_file_creation, wait_for_named_pipe_creation
|
||||||
from .virtualbox_error import VirtualBoxError
|
from .virtualbox_error import VirtualBoxError
|
||||||
from ..nios.nio_udp import NIOUDP
|
from ..nios.nio_udp import NIOUDP
|
||||||
from ..nios.nio_nat import NIONAT
|
|
||||||
from ..adapters.ethernet_adapter import EthernetAdapter
|
from ..adapters.ethernet_adapter import EthernetAdapter
|
||||||
from ..base_node import BaseNode
|
from ..base_node import BaseNode
|
||||||
|
|
||||||
@ -777,7 +776,7 @@ class VirtualBoxVM(BaseNode):
|
|||||||
yield from self._modify_vm("--cableconnected{} off".format(adapter_number + 1))
|
yield from self._modify_vm("--cableconnected{} off".format(adapter_number + 1))
|
||||||
nio = self._ethernet_adapters[adapter_number].get_nio(0)
|
nio = self._ethernet_adapters[adapter_number].get_nio(0)
|
||||||
if nio:
|
if nio:
|
||||||
if not isinstance(nio, NIONAT) and not self._use_any_adapter and attachment not in ("none", "null", "generic"):
|
if not self._use_any_adapter and attachment not in ("none", "null", "generic"):
|
||||||
raise VirtualBoxError("Attachment ({}) already configured on adapter {}. "
|
raise VirtualBoxError("Attachment ({}) already configured on adapter {}. "
|
||||||
"Please set it to 'Not attached' to allow GNS3 to use it.".format(attachment,
|
"Please set it to 'Not attached' to allow GNS3 to use it.".format(attachment,
|
||||||
adapter_number + 1))
|
adapter_number + 1))
|
||||||
@ -807,9 +806,6 @@ class VirtualBoxVM(BaseNode):
|
|||||||
yield from self._modify_vm("--nicproperty{} dest={}".format(adapter_number + 1, nio.rhost))
|
yield from self._modify_vm("--nicproperty{} dest={}".format(adapter_number + 1, nio.rhost))
|
||||||
yield from self._modify_vm("--nicproperty{} dport={}".format(adapter_number + 1, nio.rport))
|
yield from self._modify_vm("--nicproperty{} dport={}".format(adapter_number + 1, nio.rport))
|
||||||
yield from self._modify_vm("--cableconnected{} on".format(adapter_number + 1))
|
yield from self._modify_vm("--cableconnected{} on".format(adapter_number + 1))
|
||||||
elif isinstance(nio, NIONAT):
|
|
||||||
yield from self._modify_vm("--nic{} nat".format(adapter_number + 1))
|
|
||||||
yield from self._modify_vm("--cableconnected{} on".format(adapter_number + 1))
|
|
||||||
|
|
||||||
if nio.capturing:
|
if nio.capturing:
|
||||||
yield from self._modify_vm("--nictrace{} on".format(adapter_number + 1))
|
yield from self._modify_vm("--nictrace{} on".format(adapter_number + 1))
|
||||||
@ -937,10 +933,6 @@ class VirtualBoxVM(BaseNode):
|
|||||||
log.warning("UDP tunnel has not been set on nic: {}".format(adapter_number + 1))
|
log.warning("UDP tunnel has not been set on nic: {}".format(adapter_number + 1))
|
||||||
self.project.emit("log.warning", {"message": "UDP tunnel has not been set on nic: {}".format(adapter_number + 1)})
|
self.project.emit("log.warning", {"message": "UDP tunnel has not been set on nic: {}".format(adapter_number + 1)})
|
||||||
|
|
||||||
elif isinstance(nio, NIONAT):
|
|
||||||
yield from self._control_vm("nic{} nat".format(adapter_number + 1))
|
|
||||||
yield from self._control_vm("setlinkstate{} on".format(adapter_number + 1))
|
|
||||||
|
|
||||||
adapter.add_nio(0, nio)
|
adapter.add_nio(0, nio)
|
||||||
log.info("VirtualBox VM '{name}' [{id}]: {nio} added to adapter {adapter_number}".format(name=self.name,
|
log.info("VirtualBox VM '{name}' [{id}]: {nio} added to adapter {adapter_number}".format(name=self.name,
|
||||||
id=self.id,
|
id=self.id,
|
||||||
|
@ -31,7 +31,6 @@ from gns3server.utils.asyncio import wait_for_file_creation, wait_for_named_pipe
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from .vmware_error import VMwareError
|
from .vmware_error import VMwareError
|
||||||
from ..nios.nio_udp import NIOUDP
|
from ..nios.nio_udp import NIOUDP
|
||||||
from ..nios.nio_nat import NIONAT
|
|
||||||
from .nio_vmnet import NIOVMNET
|
from .nio_vmnet import NIOVMNET
|
||||||
from ..adapters.ethernet_adapter import EthernetAdapter
|
from ..adapters.ethernet_adapter import EthernetAdapter
|
||||||
from ..base_node import BaseNode
|
from ..base_node import BaseNode
|
||||||
@ -766,31 +765,25 @@ class VMwareVM(BaseNode):
|
|||||||
adapter_number=adapter_number))
|
adapter_number=adapter_number))
|
||||||
|
|
||||||
self._read_vmx_file()
|
self._read_vmx_file()
|
||||||
if isinstance(nio, NIONAT):
|
# check if trying to connect to a nat, bridged or host-only adapter
|
||||||
if self._started:
|
if not self._use_any_adapter and self._get_vmx_setting("ethernet{}.present".format(adapter_number), "TRUE"):
|
||||||
raise VMwareError("Sorry, adding a link to NAT for a started VMware VM is not supported")
|
# check for the connection type
|
||||||
self._vmx_pairs["ethernet{}.connectiontype".format(adapter_number)] = "nat"
|
connection_type = "ethernet{}.connectiontype".format(adapter_number)
|
||||||
self._write_vmx_file()
|
if connection_type in self._vmx_pairs and self._vmx_pairs[connection_type] in ("nat", "bridged", "hostonly"):
|
||||||
else:
|
raise VMwareError("Attachment ({}) already configured on network adapter {}. "
|
||||||
# check if trying to connect to a nat, bridged or host-only adapter
|
"Please remove it or allow GNS3 to use any adapter.".format(self._vmx_pairs[connection_type],
|
||||||
if not self._use_any_adapter and self._get_vmx_setting("ethernet{}.present".format(adapter_number), "TRUE"):
|
adapter_number))
|
||||||
# check for the connection type
|
|
||||||
connection_type = "ethernet{}.connectiontype".format(adapter_number)
|
|
||||||
if connection_type in self._vmx_pairs and self._vmx_pairs[connection_type] in ("nat", "bridged", "hostonly"):
|
|
||||||
raise VMwareError("Attachment ({}) already configured on network adapter {}. "
|
|
||||||
"Please remove it or allow GNS3 to use any adapter.".format(self._vmx_pairs[connection_type],
|
|
||||||
adapter_number))
|
|
||||||
|
|
||||||
if isinstance(nio, NIOVMNET):
|
if isinstance(nio, NIOVMNET):
|
||||||
if self._started:
|
if self._started:
|
||||||
raise VMwareError("Sorry, adding a link to a started VMware VM is not supported without uBridge enabled")
|
raise VMwareError("Sorry, adding a link to a started VMware VM is not supported without uBridge enabled")
|
||||||
self._vmx_pairs["ethernet{}.vnet".format(adapter_number)] = nio.vmnet
|
self._vmx_pairs["ethernet{}.vnet".format(adapter_number)] = nio.vmnet
|
||||||
self._write_vmx_file()
|
self._write_vmx_file()
|
||||||
if nio.vmnet not in self._vmnets:
|
if nio.vmnet not in self._vmnets:
|
||||||
self._vmnets.append(nio.vmnet)
|
self._vmnets.append(nio.vmnet)
|
||||||
adapter.add_nio(0, nio)
|
adapter.add_nio(0, nio)
|
||||||
if self._started and self._use_ubridge and self._ubridge_hypervisor:
|
if self._started and self._use_ubridge and self._ubridge_hypervisor:
|
||||||
yield from self._add_ubridge_connection(nio, adapter_number)
|
yield from self._add_ubridge_connection(nio, adapter_number)
|
||||||
|
|
||||||
log.info("VMware VM '{name}' [{id}]: {nio} added to adapter {adapter_number}".format(name=self.name,
|
log.info("VMware VM '{name}' [{id}]: {nio} added to adapter {adapter_number}".format(name=self.name,
|
||||||
id=self.id,
|
id=self.id,
|
||||||
|
Loading…
Reference in New Issue
Block a user