qemu: support live change of the bridge used by a guest network device
qemu: support live change of the bridge used by a guest network device

This patch was created to resolve this upstream bug:

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

and is at least a partial solution to this RHEL RFE:

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

Previously the only attribute of a network device that could be
modified by virUpdateDeviceFlags() ("virsh update-device") was the
link state; attempts to change any other attribute would log an error
and fail.

This patch adds recognition of a change in bridge device name, and
supports reconnecting the guest's interface to the new device.
Standard audit logs for detaching and attaching a network device are
also generated. Although the current auditing function doesn't log the
bridge being attached to, this will later be changed in a separate
patch.

datto/libvirt,agx/libvirt,datto/libvirt,eskultety/libvirt,agx/libvirt,fabianfreyer/libvirt,warewolf/libvirt,cbosdo/libvirt,bjzhang/libvirt,jeckersb/libvirt,datto/libvirt,andreabolognani/libvirt,jeckersb/libvirt,warewolf/libvirt,emaste/libvirt,emaste/libvirt,jeckersb/libvirt,jardasgit/libvirt,jfehlig/libvirt,crobinso/libvirt,VenkatDatta/libvirt,rlaager/libvirt,bjzhang/libvirt,nertpinx/libvirt,nertpinx/libvirt,wiedi/libvirt,andreabolognani/libvirt,datto/libvirt,cbosdo/libvirt,iam-TJ/libvirt,emaste/libvirt,crobinso/libvirt,iam-TJ/libvirt,dumbbell/libvirt,taget/libvirt,rmarwaha/libvirt,iam-TJ/libvirt,emaste/libvirt,siboulet/libvirt-openvz,wiedi/libvirt,iam-TJ/libvirt,taget/libvirt,trainstack/libvirt,andreabolognani/libvirt,shugaoye/libvirt,nertpinx/libvirt,zhlcindy/libvirt-1.1.4-maintain,VenkatDatta/libvirt,libvirt/libvirt,novel/fbsd-libvirt,olafhering/libvirt,emaste/libvirt,andreabolognani/libvirt,wiedi/libvirt,jardasgit/libvirt,shugaoye/libvirt,eskultety/libvirt,eskultety/libvirt,emaste/libvirt,warewolf/libvirt,libvirt/libvirt,jfehlig/libvirt,eskultety/libvirt,elmarco/libvirt,bjzhang/libvirt,rmarwaha/libvirt1,rmarwaha/libvirt1,dumbbell/libvirt,warewolf/libvirt,datto/libvirt,rlaager/libvirt,taget/libvirt,libvirt/libvirt,novel/fbsd-libvirt,elmarco/libvirt,jeckersb/libvirt,rlaager/libvirt,bjzhang/libvirt,fabianfreyer/libvirt,rmarwaha/libvirt1,wiedi/libvirt,iam-TJ/libvirt,shugaoye/libvirt,novel/fbsd-libvirt,agx/libvirt,jeckersb/libvirt,iam-TJ/libvirt,nertpinx/libvirt,rmarwaha/libvirt1,zippy2/libvirt,cbosdo/libvirt,elmarco/libvirt,jardasgit/libvirt,jeckersb/libvirt,warewolf/libvirt,rmarwaha/libvirt,warewolf/libvirt,zhlcindy/libvirt-1.1.4-maintain,novel/fbsd-libvirt,agx/libvirt,dumbbell/libvirt,olafhering/libvirt,rmarwaha/libvirt,jfehlig/libvirt,novel/fbsd-libvirt,taget/libvirt,trainstack/libvirt,taget/libvirt,dumbbell/libvirt,trainstack/libvirt,dumbbell/libvirt,trainstack/libvirt,wiedi/libvirt,jfehlig/libvirt,wiedi/libvirt,rmarwaha/libvirt,novel/fbsd-libvirt,foomango/libvirt,olafhering/libvirt,emaste/libvirt,zhlcindy/libvirt-1.1.4-maintain,foomango/libvirt,wiedi/libvirt,rmarwaha/libvirt,rlaager/libvirt,foomango/libvirt,jeckersb/libvirt,elmarco/libvirt,dumbbell/libvirt,trainstack/libvirt,libvirt/libvirt,fabianfreyer/libvirt,cbosdo/libvirt,VenkatDatta/libvirt,VenkatDatta/libvirt,trainstack/libvirt,VenkatDatta/libvirt,novel/fbsd-libvirt,rmarwaha/libvirt1,rmarwaha/libvirt,zippy2/libvirt,eskultety/libvirt,shugaoye/libvirt,cbosdo/libvirt,fabianfreyer/libvirt,crobinso/libvirt,novel/fbsd-libvirt,siboulet/libvirt-openvz,zhlcindy/libvirt-1.1.4-maintain,foomango/libvirt,nertpinx/libvirt,siboulet/libvirt-openvz,zhlcindy/libvirt-1.1.4-maintain,iam-TJ/libvirt,elmarco/libvirt,agx/libvirt,novel/fbsd-libvirt,warewolf/libvirt,siboulet/libvirt-openvz,trainstack/libvirt,foomango/libvirt,crobinso/libvirt,siboulet/libvirt-openvz,olafhering/libvirt,rlaager/libvirt,shugaoye/libvirt,rmarwaha/libvirt1,zippy2/libvirt,bjzhang/libvirt,zippy2/libvirt,jardasgit/libvirt,andreabolognani/libvirt,fabianfreyer/libvirt,jardasgit/libvirt