Class ForwardingRulesManagerImpl
java.lang.Object
org.opendaylight.openflowplugin.applications.frm.impl.ForwardingRulesManagerImpl
- All Implemented Interfaces:
- AutoCloseable,- ConfigurationListener,- ForwardingRulesManager
@Singleton
public final class ForwardingRulesManagerImpl
extends Object
implements ForwardingRulesManager, AutoCloseable
Manager and middle point for whole module. It contains ActiveNodeHolder and provide all RPC services.
- 
Constructor SummaryConstructorsConstructorDescriptionForwardingRulesManagerImpl(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, org.opendaylight.mdsal.binding.api.RpcService rpcRegistry, org.opendaylight.mdsal.binding.api.RpcProviderService rpcProviderService, ForwardingRulesManagerConfig config, MastershipChangeServiceManager mastershipChangeServiceManager, ConfigurationService configurationService, ReconciliationManager reconciliationManager, OpenflowServiceRecoveryHandler openflowServiceRecoveryHandler, org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry serviceRecoveryRegistry, FlowGroupCacheManager flowGroupCacheManager) 
- 
Method SummaryModifier and TypeMethodDescriptionaddFlow()addGroup()addMeter()voidaddRecoverableListener(org.opendaylight.serviceutils.srm.RecoverableListener recoverableListener) Method for register RecoverableListener.booleancheckNodeInOperationalDataStore(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident) Method returns information : "is Node with send InstanceIdentifier present in operational data store"?.voidclose()Return BundleFlowListener instance.Return BundleGroupListener instance.Return Devices Group Registry which can be used to track the groups present in a device.Content definition method and prevent code duplicity in Reconcil.Content definition method and prevent code duplicity.Return theFlowNodeReconciliationassociated with this manager.Content definition method and prevent code duplicity in Reconcil.Content definition method and prevent code duplicity.Method returns generated transaction ID, which is unique for every transaction.Return the NodeConfigurator which could be used to serialize jobs.org.opendaylight.mdsal.binding.api.ReadTransactionMethod returns Read Transaction.intReturn number of reconciliation retry are allowed.Content definition method and prevent code duplicity.booleanholds the value read from the configuration file openflowplugin.cfg file.booleanisNodeActive(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident) Method returns information : "is Node with send InstanceIdentifier connected"?.booleanisNodeOwner(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident) Method checks if *this* instance of openflowplugin is owner of the given openflow node.booleanCheck if reconciliation is disabled by user.booleanCheck if stale marking is enabled for switch reconciliation.voidonPropertyChanged(@NonNull String propertyName, @NonNull String propertyValue) Method invoked on configuration property change.voidsetDeviceMastershipManager(DeviceMastershipManager deviceMastershipManager) @NonNull UpdateFlow
- 
Constructor Details- 
ForwardingRulesManagerImpl@Inject public ForwardingRulesManagerImpl(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, org.opendaylight.mdsal.binding.api.RpcService rpcRegistry, org.opendaylight.mdsal.binding.api.RpcProviderService rpcProviderService, ForwardingRulesManagerConfig config, MastershipChangeServiceManager mastershipChangeServiceManager, ConfigurationService configurationService, ReconciliationManager reconciliationManager, OpenflowServiceRecoveryHandler openflowServiceRecoveryHandler, org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry serviceRecoveryRegistry, FlowGroupCacheManager flowGroupCacheManager) 
 
- 
- 
Method Details- 
close- Specified by:
- closein interface- AutoCloseable
- Throws:
- Exception
 
- 
getReadTransactionpublic org.opendaylight.mdsal.binding.api.ReadTransaction getReadTransaction()Description copied from interface:ForwardingRulesManagerMethod returns Read Transaction. It is need for Node reconciliation only.- Specified by:
- getReadTransactionin interface- ForwardingRulesManager
- Returns:
- ReadOnlyTransaction
 
- 
getNewTransactionIdDescription copied from interface:ForwardingRulesManagerMethod returns generated transaction ID, which is unique for every transaction. ID is composite from prefix ("DOM") and unique number.- Specified by:
- getNewTransactionIdin interface- ForwardingRulesManager
- Returns:
- String transactionID for RPC transaction identification
 
- 
isNodeActivepublic boolean isNodeActive(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident) Description copied from interface:ForwardingRulesManagerMethod returns information : "is Node with send InstanceIdentifier connected"?.- Specified by:
- isNodeActivein interface- ForwardingRulesManager
- Parameters:
- ident- - the key of the node
- Returns:
- boolean - true if device is connected
 
- 
checkNodeInOperationalDataStorepublic boolean checkNodeInOperationalDataStore(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident) Description copied from interface:ForwardingRulesManagerMethod returns information : "is Node with send InstanceIdentifier present in operational data store"?.- Specified by:
- checkNodeInOperationalDataStorein interface- ForwardingRulesManager
- Parameters:
- ident- - the key of the node
- Returns:
- boolean - true if device is present in operational data store
 
- 
addFlow- Specified by:
- addFlowin interface- ForwardingRulesManager
 
- 
removeFlow- Specified by:
- removeFlowin interface- ForwardingRulesManager
 
- 
updateFlow- Specified by:
- updateFlowin interface- ForwardingRulesManager
 
- 
addGroup- Specified by:
- addGroupin interface- ForwardingRulesManager
 
- 
removeGroup- Specified by:
- removeGroupin interface- ForwardingRulesManager
 
- 
updateGroup- Specified by:
- updateGroupin interface- ForwardingRulesManager
 
- 
addMeter- Specified by:
- addMeterin interface- ForwardingRulesManager
 
