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

Reply via email to