Le 16/08/2016 à 18:51, Peter Maydell a écrit : > 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?
Perhaps we can define our own enum with all the known values at the moment, something like QEMU_IFLA_BR_XXX? Thanks, Laurent