Hello Petr & Oliver, Oliver Hartkopp <socketcan@xxxxxxxxxxxx> writes: > Hi Petr, > > On 26.01.21 22:28, Petr Vorel wrote: >> Hi Oliver, Richie, >> >>>>> --- /dev/null >>>>> +++ b/testcases/network/can/filter-tests/can_common.h >>>>> @@ -0,0 +1,75 @@ >>>>> +// SPDX-License-Identifier: GPL-2.0-or-later >>>>> +/* >>>>> + * Copyright (c) 2021 SUSE LLC >>>>> + */ >>>>> + >>>>> +#include <stdio.h> >>>>> +#include <stdlib.h> >>>>> +#include <unistd.h> >>>>> +#include <string.h> >>>>> + >>>>> +#include <sys/types.h> >>>>> +#include <sys/socket.h> >>>>> +#include <sys/ioctl.h> >>>>> +#include <sys/time.h> >>>>> + >>>>> +#include "tst_cmd.h" >>>>> +#include "tst_safe_stdio.h" >>>>> +#include "tst_safe_file_ops.h" >>>>> + >>>>> +#include <linux/if.h> >>>>> +#include <linux/can.h> >>>>> +#include <linux/can/raw.h> >>>>> + >>>>> +#ifndef IFF_ECHO >>>>> +# define IFF_ECHO (1<<18) >>>>> +#endif >> Thanks a lot, Richie! >> >>>> IFF_ECHO was included into Linux 2.6.25 together with the CAN >>>> subsystem itself. >> >>>> So when you run the tests on Kernels < 2.6.25 you don't have CAN >>>> support and don't need IFF_ECHO too. >> >>> Petr, what kernel version and/or distro version did compilation fail on? >> >>> There is a small chance someone might be compiling with old kernel >>> headers relative to their kernel. However it is a challenge to compile >>> LTP with such an old user land. >> No, we don't support 2.6.25 :). I was playing with Buildroot distro >> in my spare time. >> These embedded toolchains suffer compatibility problems (usually uclibc-ng and >> sometimes musl lack the support). This problem was when using sourcery-arm-*. > > :-/ > >> But this is definitely not a blocker for this patchset. That lapi is not a must, >> I can fix it some time later. I usually fix few of these problems before each >> LTP release. > > Ok. No problem. I wasn't aware that e.g. musl or other toolchains > select such strange starting points for their include files. I wonder Petr, is it still necessary to define IFF_ECHO now only <linux/if.h> is included? Or do they somehow symlink linux/if.h -> net/if.h? Indeed it seems the current version of uclibc-ng doesn't include IFF_ECHO in <net/if.h>. OTOH musl does define it. -- Thank you, Richard.