OPNFLWPLUG-1015 : OF Bundle add message failing with incorrect XID 13/72513/11
authorgobinath <gobinath@ericsson.com>
Thu, 31 May 2018 06:34:05 +0000 (12:04 +0530)
committergobinath <gobinath@ericsson.com>
Wed, 6 Jun 2018 06:34:24 +0000 (12:04 +0530)
commit9c2cfaaf66ba36f3ea7ff4fc6b7a5ae2e704fda4
tree15d2f88cd3ccb917284558809e5d170671e07802
parentc4208e6859bf2e06fa269233fc396fd54d0aa1be
OPNFLWPLUG-1015 : OF Bundle add message failing with incorrect XID

When more number of flow/groups being pushed via OF bundle down to openflow switch. OVS rejects some of the bundle add messages with error OFPBFC_MSG_BAD_XID (inconsistent or duplicate transaction ID).

On further analysis, it was found that the OVS (in compliance with
openflow protocol) rejects the add bundle messages if the transaction id
in the OFP header containing the bundle add msg is different to that of
the flow/group mod present in the bundle body.

This may be due to synchronization issues in the creation of the bundle
inner msg which could have resulted in the incorrect transaction Id
being set in the bundle msg. Changes have been made to avoid the
synchronization issue now which could fix this bug.

Change-Id: Ia575eee9616607402f625e09588b84758b1e4fe2
Signed-off-by: gobinath <gobinath@ericsson.com>
22 files changed:
extension/openflowplugin-extension-api/src/main/java/org/opendaylight/openflowplugin/extension/api/BundleMessageDataInjector.java [deleted file]
extension/openflowplugin-extension-api/src/main/java/org/opendaylight/openflowplugin/extension/api/ConverterMessageToOFJava.java
extension/openflowplugin-extension-api/src/main/java/org/opendaylight/openflowplugin/extension/api/ConvertorData.java [new file with mode: 0644]
extension/openflowplugin-extension-api/src/main/java/org/opendaylight/openflowplugin/extension/api/ExtensionConverterRegistrator.java
extension/openflowplugin-extension-api/src/main/java/org/opendaylight/openflowplugin/extension/api/ExtensionConvertorData.java [new file with mode: 0644]
extension/openflowplugin-extension-api/src/main/java/org/opendaylight/openflowplugin/extension/api/core/extension/ExtensionConverterProvider.java
extension/openflowplugin-extension-onf/src/main/java/org/opendaylight/openflowplugin/extension/onf/converter/BundleAddMessageConverter.java
extension/openflowplugin-extension-onf/src/main/java/org/opendaylight/openflowplugin/extension/onf/converter/BundleControlConverter.java
extension/openflowplugin-extension-onf/src/test/java/org/opendaylight/openflowplugin/extension/onf/converter/BundleAddMessageConverterTest.java
extension/openflowplugin-extension-onf/src/test/java/org/opendaylight/openflowplugin/extension/onf/converter/BundleControlConverterTest.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/protocol/serialization/multipart/MultipartRequestExperimenterSerializer.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/multilayer/MultiLayerExperimenterMultipartService.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/sal/PacketProcessingServiceImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/sal/SalExperimenterMessageServiceImpl.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/ServiceMocking.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/services/sal/SalExperimenterMessageServiceImplTest.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/extension/ExtensionConverterManagerImpl.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/extension/RegistrationCloser.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/PacketOutConvertor.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/data/XidConvertorData.java [moved from openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/data/PacketOutConvertorData.java with 69% similarity]
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/util/InventoryDataServiceUtil.java
openflowplugin/src/test/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/PacketOutConvertorTest.java