ofproto-dpif-upcall: Don't delete modified ukeys.
authorJoe Stringer <joe@ovn.org>
Thu, 7 Jan 2016 19:47:46 +0000 (11:47 -0800)
committerJoe Stringer <joe@ovn.org>
Thu, 7 Jan 2016 22:54:49 +0000 (14:54 -0800)
commitc56eba3b7ab04773204881fa48ff86c3753badc6
tree7ceb4ac28506c6a4542f6dd5aa5839669cf2dd63
parentad99e2ed492607397e33ee921133ff6ad64f4614
ofproto-dpif-upcall: Don't delete modified ukeys.

If revalidation returns the result UKEY_DELETE, then both the ukey and
its corresponding flow should be deleted. However, if revalidation
returns UKEY_MODIFY, the ukey itself should be modified in-place and
should not be deleted.

Fix this by only applying the ukey deletion to ukeys whose datapath
operations delete a flow.

This may fix statistics accounting issues in rare cases involving
OpenFlow rule modification where actions are updated but flows remain
the same.

Found by inspection.

Signed-off-by: Joe Stringer <joe@ovn.org>
Acked-by: Jarno Rajahalme <jarno@ovn.org>
ofproto/ofproto-dpif-upcall.c