From: Stefan Berger Date: Thu, 17 Jun 2010 11:05:38 +0000 (-0400) Subject: macvtap: work-around for 2.6.32 and older kernels X-Git-Tag: v0.8.2~71 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=045a5722ab7c5d321754a051b3a556e3317627b6;p=thirdparty%2Flibvirt.git macvtap: work-around for 2.6.32 and older kernels This patch works around a recent extension of the netlink driver I had made use of when building the netlink messages. Unfortunately older kernels don't accept IFLA_IFNAME + name of interface as a replacement for the interface's index, so this patch now gets the interface index ifindex if it's not provided (ifindex <= 0). --- diff --git a/src/util/macvtap.c b/src/util/macvtap.c index fb333eb8bc..635458d336 100644 --- a/src/util/macvtap.c +++ b/src/util/macvtap.c @@ -905,6 +905,9 @@ ifaceGetNthParent(int ifindex, const char *ifname, unsigned int nthParent, *nth = 0; + if (ifindex <= 0 && ifaceGetIndex(true, ifname, &ifindex) != 0) + return 1; + while (!end && i <= nthParent) { rc = link_dump(true, ifname, ifindex, tb, &recvbuf); if (rc)