mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-19 14:58:07 +00:00
Merge pull request #2235 from Raizo62/virtio-net-pci
qemu : with "virtio-net-pci", fix the speed and duplex
This commit is contained in:
commit
a070a72f66
@ -2150,6 +2150,8 @@ class QemuVM(BaseNode):
|
|||||||
else:
|
else:
|
||||||
# newer QEMU networking syntax
|
# newer QEMU networking syntax
|
||||||
device_string = "{},mac={}".format(adapter_type, mac)
|
device_string = "{},mac={}".format(adapter_type, mac)
|
||||||
|
if adapter_type == "virtio-net-pci":
|
||||||
|
device_string = "{},speed=10000,duplex=full".format(device_string)
|
||||||
bridge_id = math.floor(pci_device_id / 32)
|
bridge_id = math.floor(pci_device_id / 32)
|
||||||
if bridge_id > 0:
|
if bridge_id > 0:
|
||||||
if pci_bridges_created < bridge_id:
|
if pci_bridges_created < bridge_id:
|
||||||
|
@ -737,6 +737,20 @@ async def test_build_command_large_number_of_adapters(vm):
|
|||||||
await vm._build_command()
|
await vm._build_command()
|
||||||
|
|
||||||
|
|
||||||
|
async def test_build_command_with_virtio_net_pci_adapter(vm):
|
||||||
|
"""
|
||||||
|
Test virtio-net-pci adapter which has parameters speed=1000 & duplex=full hard-coded
|
||||||
|
"""
|
||||||
|
|
||||||
|
vm.manager.get_qemu_version = AsyncioMagicMock(return_value="2.4.0")
|
||||||
|
vm.adapters = 1
|
||||||
|
vm.mac_address = "00:00:ab:0e:0f:09"
|
||||||
|
vm._adapter_type = "virtio-net-pci"
|
||||||
|
with asyncio_patch("asyncio.create_subprocess_exec", return_value=MagicMock()):
|
||||||
|
cmd = await vm._build_command()
|
||||||
|
assert "virtio-net-pci,mac=00:00:ab:0e:0f:09,speed=10000,duplex=full,netdev=gns3-0" in cmd
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Not supported on Windows")
|
@pytest.mark.skipif(sys.platform.startswith("win"), reason="Not supported on Windows")
|
||||||
async def test_build_command_with_invalid_options(vm):
|
async def test_build_command_with_invalid_options(vm):
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user