netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jiri Pirko <jiri@resnulli.us>
To: Jakub Kicinski <jakub.kicinski@netronome.com>
Cc: netdev@vger.kernel.org, oss-drivers@netronome.com,
	daniel@iogearbox.net, alexei.starovoitov@gmail.com
Subject: Re: [RFC net-next 0/6] xdp: make stack perform remove and tests
Date: Fri, 24 Nov 2017 08:45:54 +0100	[thread overview]
Message-ID: <20171124074554.GB3384@nanopsycho> (raw)
In-Reply-To: <20171124023613.16855-1-jakub.kicinski@netronome.com>

Fri, Nov 24, 2017 at 03:36:07AM CET, jakub.kicinski@netronome.com 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

I wonder if for this it is needed to split the driver into multiple
files. I think that a single file would be better as I don't expect the
driver would get big.


>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

I don't see how...


>ref counts.  The only slightly unusual thing is that the BPF code
>sleeps for a bit on remove in the netdev notifier.
>
>
>Jakub Kicinski (6):
>  net: xdp: avoid output parameters when querying XDP prog
>  net: xdp: report flags program was installed with on query
>  net: xdp: make the stack take care of the tear down
>  netdevsim: add software driver for testing offloads
>  netdevsim: add bpf offload support
>  selftests/bpf: add offload test based on netdevsim

Patchset looks fine to me.
Thanks for this!


>
> MAINTAINERS                                        |   5 +
> drivers/net/Kconfig                                |  10 +
> drivers/net/Makefile                               |   1 +
> drivers/net/ethernet/broadcom/bnxt/bnxt.c          |   2 -
> drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   3 -
> drivers/net/ethernet/netronome/nfp/bpf/main.c      |   7 -
> .../net/ethernet/netronome/nfp/nfp_net_common.c    |   4 +-
> drivers/net/ethernet/qlogic/qede/qede_main.c       |   4 -
> drivers/net/netdevsim/Makefile                     |   7 +
> drivers/net/netdevsim/bpf.c                        | 391 +++++++++++++
> drivers/net/netdevsim/netdev.c                     | 241 ++++++++
> drivers/net/netdevsim/netdevsim.h                  |  84 +++
> drivers/net/tun.c                                  |   4 -
> include/linux/netdevice.h                          |   5 +-
> net/core/dev.c                                     |  42 +-
> net/core/rtnetlink.c                               |   6 +-
> tools/testing/selftests/bpf/Makefile               |   5 +-
> tools/testing/selftests/bpf/sample_ret0.c          |   8 +
> tools/testing/selftests/bpf/test_offload.py        | 634 +++++++++++++++++++++
> 19 files changed, 1426 insertions(+), 37 deletions(-)
> create mode 100644 drivers/net/netdevsim/Makefile
> create mode 100644 drivers/net/netdevsim/bpf.c
> create mode 100644 drivers/net/netdevsim/netdev.c
> create mode 100644 drivers/net/netdevsim/netdevsim.h
> create mode 100644 tools/testing/selftests/bpf/sample_ret0.c
> create mode 100755 tools/testing/selftests/bpf/test_offload.py
>
>-- 
>2.14.1
>

  parent reply	other threads:[~2017-11-24  7:45 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-24  2:36 [RFC net-next 0/6] xdp: make stack perform remove and tests Jakub Kicinski
2017-11-24  2:36 ` [RFC net-next 1/6] net: xdp: avoid output parameters when querying XDP prog Jakub Kicinski
2017-11-24  2:36 ` [RFC net-next 2/6] net: xdp: report flags program was installed with on query Jakub Kicinski
2017-11-24  2:36 ` [RFC net-next 3/6] net: xdp: make the stack take care of the tear down Jakub Kicinski
2017-11-24 23:24   ` Daniel Borkmann
2017-11-25  3:28     ` Jakub Kicinski
2017-11-24  2:36 ` [RFC net-next 4/6] netdevsim: add software driver for testing offloads Jakub Kicinski
2017-11-24  7:24   ` Jiri Pirko
2017-11-24  7:49     ` Jakub Kicinski
2017-11-24  8:07       ` Jiri Pirko
2017-11-27 19:30   ` David Miller
2017-11-27 19:42     ` Jakub Kicinski
2017-11-28 14:55       ` Phil Sutter
2017-11-28 16:20       ` Jiri Pirko
2017-11-24  2:36 ` [RFC net-next 5/6] netdevsim: add bpf offload support Jakub Kicinski
2017-11-24  2:36 ` [RFC net-next 6/6] selftests/bpf: add offload test based on netdevsim Jakub Kicinski
2017-11-24  7:45 ` Jiri Pirko [this message]
2017-11-24  8:02   ` [RFC net-next 0/6] xdp: make stack perform remove and tests Jakub Kicinski
2017-11-25  4:55     ` Jakub Kicinski
2017-11-26  1:02 ` Alexei Starovoitov
2017-11-26  1:43   ` Jakub Kicinski
2017-11-26  7:43     ` Jiri Pirko

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=20171124074554.GB3384@nanopsycho \
    --to=jiri@resnulli.us \
    --cc=alexei.starovoitov@gmail.com \
    --cc=daniel@iogearbox.net \
    --cc=jakub.kicinski@netronome.com \
    --cc=netdev@vger.kernel.org \
    --cc=oss-drivers@netronome.com \
    /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;
as well as URLs for NNTP newsgroup(s).