net/openvswitch/vport-netdev.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
Check vport net device name to ensure the provided name is not one of
its aliases. This can avoid that ovs userspace create and destroy vport
repeatedly.
Signed-off-by: Jun Gu <jun.gu@easystack.cn>
---
net/openvswitch/vport-netdev.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/net/openvswitch/vport-netdev.c b/net/openvswitch/vport-netdev.c
index 903537a5da22..7003e76b8172 100644
--- a/net/openvswitch/vport-netdev.c
+++ b/net/openvswitch/vport-netdev.c
@@ -78,7 +78,10 @@ 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) {
+ /* Ensure that the device exists and that the provided
+ * name is not one of its aliases.
+ */
+ if ((!vport->dev) || strcmp(name, ovs_vport_name(vport))) {
err = -ENODEV;
goto error_free_vport;
}
--
2.25.1
On 17 Apr 2024, at 6:20, jun.gu wrote: > Check vport net device name to ensure the provided name is not one of > its aliases. This can avoid that ovs userspace create and destroy vport > repeatedly. How about changing the text to the following? Ensure that the provided netdev name is not one of its aliases to prevent unnecessary creation and destruction of the vport by ovs-vswitchd. Maybe the maintainers are fine with the current text, in that case: Acked-by: Eelco Chaudron <echaudro@redhat.com> > > Signed-off-by: Jun Gu <jun.gu@easystack.cn> > --- > net/openvswitch/vport-netdev.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/net/openvswitch/vport-netdev.c b/net/openvswitch/vport-netdev.c > index 903537a5da22..7003e76b8172 100644 > --- a/net/openvswitch/vport-netdev.c > +++ b/net/openvswitch/vport-netdev.c > @@ -78,7 +78,10 @@ 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) { > + /* Ensure that the device exists and that the provided > + * name is not one of its aliases. > + */ > + if ((!vport->dev) || strcmp(name, ovs_vport_name(vport))) { > err = -ENODEV; > goto error_free_vport; > } > -- > 2.25.1
Ensure that the provided netdev name is not one of its aliases to
prevent unnecessary creation and destruction of the vport by
ovs-vswitchd.
Signed-off-by: Jun Gu <jun.gu@easystack.cn>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
---
net/openvswitch/vport-netdev.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/net/openvswitch/vport-netdev.c b/net/openvswitch/vport-netdev.c
index 903537a5da22..7003e76b8172 100644
--- a/net/openvswitch/vport-netdev.c
+++ b/net/openvswitch/vport-netdev.c
@@ -78,7 +78,10 @@ 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) {
+ /* Ensure that the device exists and that the provided
+ * name is not one of its aliases.
+ */
+ if ((!vport->dev) || strcmp(name, ovs_vport_name(vport))) {
err = -ENODEV;
goto error_free_vport;
}
--
2.25.1
On Thu, 18 Apr 2024 10:32:42 +0800 jun.gu wrote: > + if ((!vport->dev) || strcmp(name, ovs_vport_name(vport))) { Please drop the unnecessary brackets. When you repost, start a new thread, do not post new version in-reply-to. -- pw-bot: cr
From: "jun.gu" <jun.gu@easystack.cn>
Ensure that the provided netdev name is not one of its aliases to
prevent unnecessary creation and destruction of the vport by
ovs-vswitchd.
Signed-off-by: jun.gu <jun.gu@easystack.cn>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
---
net/openvswitch/vport-netdev.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/net/openvswitch/vport-netdev.c b/net/openvswitch/vport-netdev.c
index 903537a5da22..618edc346c0f 100644
--- a/net/openvswitch/vport-netdev.c
+++ b/net/openvswitch/vport-netdev.c
@@ -78,7 +78,10 @@ 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) {
+ /* Ensure that the device exists and that the provided
+ * name is not one of its aliases.
+ */
+ if (!vport->dev || strcmp(name, ovs_vport_name(vport))) {
err = -ENODEV;
goto error_free_vport;
}
--
2.25.1
On Fri, 19 Apr 2024 12:31:33 +0800 Jun Gu wrote: > From: "jun.gu" <jun.gu@easystack.cn> > > Ensure that the provided netdev name is not one of its aliases to > prevent unnecessary creation and destruction of the vport by > ovs-vswitchd. > > Signed-off-by: jun.gu <jun.gu@easystack.cn> > Acked-by: Eelco Chaudron <echaudro@redhat.com> I said: When you repost, start a new thread, do not post new version in-reply-to. If you don't understand what something means - ask :| Now try again. -- pw-bot: cr
© 2016 - 2024 Red Hat, Inc.