Update OvsLookupFlow() to include flowKey->RecircId when computing hash. Use the right source port Id for checking if a packet is received or transmitted.
Signed-off-by: Sairam Venugopal <vsai...@vmware.com> --- datapath-windows/ovsext/Actions.c | 2 +- datapath-windows/ovsext/Flow.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/datapath-windows/ovsext/Actions.c b/datapath-windows/ovsext/Actions.c index a91454d..7742096 100644 --- a/datapath-windows/ovsext/Actions.c +++ b/datapath-windows/ovsext/Actions.c @@ -2015,7 +2015,7 @@ OvsDoRecirc(POVS_SWITCH_CONTEXT switchContext, } status = OvsCreateAndAddPackets(NULL, 0, OVS_PACKET_CMD_MISS, vport, key, ovsFwdCtx.curNbl, - srcPortNo == + ovsFwdCtx.fwdDetail->SourcePortId == switchContext->virtualExternalPortId, &ovsFwdCtx.layers, ovsFwdCtx.switchContext, diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c index 02c41b7..d49697c 100644 --- a/datapath-windows/ovsext/Flow.c +++ b/datapath-windows/ovsext/Flow.c @@ -2133,6 +2133,9 @@ OvsLookupFlow(OVS_DATAPATH *datapath, if (!hashValid) { *hash = OvsJhashBytes(start, size, 0); + if (key->recircId) { + *hash = OvsJhashWords((UINT32*)hash, 1, key->recircId); + } } head = &datapath->flowTable[HASH_BUCKET(*hash)]; -- 2.5.0.windows.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev