netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, anthony.l.nguyen@intel.com,
	Jakub Kicinski <kuba@kernel.org>
Subject: [PATCH net-next v2 02/10] netdevsim: add warnings on unexpected UDP tunnel port errors
Date: Fri, 25 Sep 2020 17:56:41 -0700	[thread overview]
Message-ID: <20200926005649.3285089-3-kuba@kernel.org> (raw)
In-Reply-To: <20200926005649.3285089-1-kuba@kernel.org>

We should never see a removal of a port which is not in the table
or adding a port to an occupied entry in the table. To make sure
such errors don't escape the checks in the test script add a
warning/kernel spat.

Error injection will not trigger those, nor should it ever put
us in a bad state.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 drivers/net/netdevsim/udp_tunnels.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/net/netdevsim/udp_tunnels.c b/drivers/net/netdevsim/udp_tunnels.c
index 22c06a76033c..ad65b860bd7b 100644
--- a/drivers/net/netdevsim/udp_tunnels.c
+++ b/drivers/net/netdevsim/udp_tunnels.c
@@ -22,11 +22,13 @@ nsim_udp_tunnel_set_port(struct net_device *dev, unsigned int table,
 		msleep(ns->udp_ports.sleep);
 
 	if (!ret) {
-		if (ns->udp_ports.ports[table][entry])
+		if (ns->udp_ports.ports[table][entry]) {
+			WARN(1, "entry already in use\n");
 			ret = -EBUSY;
-		else
+		} else {
 			ns->udp_ports.ports[table][entry] =
 				be16_to_cpu(ti->port) << 16 | ti->type;
+		}
 	}
 
 	netdev_info(dev, "set [%d, %d] type %d family %d port %d - %d\n",
@@ -50,10 +52,13 @@ nsim_udp_tunnel_unset_port(struct net_device *dev, unsigned int table,
 	if (!ret) {
 		u32 val = be16_to_cpu(ti->port) << 16 | ti->type;
 
-		if (val == ns->udp_ports.ports[table][entry])
+		if (val == ns->udp_ports.ports[table][entry]) {
 			ns->udp_ports.ports[table][entry] = 0;
-		else
+		} else {
+			WARN(1, "entry not installed %x vs %x\n",
+			     val, ns->udp_ports.ports[table][entry]);
 			ret = -ENOENT;
+		}
 	}
 
 	netdev_info(dev, "unset [%d, %d] type %d family %d port %d - %d\n",
-- 
2.26.2


  parent reply	other threads:[~2020-09-26  0:56 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-26  0:56 [PATCH net-next v2 00/10] udp_tunnel: convert Intel drivers with shared tables Jakub Kicinski
2020-09-26  0:56 ` [PATCH net-next v2 01/10] udp_tunnel: add the ability to share port tables Jakub Kicinski
2020-09-26  0:56 ` Jakub Kicinski [this message]
2020-09-26  0:56 ` [PATCH net-next v2 03/10] netdevsim: shared UDP tunnel port table support Jakub Kicinski
2020-09-26  0:56 ` [PATCH net-next v2 04/10] selftests: net: add a test for shared UDP tunnel info tables Jakub Kicinski
2020-09-26  0:56 ` [PATCH net-next v2 05/10] i40e: convert to new udp_tunnel infrastructure Jakub Kicinski
2020-09-26  0:56 ` [PATCH net-next v2 06/10] ice: remove unused args from ice_get_open_tunnel_port() Jakub Kicinski
2020-09-26  0:56 ` [PATCH net-next v2 07/10] ice: convert to new udp_tunnel infrastructure Jakub Kicinski
2020-09-26  0:56 ` [PATCH net-next v2 08/10] netdevsim: support the static IANA VXLAN port flag Jakub Kicinski
2020-09-26  0:56 ` [PATCH net-next v2 09/10] selftests: net: add a test for static UDP tunnel ports Jakub Kicinski
2020-09-26  0:56 ` [PATCH net-next v2 10/10] docs: vxlan: add info about device features Jakub Kicinski
2020-09-28 16:23 ` [PATCH net-next v2 00/10] udp_tunnel: convert Intel drivers with shared tables Nguyen, Anthony L
2020-09-28 19:49   ` David Miller
2020-09-28 19:50 ` David Miller

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=20200926005649.3285089-3-kuba@kernel.org \
    --to=kuba@kernel.org \
    --cc=anthony.l.nguyen@intel.com \
    --cc=davem@davemloft.net \
    --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;
as well as URLs for NNTP newsgroup(s).