Subject: Re: iproute2 issue with adding rules.

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

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?

Thanks,
Ben

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com