OFPGC_ADD_OR_MOD support in openflowplugin 94/66694/8
authorGobinath <gobinath@ericsson.com>
Thu, 21 Dec 2017 05:41:03 +0000 (11:11 +0530)
committerGobinath <gobinath@ericsson.com>
Fri, 5 Jan 2018 10:59:52 +0000 (16:29 +0530)
commit3baf1792117c2a550405fc87273b335a4f98451b
tree76dbcc7f413d5a135de5e5bcf5db3392f74fa638
parent4183c0e3b1787072ced04f3e4fb1ae29c7d59929
OFPGC_ADD_OR_MOD support in openflowplugin

Addition of new command OFPGC_ADD_OR_MOD for OFPT_GROUP_MOD message
that adds a new group that does not exist (like ADD) or modifies
an existing groups like (MODIFY).

Added a configurable property group_add_mod_enabled which when set to
"true", the addition/updation of a group would send OFPGC_ADD_OR_MOD
message to the switches. When set to false, the addition/updation of the
group has the same existing behavior,ie, OFPGC_ADD for addition and
OFPGC_UPDATE for the updation of the groups.

This patch fixes the following bugs: OPNFLWPLUG-788, OPNFLWPLUG-877, OPNFLWPLUG-667

Gerrit link for the specs: https://git.opendaylight.org/gerrit/#/c/65465/

Change-Id: Ifb2f7ff55d07ca565d87eaa8b253021cad667fd6
Signed-off-by: Gobinath <gobinath@ericsson.com>
21 files changed:
openflowjava/openflow-protocol-api/src/main/java/org/opendaylight/openflowjava/protocol/api/connection/ConnectionConfiguration.java
openflowjava/openflow-protocol-api/src/main/java/org/opendaylight/openflowjava/protocol/api/extensibility/SerializerRegistry.java
openflowjava/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/SwitchConnectionProviderFactoryImpl.java
openflowjava/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/SwitchConnectionProviderImpl.java
openflowjava/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/MessageFactoryInitializer.java
openflowjava/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/SerializerRegistryImpl.java
openflowjava/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/GroupModInputMessageFactory.java
openflowjava/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/core/connection/ConnectionConfigurationImpl.java
openflowjava/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/core/connection/SwitchConnectionProviderImpl02Test.java
openflowjava/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/core/connection/SwitchConnectionProviderImplTest.java
openflowjava/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/GroupModInputMessageFactoryTest.java
openflowjava/openflow-protocol-it/src/test/java/org/opendaylight/openflowjava/protocol/it/integration/IntegrationTest.java
openflowjava/openflow-protocol-spi/src/main/java/org/opendaylight/openflowjava/protocol/spi/connection/SwitchConnectionProvider.java
openflowjava/openflow-protocol-spi/src/main/yang/openflow-switch-connection-config.yang
openflowjava/openflowjava-blueprint-config/src/main/resources/initial/default-openflow-connection-config.xml
openflowjava/openflowjava-blueprint-config/src/main/resources/initial/legacy-openflow-connection-config.xml
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/protocol/serialization/MessageSerializerInjector.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/protocol/serialization/SerializerInjector.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/protocol/serialization/messages/GroupMessageSerializer.java
openflowplugin-impl/src/test/java/org/opendaylight/openflowplugin/impl/protocol/serialization/AbstractSerializerTest.java