Port update with no security groups 38/86838/4
authorShashidhar Raja <shashidharr@altencalsoftlabs.com>
Fri, 10 Jan 2020 09:34:24 +0000 (15:04 +0530)
committerShashidhar R <shashidharr@altencalsoftlabs.com>
Mon, 3 Feb 2020 06:01:54 +0000 (06:01 +0000)
commite55b8242a4c52ac0935a74146adb98ccbddc17a3
treeda01be16cc52b6a1147b8f5eebd8a3661a72f60e
parente096f8bb681710fff71a5c9466f7144686cd2a6e
Port update with no security groups

(a) Cache was updated after added ACLs were processed during port update.
This was casuing problems when port was updated from no security groups to
valid security groups; required flows were not getting added in remote
group tables. This issue is fixed by updating cache before processing of
added ACLs.

(b) Port update to no security groups was leaving stale flows in remote
group tables sometimes. This was because of cache update happening in
different thread than the thread which was processing deleted ACLs. This
issue is fixed by passing copy of required unchanged cache to the thread
which is processin deleted ACLs.

(c) Remote group flow was getting deleted even though it was part of other
rules (of the same or different SG) of the port. Validation is introduced
to check this condition now before remote group flow is deleted.

Change-Id: I15022652ddb36ade060c3c26149c5d68594e1593
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/AbstractAclServiceImpl.java
aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/listeners/AclInterfaceListener.java
aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclDataUtil.java
aclservice/impl/src/main/java/org/opendaylight/netvirt/aclservice/utils/AclServiceUtils.java
aclservice/impl/src/test/java/org/opendaylight/netvirt/aclservice/tests/FlowEntryObjectsStateful.xtend