diff --git a/SOURCES/openvswitch-3.1.0.patch b/SOURCES/openvswitch-3.1.0.patch
index 1e53f79..74f371b 100644
--- a/SOURCES/openvswitch-3.1.0.patch
+++ b/SOURCES/openvswitch-3.1.0.patch
@@ -1702,6 +1702,20 @@ index 01bb80e28..3c93ae580 100644
              json_destroy(txn_json);
              t->reply = jsonrpc_create_reply(json_object_create(),
                                              t->request->id);
+diff --git a/python/ovs/stream.py b/python/ovs/stream.py
+index ac5b0fd0c..b32341076 100644
+--- a/python/ovs/stream.py
++++ b/python/ovs/stream.py
+@@ -824,7 +824,8 @@ class SSLStream(Stream):
+             self.socket.do_handshake()
+         except ssl.SSLWantReadError:
+             return errno.EAGAIN
+-        except ssl.SSLSyscallError as e:
++        except (ssl.SSLSyscallError, ssl.SSLZeroReturnError,
++                ssl.SSLEOFError, OSError) as e:
+             return ovs.socket_util.get_exception_errno(e)
+ 
+         return 0
 diff --git a/tests/automake.mk b/tests/automake.mk
 index c8de3fe28..e39453cd1 100644
 --- a/tests/automake.mk
diff --git a/SPECS/openvswitch3.1.spec b/SPECS/openvswitch3.1.spec
index 410fb0f..5a5823f 100644
--- a/SPECS/openvswitch3.1.spec
+++ b/SPECS/openvswitch3.1.spec
@@ -57,7 +57,7 @@ Summary: Open vSwitch
 Group: System Environment/Daemons daemon/database/utilities
 URL: http://www.openvswitch.org/
 Version: 3.1.0
-Release: 19%{?dist}
+Release: 20%{?dist}
 
 # Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
 # lib/sflow*.[ch] files are SISSL
@@ -751,6 +751,12 @@ exit 0
 %endif
 
 %changelog
+* Thu Apr 27 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-20
+- Merging upstream branch-3.1 [RH git: 107636a54b]
+    Commit list:
+    29c61a4024 python-stream: Handle SSL error in do_handshake.
+
+
 * Tue Apr 25 2023 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-19
 - Merging upstream branch-3.1 [RH git: 50f8f99edc]
     Commit list: