From 339bac0438ea3c94b3abaa6cc3a08e2a12e37ad0 Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Feb 24 2022 00:32:44 +0000 Subject: Import openvswitch2.13-2.13.0-161 from Fast DataPath --- 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 - 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 - 2.13.0-160 - Merging upstream branch-2.13 [RH git: e141303891] Commit list: