diff options
| author | Shmulik Ladkani <shmulik.ladkani@gmail.com> | 2016-09-05 12:11:02 +0300 |
|---|---|---|
| committer | Jason Wang <jasowang@redhat.com> | 2016-09-27 17:54:21 +0800 |
| commit | a4543b1b37dc05be84c7a95751af9d473f5fb41a (patch) | |
| tree | 882380d4604770ca193cba1e5ea37f23b4a64dba /net/net.c | |
| parent | 1c0fbfa3dedf49115e194e533a7b6a640a28447c (diff) | |
| download | focaccia-qemu-a4543b1b37dc05be84c7a95751af9d473f5fb41a.tar.gz focaccia-qemu-a4543b1b37dc05be84c7a95751af9d473f5fb41a.zip | |
net: hmp_host_net_remove: Del the -net option of the removed host_net
Upon hmp_host_net_remove(), the appropriate -net client is deleted (according to the given vlan_id and device id), as well as the corresponsing hub port. However, the relevant '-net' option that was added by former hmp_host_net_add() call is still present in "net" options group. This makes the following legit HMP sequence erroneous: (qemu) host_net_add tap id=n1,ifname=tap1,script=no,downscript=no,vlan=1 (qemu) host_net_remove 1 n1 (qemu) host_net_add tap id=n1,ifname=tap1,script=no,downscript=no,vlan=1 Duplicate ID 'n1' for net Fix, by deleting the stored '-net' option associated with the given device id. Signed-off-by: Shmulik Ladkani <shmulik.ladkani@ravellosystems.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'net/net.c')
| -rw-r--r-- | net/net.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/net.c b/net/net.c index d51cb29882..0bec096d75 100644 --- a/net/net.c +++ b/net/net.c @@ -1179,6 +1179,7 @@ void hmp_host_net_remove(Monitor *mon, const QDict *qdict) qemu_del_net_client(nc->peer); qemu_del_net_client(nc); + qemu_opts_del(qemu_opts_find(qemu_find_opts("net"), device)); } void netdev_add(QemuOpts *opts, Error **errp) |