From: Ilya Maximets <i.maximets@ovn.org>
To: Matthieu Baerts <matttbe@kernel.org>, Ilya Maximets <i.maximets@ovn.org>
Cc: Netdev <netdev@vger.kernel.org>
Subject: Re: [ANN] Containers to run Netdev CI tests locally
Date: Fri, 4 Sep 2026 17:25:51 +0200 [thread overview]
Message-ID: <275ba183-49fd-45b1-881d-0f362b4c74c0@ovn.org> (raw)
In-Reply-To: <e6d815d3-ed9b-4904-8cbe-8e5ee226661b@kernel.org>
On 9/4/26 4:54 PM, Matthieu Baerts wrote:
> Hi Ilya,
>
> Thank you for your reply!
>
> On 04/09/2026 16:01, Ilya Maximets wrote:
>> On 9/3/26 6:19 PM, Matthieu Baerts wrote:
>>>
>>> A wiki page has been added to cover this and explain how to validate the
>>> different tests:
>>>
>>> https://github.com/linux-netdev/nipa/wiki/Running-Netdev-CI-tests-locally
>>>
>>> To help developers, containers are now built, packing all the required
>>> dependencies to run these tests in order to run the tests in an
>>> environment that would be as close as possible to the CI one. The goal
>>> is to have an environment that is easy to maintain -- no heavy
>>> optimisations to reduce the images size -- but also easy to use. In
>>> short, people (and non-humans) can continue to use the different tools
>>> as before, but add a prefix to the different commands to execute them
>>> from a container, e.g.
>>>
>>> alias run="${nipa}/docker/selftests/run.sh"
>>> run vng --build
>>> run make headers
>>> (...)
>> The headers are not used unless the USERCFLAGS="-I$(pwd)/usr/include" is
>> passed into the actual make command for the selftests. So, uAPI changes
>> will not be picked up. Would be good to fix that in the wiki.
>
> I think setting USERCFLAGS is not supposed to be required for this
> purpose: KHDR_INCLUDES is there for that. According to the doc [1], each
> target building binaries should have "CFLAGS = $(KHDR_INCLUDES)" in
> their Makefile. If KHDR_INCLUDES is not set by the user, then lib.mk
> will set it to "-I$(top_srcdir)/usr/include", so the default directory
> when "make headers" is used. It needs to be adapted with building in a
> different directory.
>
> At least, when validating all net and drv-net selftests on my side, I
> didn't need to specify extra CFLAGS. (I think the netfilter target is
> missing KHDR_INCLUDES, I will fix that.)
>
> Or did you have to do that for a specific target?
I was actually having trouble with the netfilter target specifically
as I'm working on a patch that changes uAPI and the selftest build
can't pick it up without the USERCFLAGS. But if it's actually a bug
in the makefile for that target, then it's better to fix this target,
of course, instead of changing the docs. :)
Thanks for taking a look!
>
>
> Just in case, here are the recommended commands to execute to run the
> selftests per target:
>
> alias run="${nipa}/docker/selftests/run.sh"
>
> rm -f .config
> config="tools/testing/selftests/${target}/config"
> run vng --build -v --force --config "${config}" ## + debug
>
> run make headers
> run make -C tools/testing/selftests TARGETS="${target}"
>
> run sudo vng -v --run . --user root -a mitigations=off --cpus 4 \
> --rw --network loop -- \
> make -C tools/testing/selftests TARGETS="${target}" run_tests
>
>
>> The $(pwd) part is a little tricky since it will be resolved outside of
>> the container. I didn't try if that works.
>
> Note that in the container, the current directory is mounted at the same
> place. So $(pwd) can be used.
>
> [1]
> https://docs.kernel.org/dev-tools/kselftest.html#contributing-new-tests-details
>
> Cheers,
> Matt
next prev parent reply other threads:[~2026-09-04 15:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-03 16:19 [ANN] Containers to run Netdev CI tests locally Matthieu Baerts
2026-09-04 6:59 ` Hangbin Liu
2026-09-04 8:33 ` Matthieu Baerts
2026-09-04 11:44 ` Hangbin Liu
2026-09-04 17:29 ` Matthieu Baerts
2026-09-04 14:01 ` Ilya Maximets
2026-09-04 14:54 ` Matthieu Baerts
2026-09-04 15:25 ` Ilya Maximets [this message]
2026-09-04 16:17 ` Matthieu Baerts
2026-09-04 16:37 ` Ilya Maximets
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=275ba183-49fd-45b1-881d-0f362b4c74c0@ovn.org \
--to=i.maximets@ovn.org \
--cc=matttbe@kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox