1
0
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:
Jeremy Grossmann 2023-06-03 21:03:04 +09:30 committed by GitHub
commit a070a72f66
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 0 deletions

View File

@ -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:

View File

@ -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):