- 
removeMeter- Specified by:
- removeMeterin interface- ForwardingRulesManager
 
- 
updateMeter- Specified by:
- updateMeterin interface- ForwardingRulesManager
 
- 
updateTable- Specified by:
- updateTablein interface- ForwardingRulesManager
 
- 
controlBundle- Specified by:
- controlBundlein interface- ForwardingRulesManager
 
- 
addBundleMessages- Specified by:
- addBundleMessagesin interface- ForwardingRulesManager
 
- 
getActiveBundle- Specified by:
- getActiveBundlein interface- ForwardingRulesManager
 
- 
getDevicesGroupRegistryDescription copied from interface:ForwardingRulesManagerReturn Devices Group Registry which can be used to track the groups present in a device.- Specified by:
- getDevicesGroupRegistryin interface- ForwardingRulesManager
- Returns:
- devicesGroupRegistry
 
- 
getFlowCommiterDescription copied from interface:ForwardingRulesManagerContent definition method and prevent code duplicity in Reconcil.- Specified by:
- getFlowCommiterin interface- ForwardingRulesManager
- Returns:
- ForwardingRulesCommiter<Flow>.
 
- 
getGroupCommiterDescription copied from interface:ForwardingRulesManagerContent definition method and prevent code duplicity in Reconcil.- Specified by:
- getGroupCommiterin interface- ForwardingRulesManager
- Returns:
- ForwardingRulesCommiter<Group>
 
- 
getMeterCommiterDescription copied from interface:ForwardingRulesManagerContent definition method and prevent code duplicity.- Specified by:
- getMeterCommiterin interface- ForwardingRulesManager
- Returns:
- ForwardingRulesCommiter<Meter>
 
- 
getTableFeaturesCommiterDescription copied from interface:ForwardingRulesManagerContent definition method and prevent code duplicity.- Specified by:
- getTableFeaturesCommiterin interface- ForwardingRulesManager
- Returns:
- ForwardingRulesCommiter<Table>
 
- 
getBundleFlowListenerDescription copied from interface:ForwardingRulesManagerReturn BundleFlowListener instance.- Specified by:
- getBundleFlowListenerin interface- ForwardingRulesManager
- Returns:
- BundleFlowListener
 
- 
getBundleGroupListenerDescription copied from interface:ForwardingRulesManagerReturn BundleGroupListener instance.- Specified by:
- getBundleGroupListenerin interface- ForwardingRulesManager
- Returns:
- BundleGroupListener
 
- 
isReconciliationDisabledpublic boolean isReconciliationDisabled()Description copied from interface:ForwardingRulesManagerCheck if reconciliation is disabled by user.- Specified by:
- isReconciliationDisabledin interface- ForwardingRulesManager
- Returns:
- true if reconciliation is disabled, else false
 
- 
isStaleMarkingEnabledpublic boolean isStaleMarkingEnabled()Description copied from interface:ForwardingRulesManagerCheck if stale marking is enabled for switch reconciliation.- Specified by:
- isStaleMarkingEnabledin interface- ForwardingRulesManager
- Returns:
- true if stale marking is enabled, else false
 
- 
getReconciliationRetryCountpublic int getReconciliationRetryCount()Description copied from interface:ForwardingRulesManagerReturn number of reconciliation retry are allowed.- Specified by:
- getReconciliationRetryCountin interface- ForwardingRulesManager
- Returns:
- number of retries.
 
- 
addRecoverableListenerpublic void addRecoverableListener(org.opendaylight.serviceutils.srm.RecoverableListener recoverableListener) Description copied from interface:ForwardingRulesManagerMethod for register RecoverableListener.- Specified by:
- addRecoverableListenerin interface- ForwardingRulesManager
 
- 
getFlowNodeConnectorInventoryTranslatorImplDescription copied from interface:ForwardingRulesManagerContent definition method and prevent code duplicity.- Specified by:
- getFlowNodeConnectorInventoryTranslatorImplin interface- ForwardingRulesManager
- Returns:
- FlowNodeConnectorInventoryTranslatorImpl
 
- 
getNodeConfiguratorDescription copied from interface:ForwardingRulesManagerReturn the NodeConfigurator which could be used to serialize jobs.- Specified by:
- getNodeConfiguratorin interface- ForwardingRulesManager
- Returns:
- modeConfigurator.
 
- 
getFlowNodeReconciliationDescription copied from interface:ForwardingRulesManagerReturn theFlowNodeReconciliationassociated with this manager.- Specified by:
- getFlowNodeReconciliationin interface- ForwardingRulesManager
- Returns:
- the FlowNodeReconciliation
 
- 
isBundleBasedReconciliationEnabledpublic boolean isBundleBasedReconciliationEnabled()Description copied from interface:ForwardingRulesManagerholds the value read from the configuration file openflowplugin.cfg file.- Specified by:
- isBundleBasedReconciliationEnabledin interface- ForwardingRulesManager
- Returns:
- True if user enables bundle-based-reconciliation-enabled field in config file or False
 
- 
isNodeOwnerpublic boolean isNodeOwner(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<FlowCapableNode> ident) Description copied from interface:ForwardingRulesManagerMethod checks if *this* instance of openflowplugin is owner of the given openflow node.- Specified by:
- isNodeOwnerin interface- ForwardingRulesManager
- Returns:
- True if owner, else false
 
- 
setDeviceMastershipManager
- 
onPropertyChangedDescription copied from interface:ConfigurationListenerMethod invoked on configuration property change.- Specified by:
- onPropertyChangedin interface- ConfigurationListener
- Parameters:
- propertyName- the property name
- propertyValue- the property value
 
 
-