Bug 6146 - Some Flows not found in DeviceFlowRegistry 10/42510/1
authorAnil Vishnoi <vishnoianil@gmail.com>
Mon, 25 Jul 2016 20:18:14 +0000 (13:18 -0700)
committerAnil Vishnoi <vishnoianil@gmail.com>
Mon, 25 Jul 2016 23:07:19 +0000 (16:07 -0700)
commit5641f4a2747a9107cee6beb4ba18f5a19cbfbe49
treea1b04a7e87bf12b2b7d766d4bb23984fb080bc29
parent43827b63a38ea4b516596898f7fb1b47dd75e223
Bug 6146 - Some Flows not found in DeviceFlowRegistry

Hook in the custom comparator code from Helium design
that will bring in the custom flow-match constructs
comparison and address all the regression scenario
poped up because of the hashcode/equals based matching.
Default equals/hashcode approach won't work for flow matching,
because flows match contructs (e.g ip/mac) are not normalized
and also because of the extension augmentation.

This hook don't change the default behavior, it will trigger
only if the flow is not found in the flowRegistry, so as far
as user installs flow with the normalized values, custom
comparator is not required.

Change-Id: Ibeba9693d1c4dc0092fa9a11c8acd0ce7cf7a15d
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/flow/DeviceFlowRegistryImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/registry/flow/FlowRegistryKeyFactory.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/util/IntegerIpAddress.java [new file with mode: 0644]
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/util/MatchComparatorFactory.java [new file with mode: 0644]
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/util/MatchComparatorHelper.java [new file with mode: 0644]
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/util/SimpleComparator.java [new file with mode: 0644]