Re: Query on ExperimenterMessage

Michal Polkorab

Hello Giuseppe,

first, few statements from Openflow 1.3.2 specification:


  - An Echo Request message consists of an OpenFlow header plus an arbitrary-length data field


  - Experimenter-defined arbitrary additional data

So in case of echo message, any additional data present are transformed into "data" (byte array).

However, in case experimenter message is received, there is some experimenter defined content which needs to be translated by some codec (deserializer / serializer). In order to do so, one must augment the "choice experimenter-data-of-choice" - so that one has needed fields added into the experimenter message. And also one needs to implement the codec that takes care of the experimenter data.

Data could be translated even from byte array, but it is easier to work with fields straight. Moreover it goes hand in hand with model driven architecture that we hold on to.



From: Petralia, GiuseppeX <giuseppex.petralia@...>
Sent: 29 October 2015 17:17
To: openflowjava-dev@...
Subject: [openflowjava-dev] Query on ExperimenterMessage

Hi all,


I was using the ExperimenterMessage model generated from the yang model openflow-protocol.yang and I noticed that it is missing the data field.


For example if you look at echo-request you will find the data leaf:


grouping echo-request {

       reference "OFPT_ECHO_REQUEST message in Openflow Switch 1.3 Spec";

       /* Symmetric message */

       uses ofHeader;


       leaf data {

                    type binary;




While if you look at the Experimenter fields, data is missing and consequently the generated source does not implement the getData() method (that is the method to which I am interested in):


grouping experimenter-core {

    description "General experimenter message content suitable for symmetric and multipart message";

    leaf experimenter {

                type oft:experimenter-id;


    leaf exp_type {

                type uint32;


    choice experimenter-data-of-choice {

                // to be augmented by vendors




Is that any reason for that or is it just a bug?


Thank you for your help.


Giuseppe Petralia

Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.


Software Engineer

Sídlo Mlynské Nivy 56 / 821 05 Bratislava / Slovakia
R&D centrum 
Janka Kráľa 9 /  974 01 Banská Bystrica Slovakia
+421 918 378 907 / michal.polkorab@...
reception: +421 2 206 65 114 /



Join to automatically receive all group messages.