-
Improvement
-
Resolution: Done
-
Medium
-
None
-
None
-
None
Genius interface-manager (IFM) is having DTCN listener on FlowCapableNodeConnector.
If there is a FlowCapableNodeConnector removal notification, IFM has to distinguish between the removal due to the actual port delete or port delete due to the node removal.
This check is necessary in order to not remove the interface from the datastore for node removal so applications wont react to the changes.
Currently IFM is reading the operational inventory for every port delete, this includes the read for actual OF port delete and port delete because of node delete.
Openflowplugin should update the nodeconnector model with the reason flag as delete before deleting it from the datastore.
Sequence 1: Port delete from the datapath node
Port Add -> Node Connector Model - update PortReason Flag - Add
Port Update -> Node Connector Model - update PortReason Flag - Update
Port Delete -> a. Node Connector Model - update PortReason Flag - Delete (IFM will receive an update event, which can be ignored)
b. Remove Node Connector Model ( IFM will receive delete event and can directly delete the interfaces without a read from operational inventory.
Sequence 2: Datapath node disconnect/SwitchIdleEvent
Port Add -> Node Connector Model - update PortReason Flag - Ad
Port Update -> Node Connector Model - update PortReason Flag - Update
NodeDisconnect/SwitchIdleEvent -> a. Remove FlowCapableNode from Inventory (Current state of PortReason flag is update)
b. IFM will get NodeConnector Removal Event and will be able to derive the reason for NodeConnector removal from the PortReason flag.
- blocks
-
GENIUS-116 Use port reason flag to determine the node availablity
- Verified