On 16 August 2016 at 17:41, Laurent Vivier <laur...@vivier.eu> wrote: > Le 16/08/2016 à 11:47, Michal Privoznik a écrit : >> In c5dff280 we tried to make us understand netlink messages more. >> So we've added a code that does some translation. However, the >> code assumed linux-headers to be at least version 4.4 of it >> because most of the symbols there (if not all of them) were added >> in just that release. This, however, breaks build on systems with >> older versions of the package. >> >> Signed-off-by: Michal Privoznik <mpriv...@redhat.com> > > Are you sure this "#ifdef" are correct while all these symbols are enums > not #define? > > Or do I miss something?
I think you're right (some of the IFLA constants have #defines in the headers I have but not the IFLA_BR_ or IFLA_BRPORT_ ones). Unfortunately I've just committed this patch and tagged rc3, so we'll have to fix this up for rc4 :-( The best approach I can think of is to add something at the top of syscall.c that does: #if IFLA_BR_MAX < 9 #define IFLA_BR_GROUP_FWD_MASK 9 #endif #if IFLA_BR_MAX < 10 #define IFLA_BR_ROOT_ID 10 #endif etc etc and then we can unconditionally use the symbols in the switches. Anybody got a better idea? Michal, can you produce a patch? thanks -- PMM