Applied on master and backported until 2.9 Thank you!
> On 9 Nov 2022, at 04:32, Wilson Peng <[email protected]> wrote: > > From: Wilson Peng <[email protected]> > > In the recent Antrea project testing, some port could not be created > on Windows. > > When doing debug, our team found there is one case happening when multiple > ports are waiting for be created with correct port number. > > Some system type port will be created netdev successfully and it will cause > conflict as in the dpif side it will be internal type. So finally the port > will be created failed and it could not be easily recovered. > > With the patch, on Windows the netdev creating will be blocked for system > type when the ovs_tyep got on dpif is internal. More detailed case description > is in the reported issue No.262 with link below. > > Reported-at:https://github.com/openvswitch/ovs-issues/issues/262 > Signed-off-by: Wilson Peng <[email protected]> > --- > lib/netdev-windows.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/lib/netdev-windows.c b/lib/netdev-windows.c > index 4ad45ffa1..3fad501e3 100644 > --- a/lib/netdev-windows.c > +++ b/lib/netdev-windows.c > @@ -156,6 +156,7 @@ netdev_windows_system_construct(struct netdev *netdev_) > struct netdev_windows_netdev_info info; > struct ofpbuf *buf; > int ret; > + const char *type = NULL; > > /* Query the attributes and runtime status of the netdev. */ > ret = query_netdev(netdev_get_name(&netdev->up), &info, &buf); > @@ -167,6 +168,16 @@ netdev_windows_system_construct(struct netdev *netdev_) > } > ofpbuf_delete(buf); > > + /* Don't create netdev if ovs-type is "internal" > + * but the type of netdev->up is "system". */ > + type = netdev_get_type(&netdev->up); > + if (type && !strcmp(type, "system") && > + (info.ovs_type == OVS_VPORT_TYPE_INTERNAL)) { > + VLOG_DBG("construct device %s, ovs_type: %u failed", > + netdev_get_name(&netdev->up), info.ovs_type); > + return 1; > + } > + > netdev->change_seq = 1; > netdev->dev_type = info.ovs_type; > netdev->port_no = info.port_no; > -- > 2.32.1 (Apple Git-133) > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
