BUG-1056 brocastflow is not proper modified after deleting interface 70/7270/3
authorHsin-Yi Shen <hshen@redhat.com>
Tue, 20 May 2014 22:54:35 +0000 (18:54 -0400)
committerHsin-Yi Shen <hshen@redhat.com>
Thu, 26 Jun 2014 18:02:43 +0000 (18:02 +0000)
commit2d9ca324eb01422fbf1d94b0fc50b10870dde449
treefd45617355933f8db26d408282da90772e2797d5
parentcf830cb33148a84f97b6aec68eae521b39bcd7e9
BUG-1056 brocastflow is not proper modified after deleting interface

Current logic for flow mod is not correct and this fix intends to fix the flow mod logic.

When removing the output action due to port deleting, current logic just record number of output action type in the action list until the loop find the item we want to delete. So if the deleted item happens to be the first output action in the action list (while there are other output actions in the list), the number of output action type is 0 and flow is deleted. This is wrong behavior. The flow should be modified to remove the output action, not removed in this case.

This fix uses boolean flag instead. The flag is set to true if it find any output action other than the deleted one exists in the action list. So the flow only gets removed when no other output actions are found. This is the desired logic and behavior we want.

Signed-off-by: Hsin-Yi Shen <hshen@redhat.com>
neutron/src/main/java/org/opendaylight/ovsdb/neutron/provider/OF13Provider.java