On 10/29/2014 02:08 PM, Roman Bogorodskiy wrote: > Conrad Meyer wrote: > >> Hi all, >> >> The recent commit with SHA1 cc0e8c244d080f56392278e836cc378ba848e7aa, >> "util: Functions to update host network device's multicast filter," >> breaks the build on FreeBSD, so please address this before 1.2.10 >> release. >> >> Here is the output from Clang: >> >> CC util/libvirt_util_la-virnetdev.lo >> util/virnetdev.c:1995:9: error: no member named 'ifr_hwaddr' in 'struct ifreq' >> ifr.ifr_hwaddr.sa_family = AF_UNSPEC; >> ~~~ ^ >> util/virnetdev.c:1996:52: error: no member named 'ifr_hwaddr' in 'struct ifreq' >> virMacAddrGetRaw(macaddr, (unsigned char *)ifr.ifr_hwaddr.sa_data); >> ~~~ ^ >> util/virnetdev.c:2043:9: error: no member named 'ifr_hwaddr' in 'struct ifreq' >> ifr.ifr_hwaddr.sa_family = AF_UNSPEC; >> ~~~ ^ >> util/virnetdev.c:2044:52: error: no member named 'ifr_hwaddr' in 'struct ifreq' >> virMacAddrGetRaw(macaddr, (unsigned char *)ifr.ifr_hwaddr.sa_data); >> ~~~ ^ >> 4 errors generated. > I have fixes for that, will send the patches shortly. Thank you! I was just going through all that trying to decide a useful way to resolve it. The new code in question uses similar #if logic to what was used for virNetDev(Get|Set)MAC(), but those functions (which also use ifr_hwaddr) use an ioctl that doesn't exist on FreeBSD, so it's easy. In these new cases, FreeBSD *does* have the ioctl in question, but apparently implement it in a different way, so something different is needed in the #if. ifr_hwaddr is a #define on Linux, but I don't know if that is always guaranteed (or if it could sometimes directly be a member of the ifreq struct). -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list