Bug 756 - ExperimenterAction length computation added 16/6216/2
authorMichal Polkorab <michal.polkorab@pantheon.sk>
Tue, 25 Mar 2014 15:59:52 +0000 (08:59 -0700)
committerMichal Polkorab <michal.polkorab@pantheon.sk>
Tue, 15 Apr 2014 15:52:05 +0000 (15:52 +0000)
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
Change-Id: I7b1bc70b4a7f1ca62b0a6530ff2d4b48349e5620
(cherry picked from commit 7b1bc70b4a7f1ca62b0a6530ff2d4b48349e5620)

openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/util/ActionsSerializer.java

index 10cd78d7cd2fa31a9710bd5d79e6afccc69bfa4a..5490bdbb7c9b3f890ac19178fa9a4530bb4751e0 100644 (file)
@@ -335,6 +335,10 @@ public abstract class ActionsSerializer {
                     if ((paddingRemainder) != 0) {
                         lengthOfActions += EncodeConstants.PADDING - paddingRemainder;
                     }
+                } else if (action.getType().isAssignableFrom(Experimenter.class)) {
+                    ExperimenterAction experimenterAction = action.getAugmentation(ExperimenterAction.class);
+                    lengthOfActions += experimenterAction.getData().length;
+                    lengthOfActions += EncodeConstants.SIZE_OF_LONG_IN_BYTES;
                 } else {
                     lengthOfActions += LENGTH_OF_OTHER_ACTIONS;
                 }