From: "jun.gu" <jun.gu@easystack.cn>
To: echaudro@redhat.com
Cc: dev@openvswitch.org, jun.gu@easystack.cn,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
pshelar@ovn.org
Subject: [PATCH v2] net: openvswitch: Check vport net device name
Date: Tue, 16 Apr 2024 17:20:22 +0800 [thread overview]
Message-ID: <20240416092022.35887-1-jun.gu@easystack.cn> (raw)
In-Reply-To: <084E7217-6290-46D2-A47A-14ACB60EBBCA@redhat.com>
Check vport net device name to avoid the name that be used to query is
inconsistent the retured name.
Consider net device supports alias, the alias can be set to interface
table in ovs userspace. Consider the following process:
- set a net device alias to interface table.
- ovs userspace run OVS_VPORT_CMD_NEW cmd to kernel, kernel will use net
device alias to query net device by dev_get_by_name, but the net device
name that return is inconsistent the name used to query.
- the returned net device name is saved a hash table.
- ovs userspace found that the name saved to interface table is
inconsistent the name saved kernel hash table, it will run
OVS_VPORT_CMD_DEL cmd to kernel and remove vport.
ovs userspace will run OVS_VPORT_CMD_NEW and OVS_VPORT_CMD_DEL cmd
repeatedly. So the patch will check vport net device name from
dev_get_by_name to avoid the above issue.
Signed-off-by: Jun Gu <jun.gu@easystack.cn>
---
net/openvswitch/vport-netdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/openvswitch/vport-netdev.c b/net/openvswitch/vport-netdev.c
index 903537a5da22..de8977d7f329 100644
--- a/net/openvswitch/vport-netdev.c
+++ b/net/openvswitch/vport-netdev.c
@@ -78,7 +78,7 @@ struct vport *ovs_netdev_link(struct vport *vport, const char *name)
int err;
vport->dev = dev_get_by_name(ovs_dp_get_net(vport->dp), name);
- if (!vport->dev) {
+ if (!vport->dev) || strcmp(name, ovs_vport_name(vport)) {
err = -ENODEV;
goto error_free_vport;
}
--
2.25.1
next prev parent reply other threads:[~2024-04-16 9:21 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-13 8:48 [PATCH] net: openvswitch: Check vport name jun.gu
2024-04-15 10:04 ` [ovs-dev] " Eelco Chaudron
[not found] ` <671d3c3b-a5c4-4dbd-800b-fbfec0fbe4dc@easystack.cn>
2024-04-16 8:04 ` Eelco Chaudron
2024-04-16 9:20 ` jun.gu [this message]
2024-04-16 11:19 ` [PATCH v2] net: openvswitch: Check vport net device name Eelco Chaudron
2024-04-17 4:20 ` [PATCH net-next v3] " jun.gu
2024-04-17 10:48 ` Eelco Chaudron
2024-04-18 2:32 ` [PATCH net-next v4] net: openvswitch: Check vport netdev name jun.gu
2024-04-18 15:38 ` Jakub Kicinski
[not found] ` <20240419043133.117295-1-jun.gu@easystack.cn>
2024-04-20 3:01 ` Jakub Kicinski
2024-04-16 13:35 ` [PATCH] net: openvswitch: Check vport name Paolo Abeni
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=20240416092022.35887-1-jun.gu@easystack.cn \
--to=jun.gu@easystack.cn \
--cc=dev@openvswitch.org \
--cc=echaudro@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pshelar@ovn.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).