[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171124074554.GB3384@nanopsycho>
Date: Fri, 24 Nov 2017 08:45:54 +0100
From: Jiri Pirko <jiri@...nulli.us>
To: Jakub Kicinski <jakub.kicinski@...ronome.com>
Cc: netdev@...r.kernel.org, oss-drivers@...ronome.com,
daniel@...earbox.net, alexei.starovoitov@...il.com
Subject: Re: [RFC net-next 0/6] xdp: make stack perform remove and tests
Fri, Nov 24, 2017 at 03:36:07AM CET, jakub.kicinski@...ronome.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
>
Powered by blists - more mailing lists