Subject: Re: iproute2 issue with adding rules.

From: Stephen Hemminger <[email-masked]>
Date: Mon, 17 May 2010 13:27:32 -0700

On Mon, 17 May 2010 13:13:06 -0700
Ben Greear <[email-masked]> wrote:

> On 05/17/2010 12:03 PM, Ben Greear wrote:
> > On older releases, you can do this with iproute:
> >
> > # ip ru add from 9.9.9.2/32 table 226 pref 400
> > #
> >
> > But, in latest git, it returns an error:
> > # ip ru add from 9.9.9.2/32 table 226 pref 400
> > Error: an inet prefix is expected rather than "9.9.9.2/32".
> >
> > Is that on purpose?
> 
> I was thinking maybe this was a library issue, since I compiled
> on one machine and ran the 'ip' exe on another.  So, I tried compiling
> on the test system.
> 
> But, iproute will not compile, apparently because it finds the
> /usr/include/linux header files before whatever is packaged with
> iproute:
> 
> gcc -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -I../include -DRESOLVE_HOSTNAMES -DLIBDIR=\"/usr/lib/\"   -c -o ipaddress.o ipaddress.c
> ipaddress.c: In function ‘print_linkinfo’:
> ipaddress.c:334: error: ‘IFLA_VFINFO’ undeclared (first use in this function)
> ipaddress.c:334: error: (Each undeclared identifier is reported only once
> ipaddress.c:334: error: for each function it appears in.)
> make[1]: *** [ipaddress.o] Error 1
> make[1]: Leaving directory `/root/git/iproute2/ip'
> make: *** [all] Error 2
> 
> 
> I tried moving /usr/include/linux out of the way, but then it blows up
> even worse (can't find errno.h, etc)
> 
> Are we supposed to be able to compile iproute2 on a system with moderately
> outdated kernel headers?
> 
> If not, why bother with the iproute/include/linux directory at all?

The issue is the last minute VF changes in 2.6.34 are not supported
in iproute util yet. Please wait until it is fixed.