From cd30b3460ac53719a6b8aaaba89b29c0304ac335 Mon Sep 17 00:00:00 2001 From: Alin Serdean Date: Tue, 20 Dec 2016 19:42:19 +0000 Subject: datapath-windows: Add multiple switch internal ports This patch adds multiple internal ports support to the windows datapath. All tunnels types have been updated to accommodate this new functionality. Signed-off-by: Alin Gabriel Serdean Co-authored-by: Sorin Vinturis Signed-off-by: Sorin Vinturis Acked-by: Paul Boca Acked-by: Sairam Venugopal Signed-off-by: Gurucharan Shetty --- datapath-windows/ovsext/Stt.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'datapath-windows/ovsext/Stt.c') diff --git a/datapath-windows/ovsext/Stt.c b/datapath-windows/ovsext/Stt.c index b04a77f04..9da81dc4e 100644 --- a/datapath-windows/ovsext/Stt.c +++ b/datapath-windows/ovsext/Stt.c @@ -107,13 +107,14 @@ OvsEncapStt(POVS_VPORT_ENTRY vport, OvsIPv4TunnelKey *tunKey, POVS_SWITCH_CONTEXT switchContext, POVS_PACKET_HDR_INFO layers, - PNET_BUFFER_LIST *newNbl) + PNET_BUFFER_LIST *newNbl, + POVS_FWD_INFO switchFwdInfo) { OVS_FWD_INFO fwdInfo; NDIS_STATUS status; UNREFERENCED_PARAMETER(switchContext); - status = OvsLookupIPFwdInfo(tunKey->dst, &fwdInfo); + status = OvsLookupIPFwdInfo(tunKey->src, tunKey->dst, &fwdInfo); if (status != STATUS_SUCCESS) { OvsFwdIPHelperRequest(NULL, 0, tunKey, NULL, NULL, NULL); /* @@ -123,6 +124,8 @@ OvsEncapStt(POVS_VPORT_ENTRY vport, return NDIS_STATUS_FAILURE; } + RtlCopyMemory(switchFwdInfo->value, fwdInfo.value, sizeof fwdInfo.value); + status = OvsDoEncapStt(vport, curNbl, tunKey, &fwdInfo, layers, switchContext, newNbl); return status; -- cgit v1.2.1