diff options
author | Sorin Vinturis <svinturis@cloudbasesolutions.com> | 2015-09-23 12:40:18 +0000 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2015-09-29 11:55:41 -0700 |
commit | 4c470e88c289bcb0b80181b53aaf4f4d50c8b731 (patch) | |
tree | 446bd6ff25a06bc355bd2c1d77e2f42d1084108c /datapath-windows/ovsext/User.c | |
parent | 85050f2eac57b9cc6faaa51f515fc6dd16779bcd (diff) | |
download | openvswitch-4c470e88c289bcb0b80181b53aaf4f4d50c8b731.tar.gz |
datapath-windows: Avoid unnecessary vport array search
Signed-off-by: Sorin Vinturis <svinturis@cloudbasesolutions.com>
Acked-by: Sairam Venugopal <vsairam@vmware.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'datapath-windows/ovsext/User.c')
-rw-r--r-- | datapath-windows/ovsext/User.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/datapath-windows/ovsext/User.c b/datapath-windows/ovsext/User.c index 8045e9a63..7af481653 100644 --- a/datapath-windows/ovsext/User.c +++ b/datapath-windows/ovsext/User.c @@ -772,7 +772,7 @@ NTSTATUS OvsCreateAndAddPackets(PVOID userData, UINT32 userDataLen, UINT32 cmd, - UINT32 inPort, + POVS_VPORT_ENTRY vport, OvsFlowKey *key, PNET_BUFFER_LIST nbl, BOOLEAN isRecv, @@ -809,7 +809,7 @@ OvsCreateAndAddPackets(PVOID userData, nb = NET_BUFFER_LIST_FIRST_NB(nbl); while (nb) { elem = OvsCreateQueueNlPacket(userData, userDataLen, - cmd, inPort, key, nbl, nb, + cmd, vport, key, nbl, nb, isRecv, hdrInfo); if (elem) { InsertTailList(list, &elem->link); @@ -988,7 +988,7 @@ POVS_PACKET_QUEUE_ELEM OvsCreateQueueNlPacket(PVOID userData, UINT32 userDataLen, UINT32 cmd, - UINT32 inPort, + POVS_VPORT_ENTRY vport, OvsFlowKey *key, PNET_BUFFER_LIST nbl, PNET_BUFFER nb, @@ -1007,10 +1007,6 @@ OvsCreateQueueNlPacket(PVOID userData, NL_BUFFER nlBuf; PNL_MSG_HDR nlMsg; - /* XXX pass vport in the stack rather than portNo */ - POVS_VPORT_ENTRY vport = - OvsFindVportByPortNo(gOvsSwitchContext, inPort); - if (vport == NULL){ /* No vport is not fatal. */ return NULL; @@ -1062,7 +1058,7 @@ OvsCreateQueueNlPacket(PVOID userData, elem->packet.queue = 0; /* XXX no need as the length is already in the NL attrib */ elem->packet.userDataLen = userDataLen; - elem->packet.inPort = inPort; + elem->packet.inPort = vport->portNo; elem->packet.cmd = cmd; if (cmd == (UINT32)OVS_PACKET_CMD_MISS) { ovsUserStats.miss++; |