diff --git a/SOURCES/openvswitch-3.1.0.patch b/SOURCES/openvswitch-3.1.0.patch
index 88b7d6b..05651a3 100644
--- a/SOURCES/openvswitch-3.1.0.patch
+++ b/SOURCES/openvswitch-3.1.0.patch
@@ -748,6 +748,22 @@ index c576ae620..474344194 100644
+ wc->masks.nw_proto = 0xff;
+ }
+}
+diff --git a/lib/meta-flow.xml b/lib/meta-flow.xml
+index a1a20366d..bdd12f6a7 100644
+--- a/lib/meta-flow.xml
++++ b/lib/meta-flow.xml
+@@ -4312,9 +4312,9 @@ r r c c c.
+
+
+
+-
++
+
+-
++
+
+
+
diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c
index b89dfdd52..6c9094638 100644
--- a/lib/netdev-native-tnl.c
@@ -3985,6 +4001,46 @@ index 784bada12..3bf339582 100644
+
+OVS_TRAFFIC_VSWITCHD_STOP
+AT_CLEANUP
+diff --git a/tests/system-kmod-macros.at b/tests/system-kmod-macros.at
+index 11920e60b..1f9950f83 100644
+--- a/tests/system-kmod-macros.at
++++ b/tests/system-kmod-macros.at
+@@ -224,3 +224,13 @@ m4_define([VSCTL_ADD_DATAPATH_TABLE],
+ # or necessary for the userspace datapath as it is checking for a kernel
+ # specific regression.
+ m4_define([CHECK_L3L4_CONNTRACK_REASM])
++
++# OVS_CHECK_BAREUDP()
++#
++# The feature needs to be enabled in the kernel configuration (CONFIG_BAREUDP)
++# to work.
++m4_define([OVS_CHECK_BAREUDP],
++[
++ AT_SKIP_IF([! ip link add dev ovs_bareudp0 type bareudp dstport 6635 ethertype mpls_uc 2>&1 >/dev/null])
++ AT_CHECK([ip link del dev ovs_bareudp0])
++])
+diff --git a/tests/system-layer3-tunnels.at b/tests/system-layer3-tunnels.at
+index c37852b21..81123f730 100644
+--- a/tests/system-layer3-tunnels.at
++++ b/tests/system-layer3-tunnels.at
+@@ -154,7 +154,7 @@ OVS_VSWITCHD_STOP
+ AT_CLEANUP
+
+ AT_SETUP([layer3 - ping over MPLS Bareudp])
+-OVS_CHECK_MIN_KERNEL(5, 7)
++OVS_CHECK_BAREUDP()
+ OVS_TRAFFIC_VSWITCHD_START([_ADD_BR([br1])])
+ ADD_NAMESPACES(at_ns0, at_ns1)
+
+@@ -202,7 +202,7 @@ OVS_TRAFFIC_VSWITCHD_STOP
+ AT_CLEANUP
+
+ AT_SETUP([layer3 - ping over Bareudp])
+-OVS_CHECK_MIN_KERNEL(5, 7)
++OVS_CHECK_BAREUDP()
+ OVS_TRAFFIC_VSWITCHD_START([_ADD_BR([br1])])
+ ADD_NAMESPACES(at_ns0, at_ns1)
+
diff --git a/tests/system-offloads-traffic.at b/tests/system-offloads-traffic.at
index d36da0580..8dd3bdf88 100644
--- a/tests/system-offloads-traffic.at
@@ -4190,6 +4246,22 @@ index 221d96aef..6678911b4 100644
OVS_WAIT_UNTIL([grep "listening" tcpdump1_err])
dnl Send UDP client->server
+diff --git a/tests/system-userspace-macros.at b/tests/system-userspace-macros.at
+index b34a84775..40210f7fa 100644
+--- a/tests/system-userspace-macros.at
++++ b/tests/system-userspace-macros.at
+@@ -325,3 +325,11 @@ m4_define([CHECK_L3L4_CONNTRACK_REASM],
+ [
+ AT_SKIP_IF([:])
+ ])
++
++# OVS_CHECK_BAREUDP()
++#
++# The userspace datapath does not support bareudp tunnels.
++m4_define([OVS_CHECK_BAREUDP],
++[
++ AT_SKIP_IF([:])
++])
diff --git a/tests/testsuite.at b/tests/testsuite.at
index cf4e3eadf..9d77a9f51 100644
--- a/tests/testsuite.at
diff --git a/SPECS/openvswitch3.1.spec b/SPECS/openvswitch3.1.spec
index 762f5f9..7ebd8d0 100644
--- a/SPECS/openvswitch3.1.spec
+++ b/SPECS/openvswitch3.1.spec
@@ -63,7 +63,7 @@ Summary: Open vSwitch
Group: System Environment/Daemons daemon/database/utilities
URL: http://www.openvswitch.org/
Version: 3.1.0
-Release: 31%{?dist}
+Release: 32%{?dist}
# Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the
# lib/sflow*.[ch] files are SISSL
@@ -757,6 +757,13 @@ exit 0
%endif
%changelog
+* Thu May 25 2023 Open vSwitch CI - 3.1.0-32
+- Merging upstream branch-3.1 [RH git: 5cf043293a]
+ Commit list:
+ e3b84fd4ab tests: layer3-tunnels: Skip bareudp tests if not supported by kernel.
+ e913394054 ovs-fields: Modify the width of tpa and spa.
+
+
* Thu May 25 2023 Open vSwitch CI - 3.1.0-31
- Merging upstream branch-3.1 [RH git: 03d17c9746]
Commit list: