netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Petr Machata <petrm@nvidia.com>
To: "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	<netdev@vger.kernel.org>
Cc: Simon Horman <horms@kernel.org>, Ido Schimmel <idosch@nvidia.com>,
	"Nikolay Aleksandrov" <razor@blackwall.org>,
	Petr Machata <petrm@nvidia.com>, "Shuah Khan" <shuah@kernel.org>,
	<linux-kselftest@vger.kernel.org>, <mlxsw@nvidia.com>
Subject: [PATCH net-next 00/13] selftests: Mark auto-deferring functions clearly
Date: Thu, 25 Sep 2025 19:31:43 +0200	[thread overview]
Message-ID: <cover.1758821127.git.petrm@nvidia.com> (raw)

selftests/net/lib.sh contains a suite of iproute2 wrappers that
automatically schedule the corresponding cleanup through defer. The fact
they do so is however not immediately obvious, one needs to know which
functions are handling the deferral behind the scenes, and which expect the
caller to handle cleanups themselves.

A convention for these auto-deferring functions would help both writing and
patch review. This patchset does so by marking these functions with an adf_
prefix. We already have a few such functions: forwarding/lib.sh has
adf_mcd_start() and a few selftests add private helpers that conform to
this convention.

Patches #1 to #8 gradually convert individual functions, one per patch.

Patch #9 renames an auto-deferring private helpers named dfr_* to adf_*.
The plan is not to retro-rename all private helpers, but I happened to know
about this one.

Patches #10 to #12 introduce several autodefer helpers for commonly used
forwarding/lib.sh functions, and opportunistically convert straightforward
instances of 'action; defer counteraction' to the new helpers.

Patch #13 adds some README verbiage to pitch defer and the adf_*
convention.

Petr Machata (13):
  selftests: net: lib: Rename ip_link_add() to adf_*
  selftests: net: lib: Rename ip_link_set_master() to adf_*
  selftests: net: lib: Rename ip_link_set_addr() to adf_*
  selftests: net: lib: Rename ip_link_set_up() to adf_*
  selftests: net: lib: Rename ip_link_set_down() to adf_*
  selftests: net: lib: Rename ip_addr_add() to adf_*
  selftests: net: lib: Rename ip_route_add() to adf_*
  selftests: net: lib: Rename bridge_vlan_add() to adf_*
  selftests: net: vlan_bridge_binding: Rename dfr_set_binding_*() to
    adf_*
  selftests: forwarding: lib: Add an autodefer variant of vrf_prepare()
  selftests: forwarding: lib: Add an autodefer variant of
    simple_if_init()
  selftests: forwarding: lib: Add an autodefer variant of
    forwarding_enable()
  selftests: forwarding: README: Mention defer, adf_

 .../drivers/net/mlxsw/devlink_trap_policer.sh |   9 +-
 .../drivers/net/mlxsw/qos_ets_strict.sh       |  12 +-
 .../drivers/net/mlxsw/qos_max_descriptors.sh  |   9 +-
 .../drivers/net/mlxsw/qos_mc_aware.sh         |  12 +-
 .../drivers/net/mlxsw/sch_red_core.sh         |   6 +-
 tools/testing/selftests/net/fdb_notify.sh     |  26 ++--
 tools/testing/selftests/net/forwarding/README |  15 ++
 .../net/forwarding/bridge_activity_notify.sh  |  21 ++-
 .../net/forwarding/bridge_fdb_local_vlan_0.sh |  65 ++++----
 tools/testing/selftests/net/forwarding/lib.sh |  18 +++
 .../selftests/net/forwarding/sch_ets_core.sh  |   9 +-
 .../selftests/net/forwarding/sch_red.sh       |  12 +-
 .../selftests/net/forwarding/sch_tbf_core.sh  |   6 +-
 .../net/forwarding/vxlan_bridge_1q_mc_ul.sh   | 141 +++++++++---------
 .../net/forwarding/vxlan_reserved.sh          |  33 ++--
 tools/testing/selftests/net/lib.sh            |  16 +-
 .../net/test_vxlan_fdb_changelink.sh          |   8 +-
 .../selftests/net/vlan_bridge_binding.sh      |  44 +++---
 18 files changed, 225 insertions(+), 237 deletions(-)

-- 
2.49.0


             reply	other threads:[~2025-09-25 17:33 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-25 17:31 Petr Machata [this message]
2025-09-25 17:31 ` [PATCH net-next 01/13] selftests: net: lib: Rename ip_link_add() to adf_* Petr Machata
2025-09-26 13:53   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 02/13] selftests: net: lib: Rename ip_link_set_master() " Petr Machata
2025-09-26 13:54   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 03/13] selftests: net: lib: Rename ip_link_set_addr() " Petr Machata
2025-09-26 13:54   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 04/13] selftests: net: lib: Rename ip_link_set_up() " Petr Machata
2025-09-26 13:54   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 05/13] selftests: net: lib: Rename ip_link_set_down() " Petr Machata
2025-09-26 13:54   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 06/13] selftests: net: lib: Rename ip_addr_add() " Petr Machata
2025-09-26 13:55   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 07/13] selftests: net: lib: Rename ip_route_add() " Petr Machata
2025-09-26 13:55   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 08/13] selftests: net: lib: Rename bridge_vlan_add() " Petr Machata
2025-09-26 13:55   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 09/13] selftests: net: vlan_bridge_binding: Rename dfr_set_binding_*() " Petr Machata
2025-09-26 13:55   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 10/13] selftests: forwarding: lib: Add an autodefer variant of vrf_prepare() Petr Machata
2025-09-26 13:55   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 11/13] selftests: forwarding: lib: Add an autodefer variant of simple_if_init() Petr Machata
2025-09-26 13:56   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 12/13] selftests: forwarding: lib: Add an autodefer variant of forwarding_enable() Petr Machata
2025-09-26 13:56   ` Simon Horman
2025-09-25 17:31 ` [PATCH net-next 13/13] selftests: forwarding: README: Mention defer, adf_ Petr Machata
2025-09-26 13:56   ` Simon Horman
2025-09-27  1:20 ` [PATCH net-next 00/13] selftests: Mark auto-deferring functions clearly patchwork-bot+netdevbpf

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=cover.1758821127.git.petrm@nvidia.com \
    --to=petrm@nvidia.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=idosch@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=mlxsw@nvidia.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=razor@blackwall.org \
    --cc=shuah@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;
as well as URLs for NNTP newsgroup(s).