On 06/22/2011 06:42 PM, Matthias Bolte wrote:
The refactoring in 6a5978833a5 and df3d8c362d3 was incomplete
as it accidentally moved macvtap related code out of a
#if WITH_MACVTAP in a #if __linux__ block. To fix this move
ifaceMacvtapLinkAdd and ifaceMacvtapLinkDump back under
#if WITH_MACVTAP.
Also nlComm was moved from #if WITH_MACVTAP to #if __linux__
but configure.ac was not updated to match this, as libnl is
now required on Linux always because of this.
So with your changes it's still required for all Linux builds? That's
potentially not good at all. RHEL5 uses libnl 1.0, which is not ABI
compatible with libnl 1.1 (which everything in libvirt is written to).
(Up to now we've been saved the headache because macvtap isn't
enabled/supported on RHEL5.)
The upstream libnl maintainer (I'm Cc'ing him) has told me it wouldn't
be difficult to make libvirt's libnl usage compatible with all versions
of libnl, but he didn't elaborate. If we're lucky, the libnl usage in
that bit of code will require no change, but we definitely shouldn't let
ourselves get to a release that requires libnl for all Linux builds
without resolving this.
(Thomas - the code in question is in src/util/netlink.[ch] of
git://libvirt.org/libvirt.git)