Netdev List
 help / color / mirror / Atom feed
From: Matthieu Baerts <matttbe@kernel.org>
To: 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 16:54:25 +0200	[thread overview]
Message-ID: <e6d815d3-ed9b-4904-8cbe-8e5ee226661b@kernel.org> (raw)
In-Reply-To: <dc460046-82bc-4c20-870e-716dee54a6cb@ovn.org>

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?


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

  reply	other threads:[~2026-09-04 14:54 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 [this message]
2026-09-04 15:25     ` Ilya Maximets
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=e6d815d3-ed9b-4904-8cbe-8e5ee226661b@kernel.org \
    --to=matttbe@kernel.org \
    --cc=i.maximets@ovn.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