bug 8029 added ref counts for physical locators. 35/61535/10
authorK.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
Fri, 11 Aug 2017 09:20:36 +0000 (14:50 +0530)
committerAnil Vishnoi <vishnoianil@gmail.com>
Tue, 3 Oct 2017 09:08:05 +0000 (09:08 +0000)
commitde4e74030571f163a157740d78ecde2b60fe99ac
tree9f9109b32fbb10d866f541d74eec57640eecb4e6
parent5054cb0337e6b03d7e3dae82129077aec8d6f2e3
bug 8029 added ref counts for physical locators.

remote mcast and ucast macs refer to physical locators

whenever a new mac is added or updated, update their refcount for that
tep.

When the ref count of the tep goes to zero , the device may delete that
tep after the current transaction.
In that case mark the locator as in transit.

The next transaction which depends on this locator will not use this
locator uuid and will wait for the locator in transit state to be
resolved in dependency queue.

Eventually controller will get locator delete update command from the
device and proceed the transactions which are waiting for this locator
state to be changed from in transit state.

Added onSuccess and onFailure methods to transaction command.
Clear the locator refs for the succeeded delete mcast macs immediately
upon the success of the device transaction.

Clearing the locator ref count immediately upon success of delete mcast
is needed so that the next transaction will not use the possibly stale locator.

Clear the intransit status of the failed commands upon failure.

Change-Id: I84d64f7deb20f801f14e524f88431807afac3a99
Signed-off-by: K.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
18 files changed:
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/HwvtepDeviceInfo.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/HwvtepSouthboundConstants.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/AbstractTransactCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/HwvtepOperationalState.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/LogicalRouterRemoveCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/LogicalSwitchRemoveCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/LogicalSwitchUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/McastMacsRemoteRemoveCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/McastMacsRemoteUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/MdsalUpdate.java [new file with mode: 0644]
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/PhysicalSwitchUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/TransactCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/TransactCommandAggregator.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/TransactInvokerImpl.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/TransactUtils.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/UcastMacsRemoteRemoveCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transact/UcastMacsRemoteUpdateCommand.java
hwvtepsouthbound/hwvtepsouthbound-impl/src/main/java/org/opendaylight/ovsdb/hwvtepsouthbound/transactions/md/AbstractTransactionCommand.java