[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171126010208.672qmkdgax6anmik@ast-mbp>
Date: Sat, 25 Nov 2017 17:02:09 -0800
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: Jakub Kicinski <jakub.kicinski@...ronome.com>
Cc: netdev@...r.kernel.org, oss-drivers@...ronome.com,
daniel@...earbox.net, jiri@...nulli.us
Subject: Re: [RFC net-next 0/6] xdp: make stack perform remove and tests
On Thu, Nov 23, 2017 at 06:36:07PM -0800, Jakub Kicinski wrote:
> Hi!
>
> The purpose of this series is to add a software model of BPF offloads
> to make it easier for everyone to test them and make some of the more
> arcane rules and assumptions more clear.
>
> The series starts with 3 patches aiming to make XDP handling in the
> drivers less error prone. Currently driver authors have to remember
> to free XDP programs if XDP is active during unregister. With this
> series the core will disable XDP on its own. It will take place
> after close, drivers are not expected to perform reconfiguration
> when disabling XDP on a downed device.
>
> Next two patches add the software netdev driver. Last but not least
> there is a python test which exercises all the corner cases which
> came to my mind.
>
> Test needs to be run as root. It will print basic information to
> stdout, but can also create a more detailed log of all commands
> when --log option is passed. Log is in Emacs Org-mode format.
>
> ./tools/testing/selftests/bpf/test_offload.py --log /tmp/log
>
> Something I'm still battling with, and would appreciate help of
> wiser people is that occasionally during the test something makes
> the refcount of init_net drop to 0 :S I tried to create a simple
> reproducer, but seems like just running the script in the loop is
> the easiest way to go... Could it have something to do with the
> recent TC work? The driver is pretty simple and never touches
> ref counts. The only slightly unusual thing is that the BPF code
> sleeps for a bit on remove in the netdev notifier.
I like the direction.
Patch 3 in particular with auto prog_put is a great idea!
Patch 4 - if you want to do dual gpl+bsd. It's ok and really your call as an author.
Patch 5 - I'm only not excited about debugfs. Can you do the same with tracepoints?
Patch 6 - python 3 is a requirement? or can work with 2.7 ? I don't mind if it's 3+ only.
Just trying to understand the dependencies.
and thanks for adding it to selftests.
Powered by blists - more mailing lists