diff --git a/SOURCES/openvswitch-3.1.0.patch b/SOURCES/openvswitch-3.1.0.patch
index 3200017..1e662df 100644
--- a/SOURCES/openvswitch-3.1.0.patch
+++ b/SOURCES/openvswitch-3.1.0.patch
@@ -7566,6 +7566,19 @@ index 742eed3998..f13478a884 100644
  {
      uint64_t export_time_usec;
      uint32_t export_time_sec;
+diff --git a/ofproto/ofproto-dpif-mirror.c b/ofproto/ofproto-dpif-mirror.c
+index 343b75f0ed..45024580aa 100644
+--- a/ofproto/ofproto-dpif-mirror.c
++++ b/ofproto/ofproto-dpif-mirror.c
+@@ -265,7 +265,7 @@ mirror_set(struct mbridge *mbridge, void *aux, const char *name,
+     {
+         hmapx_destroy(&srcs_map);
+         hmapx_destroy(&dsts_map);
+-        return 0;
++        return ECANCELED;
+     }
+ 
+     /* XXX: Not sure if these need to be thread safe. */
 diff --git a/ofproto/ofproto-dpif-monitor.c b/ofproto/ofproto-dpif-monitor.c
 index bb0e490910..5132f9c952 100644
 --- a/ofproto/ofproto-dpif-monitor.c
@@ -8862,7 +8875,7 @@ index a9cf3cbee0..73dd5d1910 100644
                  return;
              }
 diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
-index f87e27a8cd..ff520c150e 100644
+index f87e27a8cd..0b06257a47 100644
 --- a/ofproto/ofproto-dpif.c
 +++ b/ofproto/ofproto-dpif.c
 @@ -714,12 +714,6 @@ close_dpif_backer(struct dpif_backer *backer, bool del)
@@ -8957,7 +8970,24 @@ index f87e27a8cd..ff520c150e 100644
      } else if (del) {
          /* The underlying device is already deleted (e.g. tunctl -d).
           * Calling dpif_port_remove to do local cleanup for the netdev */
-@@ -3908,15 +3902,21 @@ port_query_by_name(const struct ofproto *ofproto_, const char *devname,
+@@ -3673,6 +3667,16 @@ mirror_set__(struct ofproto *ofproto_, void *aux,
+                        s->n_dsts, s->src_vlans,
+                        bundle_lookup(ofproto, s->out_bundle),
+                        s->snaplen, s->out_vlan);
++
++    if (!error) {
++        ofproto->backer->need_revalidate = REV_RECONFIGURE;
++    } else if (error == ECANCELED) {
++        /* The user requested a change that is identical to the current state,
++         * the reconfiguration is canceled, but don't log an error message
++         * about that. */
++        error = 0;
++    }
++
+     free(srcs);
+     free(dsts);
+     return error;
+@@ -3908,15 +3912,21 @@ port_query_by_name(const struct ofproto *ofproto_, const char *devname,
      int error;
  
      if (sset_contains(&ofproto->ghost_ports, devname)) {
@@ -8975,17 +9005,17 @@ index f87e27a8cd..ff520c150e 100644
 +        const char *type = netdev_get_type_from_name(devname);
 +        const struct ofport *ofport =
 +                        shash_find_data(&ofproto->up.port_by_name, devname);
-+
+ 
+-            ofport = shash_find_data(&ofproto->up.port_by_name, devname);
 +        if (!type && ofport && ofport->netdev) {
 +            type = netdev_get_type(ofport->netdev);
 +        }
- 
--            ofport = shash_find_data(&ofproto->up.port_by_name, devname);
++
 +        if (type) {
              ofproto_port->ofp_port = ofport ? ofport->ofp_port : OFPP_NONE;
              ofproto_port->name = xstrdup(devname);
              ofproto_port->type = xstrdup(type);
-@@ -4886,7 +4886,7 @@ packet_xlate(struct ofproto *ofproto_, struct ofproto_packet_out *opo)
+@@ -4886,7 +4896,7 @@ packet_xlate(struct ofproto *ofproto_, struct ofproto_packet_out *opo)
              if (entry->type == XC_LEARN) {
                  struct ofproto_flow_mod *ofm = entry->learn.ofm;
  
diff --git a/SPECS/openvswitch3.1.spec b/SPECS/openvswitch3.1.spec
index 59ef2f6..8c7ea69 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: 130%{?dist}
+Release: 131%{?dist}
 
 # Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
 # lib/sflow*.[ch] files are SISSL
@@ -756,6 +756,12 @@ exit 0
 %endif
 
 %changelog
+* Fri Sep 20 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-131
+- Merging upstream branch-3.1 [RH git: 165fcefe62]
+    Commit list:
+    8ec460bbe5 ofproto-dpif-mirror: Always revalidate on mirror update. (FDP-788)
+
+
 * Mon Sep 16 2024 Open vSwitch CI <ovs-ci@redhat.com> - 3.1.0-130
 - Merging upstream branch-3.1 [RH git: 1036ded5d1]
     Commit list: