diff --git a/SOURCES/openvswitch-2.13.0.patch b/SOURCES/openvswitch-2.13.0.patch
index d0809fe..610bf45 100644
--- a/SOURCES/openvswitch-2.13.0.patch
+++ b/SOURCES/openvswitch-2.13.0.patch
@@ -1697,7 +1697,7 @@ index 92b52f6712..cb88e03e89 100644
  OVS_CHECK_PRAGMA_MESSAGE
  AC_SUBST([OVS_CFLAGS])
 diff --git a/datapath-windows/ovsext/Actions.c b/datapath-windows/ovsext/Actions.c
-index 5c9b5c3a0c..94bbc5a887 100644
+index 5c9b5c3a0c..75b3c02748 100644
 --- a/datapath-windows/ovsext/Actions.c
 +++ b/datapath-windows/ovsext/Actions.c
 @@ -1112,9 +1112,9 @@ OvsPopFieldInPacketBuf(OvsForwardingContext *ovsFwdCtx,
@@ -1912,15 +1912,24 @@ index 5c9b5c3a0c..94bbc5a887 100644
      }
      if (ipHdr->ttl != ipAttr->ipv4_ttl) {
          UINT16 oldTtl = (ipHdr->ttl) & 0xff;
-@@ -1669,6 +1710,7 @@ OvsUpdateIPv4Header(OvsForwardingContext *ovsFwdCtx,
+@@ -1669,6 +1710,16 @@ OvsUpdateIPv4Header(OvsForwardingContext *ovsFwdCtx,
              ipHdr->check = ChecksumUpdate16(ipHdr->check, oldTtl, newTtl);
          }
          ipHdr->ttl = ipAttr->ipv4_ttl;
 +        key->ipKey.nwTtl = ipAttr->ipv4_ttl;
++    }
++    if (ipHdr->dscp != (ipAttr->ipv4_tos & 0xfc)) {
++        /* ECN + DSCP */
++        UINT8 newTos = (ipHdr->tos & 0x3) | (ipAttr->ipv4_tos & 0xfc);
++        if (ipHdr->check != 0) {
++            ipHdr->check = ChecksumUpdate16(ipHdr->check, ipHdr->tos, newTos);
++        }
++        ipHdr->tos = newTos;
++        key->ipKey.nwTos = newTos;
      }
  
      return NDIS_STATUS_SUCCESS;
-@@ -1691,12 +1733,12 @@ OvsExecuteSetAction(OvsForwardingContext *ovsFwdCtx,
+@@ -1691,12 +1742,12 @@ OvsExecuteSetAction(OvsForwardingContext *ovsFwdCtx,
  
      switch (type) {
      case OVS_KEY_ATTR_ETHERNET:
@@ -1935,7 +1944,7 @@ index 5c9b5c3a0c..94bbc5a887 100644
              NlAttrGetUnspec(a, sizeof(struct ovs_key_ipv4)));
          break;
  
-@@ -1709,16 +1751,17 @@ OvsExecuteSetAction(OvsForwardingContext *ovsFwdCtx,
+@@ -1709,16 +1760,17 @@ OvsExecuteSetAction(OvsForwardingContext *ovsFwdCtx,
          status = SUCCEEDED(convertStatus) ? NDIS_STATUS_SUCCESS : NDIS_STATUS_FAILURE;
          ASSERT(status == NDIS_STATUS_SUCCESS);
          RtlCopyMemory(&ovsFwdCtx->tunKey, &tunKey, sizeof ovsFwdCtx->tunKey);
@@ -1955,7 +1964,7 @@ index 5c9b5c3a0c..94bbc5a887 100644
              NlAttrGetUnspec(a, sizeof(struct ovs_key_tcp)));
          break;
  
-@@ -1763,9 +1806,11 @@ OvsExecuteRecirc(OvsForwardingContext *ovsFwdCtx,
+@@ -1763,9 +1815,11 @@ OvsExecuteRecirc(OvsForwardingContext *ovsFwdCtx,
      }
  
      if (newNbl) {
@@ -1969,7 +1978,7 @@ index 5c9b5c3a0c..94bbc5a887 100644
      }
  
      if (deferredAction) {
-@@ -1917,7 +1962,7 @@ OvsExecuteSampleAction(OvsForwardingContext *ovsFwdCtx,
+@@ -1917,7 +1971,7 @@ OvsExecuteSampleAction(OvsForwardingContext *ovsFwdCtx,
          return STATUS_SUCCESS;
      }
  
@@ -1978,7 +1987,7 @@ index 5c9b5c3a0c..94bbc5a887 100644
          OVS_LOG_INFO(
              "Deferred actions limit reached, dropping sample action.");
          OvsCompleteNBL(ovsFwdCtx->switchContext, newNbl, TRUE);
-@@ -2053,6 +2098,7 @@ OvsDoExecuteActions(POVS_SWITCH_CONTEXT switchContext,
+@@ -2053,6 +2107,7 @@ OvsDoExecuteActions(POVS_SWITCH_CONTEXT switchContext,
                   */
                  status = OvsPopVlanInPktBuf(&ovsFwdCtx);
                  if (status != NDIS_STATUS_SUCCESS) {
@@ -1986,7 +1995,7 @@ index 5c9b5c3a0c..94bbc5a887 100644
                      dropReason = L"OVS-pop vlan action failed";
                      goto dropit;
                  }
-@@ -2302,7 +2348,7 @@ OvsActionsExecute(POVS_SWITCH_CONTEXT switchContext,
+@@ -2302,7 +2357,7 @@ OvsActionsExecute(POVS_SWITCH_CONTEXT switchContext,
  
      if (status == STATUS_SUCCESS) {
          status = OvsProcessDeferredActions(switchContext, completionList,
diff --git a/SPECS/openvswitch2.13.spec b/SPECS/openvswitch2.13.spec
index 86e3c4b..50857cb 100644
--- a/SPECS/openvswitch2.13.spec
+++ b/SPECS/openvswitch2.13.spec
@@ -59,7 +59,7 @@ Summary: Open vSwitch
 Group: System Environment/Daemons daemon/database/utilities
 URL: http://www.openvswitch.org/
 Version: 2.13.0
-Release: 160%{?commit0:.%{date}git%{shortcommit0}}%{?commit1:dpdk%{shortcommit1}}%{?dist}
+Release: 161%{?commit0:.%{date}git%{shortcommit0}}%{?commit1:dpdk%{shortcommit1}}%{?dist}
 
 # Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
 # lib/sflow*.[ch] files are SISSL
@@ -715,6 +715,12 @@ exit 0
 %endif
 
 %changelog
+* Wed Feb 23 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.13.0-161
+- Merging upstream branch-2.13 [RH git: b782265f2e]
+    Commit list:
+    c0ee8f841b datapath-windows: Fix NXM_OF_IP_TOS issue
+
+
 * Thu Feb 17 2022 Open vSwitch CI <ovs-ci@redhat.com> - 2.13.0-160
 - Merging upstream branch-2.13 [RH git: e141303891]
     Commit list: