[systemd-devel] [PATCH 1/3] sd-rtnl: Always enable IFA_FLAGS

Lennart Poettering lennart at poettering.net
Tue Apr 7 09:35:07 PDT 2015


On Tue, 07.04.15 16:55, Patrik Flykt (Patrik.Flykt at linux.intel.com) wrote:

> On Fri, 2015-04-03 at 06:46 +0200, Alexander Sverdlin wrote:
> > Hi!
> > 
> > On 25/03/15 14:36, Patrik Flykt wrote:
> > > IFA_FLAGS is a discrete value and has no preprocessor #define defined for
> > > it. Fix this by always using the value.
> > 
> > Seems that fix was not a real fix:
> > 
> >   CC       src/libsystemd/sd-id128/libsystemd_internal_la-sd-id128.lo
> > src/libsystemd/sd-rtnl/rtnl-types.c:361:10: error: ‘IFA_FLAGS’ undeclared here (not in a function)
> >          [IFA_FLAGS]             = { .type = NLA_U32 },
> >           ^
> > src/libsystemd/sd-rtnl/rtnl-types.c:361:9: error: array index in initializer not of integer type
> >          [IFA_FLAGS]             = { .type = NLA_U32 },
> >          ^
> > src/libsystemd/sd-rtnl/rtnl-types.c:361:9: error: (near initialization for ‘rtnl_address_types’)
> > Makefile:15503: recipe for target 'src/libsystemd/sd-rtnl/libsystemd_internal_la-rtnl-types.lo' failed
> > make[3]: *** [src/libsystemd/sd-rtnl/libsystemd_internal_la-rtnl-types.lo] Error 1
> 
> IFA_FLAGS seems to appear in kernel ~3.13 and the kernel requirements
> from README state 3.8/3.7 at the moment.
> 
> One could let the sd_rtnl_message_append_u32 for IFA_FLAGS fail in patch
> 2/3, but then user space has to play tricks with IPv6 DHCPv6 routes as
> before this patch and needs to re-add the code just removed because of
> this nice feature. Oh well...

Our general approach is to add missing definitions to missing.h and
thus provide the new functionality only on new kernels but still
compiling on old kernels.

Please add it to missing.h with some #ifdeffery to make sure we use
the system definition if it is available, and all should be good?

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list