qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: modify NetdevUserOptions through QMP in QEMU 6 - how?


From: Thomas Huth
Subject: Re: modify NetdevUserOptions through QMP in QEMU 6 - how?
Date: Mon, 13 Dec 2021 09:02:15 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0

 Hi!

On 10/12/2021 18.02, Alexander Sosedkin wrote:
With QEMU 5 I could totally issue a QMP netdev_add
with the same ID to adjust the NetdevUserOptions I want,
such as restrict or hostfwd. No deleting needed,
just a netdev_add with what I want changed as a param.

I'm a little bit surprised that this worked, since AFAIK there is no code in QEMU to *change* the parameters of a running netdev... likely the code added a new netdev with the same ID, replacing the old one?

With QEMU 6 it started failing, claiming the ID is already used.
And if I do netdev_del + netdev_add, I just lose connectivity.
What's even stranger, I still see old netdev attached in info network:

netdev_del {'id': 'net0'}
{}
human-monitor-command {'command-line': 'info network'}
virtio-net-pci.0:
index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
  \ net0: index=0,type=user,net=10.0.2.0,restrict=off

I think that's "normal" - there used to be problems in the past that the devices (virtio-net-pci in this case) did not like the netdevs to be removed on the fly. So the netdevs are kept around until you remove the device, too (i.e. issue a device_del for the virtio-net-pci device).

netdev_add {'type': 'user', 'id': 'net0', 'restrict': False, 'hostfwd': 
[{'str': 'tcp:127.0.0.1:58239-:22'}]}
{}
human-monitor-command {'command-line': 'info network'}
unseal: virtio-net-pci.0:
index=0,type=nic,model=virtio-net-pci,macaddr=52:54:00:12:34:56
  \ net0: index=0,type=user,net=10.0.2.0,restrict=off
net0: index=0,type=user,net=10.0.2.0,restrict=off

What's the correct QMP command sequence to modify NetdevUserOptions?

AFAIK there is no way to modify running netdevs - you'd have to delete the netdev and the device, and then add both again. But I might have missed something here, so I CC:-ed some people who might be more familiar with the details here.

 Thomas


Please CC me on replies.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]