libvirt/src/util
Jiri Denemark 241c22a9a5 virnetdevbridge: Ignore EEXIST when adding an entry to fdb
When updating entries in a bridge forwarding database (i.e., when
macTableManager='libvirt' is configured for the bridge), we may end up
in a situation when the entry we want to add is already present. Let's
just ignore the error in such a case.

This fixes an error to resume a domain when fdb entries were not
properly removed when the domain was paused:

    virsh # resume test
    error: Failed to resume domain test
    error: error adding fdb entry for vnet2: File exists

For some reason, fdb entries are only removed when libvirt explicitly
stops CPUs, but nothing happens when we just get STOP event from QEMU.
An alternative approach would be to make sure we always remove the
entries regardless on why a domain was paused (e.g., during migration),
but that would be a significantly more disruptive change with possible
side effects.

https://bugzilla.redhat.com/show_bug.cgi?id=1603155

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
2021-05-03 11:12:58 +02:00
..
glibcompat.c src: ensure GSource background unref happens in correct event loop 2021-03-17 09:16:05 +00:00
glibcompat.h src: ensure GSource background unref happens in correct event loop 2021-03-17 09:16:05 +00:00
iohelper.c util: iohelper: Don't handle OOM from posix_memalign 2021-03-02 09:50:19 +01:00
meson.build meson: tools: depend on keycode generated sources 2021-03-05 20:05:54 +04:00
viralloc.c util: Make virReallocN return void 2021-03-22 12:44:18 +01:00
viralloc.h util: Make virReallocN return void 2021-03-22 12:44:18 +01:00
virarch.c
virarch.h util: add ARCH_IS_MIPS64 helper macro 2020-11-20 12:09:51 +00:00
virarptable.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virarptable.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
viraudit.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
viraudit.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virauth.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virauth.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virauthconfig.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virauthconfig.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virbitmap.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virbitmap.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virbpf.c
virbpf.h
virbuffer.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virbuffer.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
vircgroup.c Replace AbsPath judgement method with g_path_is_absolute() 2021-04-21 10:02:09 +02:00
vircgroup.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
vircgroupbackend.c vircgroupbackend: Extend error messages in VIR_CGROUP_BACKEND_CALL() 2021-04-19 11:21:40 +02:00
vircgroupbackend.h vircgroupbackend: Extend error messages in VIR_CGROUP_BACKEND_CALL() 2021-04-19 11:21:40 +02:00
vircgrouppriv.h vircgroup: Fix virCgroupKillRecursive() wrt nested controllers 2021-04-19 11:21:40 +02:00
vircgroupv1.c vircgroup: Fix virCgroupKillRecursive() wrt nested controllers 2021-04-19 11:21:40 +02:00
vircgroupv1.h
vircgroupv2.c vircgroup: Fix virCgroupKillRecursive() wrt nested controllers 2021-04-19 11:21:40 +02:00
vircgroupv2.h
vircgroupv2devices.c vircgroupv2devices: refactor virCgroupV2DevicesRemoveProg 2021-04-14 12:06:16 +02:00
vircgroupv2devices.h vircgroupv2devices: refactor virCgroupV2DevicesRemoveProg 2021-04-14 12:06:16 +02:00
vircommand.c Replace AbsPath judgement method with g_path_is_absolute() 2021-04-21 10:02:09 +02:00
vircommand.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
vircommandpriv.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virconf.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virconf.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
vircrypto.c virCryptoEncryptDataAESgnutls: Use virSecureErase instead of memset 2021-02-03 13:07:13 +01:00
vircrypto.h
virdaemon.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
virdaemon.h
virdevmapper.c virDevMapperGetTargetsImpl: Use correct length when copying into dm.name 2021-03-08 12:16:13 +01:00
virdevmapper.h
virdnsmasq.c virdnsmasq: remove binaryPath argument from dnsmasqCapsNewFromBinary 2021-04-21 14:18:31 +02:00
virdnsmasq.h virdnsmasq: remove binaryPath argument from dnsmasqCapsNewFromBinary 2021-04-21 14:18:31 +02:00
virebtables.c util: replace VIR_FREE with g_free in all vir*Free() functions 2021-02-05 00:20:43 -05:00
virebtables.h
virendian.h
virenum.c
virenum.h
virerror.c Fix spelling 2021-04-15 15:42:21 +02:00
virerror.h util: virerror: Remove VIR_ERROR_MAX_LENGTH macro 2021-03-05 15:01:29 +01:00
virerrorpriv.h
virevent.c
virevent.h
vireventglib.c src: ensure GSource background unref happens in correct event loop 2021-03-17 09:16:05 +00:00
vireventglib.h
vireventglibwatch.c
vireventglibwatch.h
vireventthread.c
vireventthread.h
virfcp.c virBuildPath: Remove return value 2021-03-02 09:50:19 +01:00
virfcp.h
virfdstream.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virfdstream.h
virfile.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virfile.h tests: introduce virfirewallmock 2021-04-21 14:18:51 +02:00
virfilecache.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virfilecache.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virfirewall.c virfirewall: use virFindFileInPath instead of virFileIsExecutable 2021-04-21 14:18:39 +02:00
virfirewall.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virfirewalld.c
virfirewalld.h
virfirewalldpriv.h
virfirewallpriv.h
virfirmware.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virfirmware.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virgdbus.c
virgdbus.h
virgettext.c
virgettext.h
virgic.c
virgic.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virglibutil.c util: Add helpers for auto-freeing GSList filled with strings 2021-02-11 17:05:32 +01:00
virglibutil.h util: Add helpers for auto-freeing GSList filled with strings 2021-02-11 17:05:32 +01:00
virhash.c Fix spelling 2021-04-15 15:42:21 +02:00
virhash.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virhashcode.c
virhashcode.h
virhook.c virBuildPath: Remove return value 2021-03-02 09:50:19 +01:00
virhook.h
virhostcpu.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virhostcpu.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virhostcpupriv.h
virhostmem.c
virhostmem.h
virhostuptime.c virhostuptime: Fix rounding in uptime calculation 2021-02-02 15:00:55 +01:00
virhostuptime.h
viridentity.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
viridentity.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virinitctl.c
virinitctl.h
viriptables.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
viriptables.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
viriscsi.c
viriscsi.h
virjson.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virjson.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virkeycode.c
virkeycode.h
virkmod.c
virkmod.h
virlease.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virlease.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virlockspace.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virlockspace.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virlog.c virlog: Remove stray "todo" in comment 2021-04-15 15:42:21 +02:00
virlog.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virmacaddr.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virmacaddr.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virmacmap.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virmacmap.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virmdev.c nodedev: refactor virMediatedDeviceGetIOMMUGroupNum() 2021-04-15 08:51:37 -05:00
virmdev.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virmodule.c
virmodule.h
virnetdev.c virnetdev: move virNetDevSetRootQDisc to virnetdevbandwidth 2021-04-21 14:19:34 +02:00
virnetdev.h virnetdev: move virNetDevSetRootQDisc to virnetdevbandwidth 2021-04-21 14:19:34 +02:00
virnetdevbandwidth.c virnetdev: move virNetDevSetRootQDisc to virnetdevbandwidth 2021-04-21 14:19:34 +02:00
virnetdevbandwidth.h virnetdev: move virNetDevSetRootQDisc to virnetdevbandwidth 2021-04-21 14:19:34 +02:00
virnetdevbridge.c virnetdevbridge: Ignore EEXIST when adding an entry to fdb 2021-05-03 11:12:58 +02:00
virnetdevbridge.h
virnetdevip.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevip.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevmacvlan.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevmacvlan.h netdevmacvlan: Use helper function to create unique macvlan/macvtap name 2020-12-15 13:35:33 -05:00
virnetdevmidonet.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevmidonet.h
virnetdevopenvswitch.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevopenvswitch.h virnetdevopenvswitch: Try to unescape ovs-vsctl reply in one specific case 2020-12-17 09:27:51 +01:00
virnetdevtap.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevtap.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevveth.c util:veth: Create veth device pair by netlink 2020-12-16 14:43:18 -05:00
virnetdevveth.h
virnetdevvlan.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevvlan.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevvportprofile.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetdevvportprofile.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetlink.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnetlink.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnodesuspend.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnodesuspend.h
virnuma.c conf, docs, schema: Add support for 'restrictive' mode in numatune 2021-04-19 11:39:13 +02:00
virnuma.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnvme.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virnvme.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virobject.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virobject.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virpci.c Fix spelling 2021-04-15 15:42:21 +02:00
virpci.h conf: Use virTristateXXX in virPCIDeviceAddress 2021-04-16 09:48:42 +02:00
virperf.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virperf.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virpidfile.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
virpidfile.h
virpolkit.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virpolkit.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virportallocator.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virportallocator.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virprobe.h
virprocess.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virprocess.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virqemu.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virqemu.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virrandom.c internal.h: Introduce and use VIR_IS_POW2() 2020-12-04 16:24:19 +01:00
virrandom.h
virresctrl.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virresctrl.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virresctrlpriv.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virrotatingfile.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virrotatingfile.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virscsi.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virscsi.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virscsihost.c
virscsihost.h
virscsivhost.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virscsivhost.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virseclabel.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virseclabel.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsecret.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsecret.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsecureerase.c util: virsecureerase: Introduce virSecureEraseString 2021-02-03 13:07:13 +01:00
virsecureerase.h util: virsecureerase: Introduce virSecureEraseString 2021-02-03 13:07:13 +01:00
virsocket.c util: Fix file descriptor passing on 64-bit FreeBSD and NetBSD. 2021-02-17 10:15:33 +00:00
virsocket.h
virsocketaddr.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsocketaddr.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virstoragefile.c virStorageFileParseBackingStoreStr: use g_strsplit instead of virStringSplitCount 2021-04-12 15:55:09 +02:00
virstoragefile.h Remove virStorageFileCanonicalizePath 2021-04-12 15:55:09 +02:00
virstring.c util: virstring: Remove the virStringSplitCount wrapper funcion 2021-04-12 15:55:10 +02:00
virstring.h util: virstring: Remove the virStringSplitCount wrapper funcion 2021-04-12 15:55:10 +02:00
virsysinfo.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsysinfo.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsysinfopriv.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsystemd.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsystemd.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virsystemdpriv.h
virthread.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virthread.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virthreadjob.c
virthreadjob.h
virthreadpool.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virthreadpool.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virtime.c
virtime.h
virtpm.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virtpm.h
virtypedparam-public.c Do not check return value of VIR_RESIZE_N 2021-03-22 12:44:18 +01:00
virtypedparam.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virtypedparam.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
viruri.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
viruri.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virusb.c lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virusb.h lib: Drop internal virXXXPtr typedefs 2021-04-13 17:00:38 +02:00
virutil.c Do not check return value of VIR_RESIZE_N 2021-03-22 12:44:18 +01:00
virutil.h virIndexToDiskName: Make 'idx' unsigned and remove check 2021-03-05 15:33:34 +01:00
viruuid.c viruuid: Rework virUUIDIsValid() 2020-12-04 16:24:19 +01:00
viruuid.h viruuid: Rework virUUIDIsValid() 2020-12-04 16:24:19 +01:00
virvhba.c
virvhba.h
virvsock.c
virvsock.h
virxdrdefs.h
virxml.c util: xml: Introduce virXMLFormatElementEmpty 2021-04-26 17:22:30 +02:00
virxml.h util: xml: Introduce virXMLFormatElementEmpty 2021-04-26 17:22:30 +02:00