Output reg support for nicira experimenter fields
Implement NXAST_OUTPUT_REG2 which supports experimenter fields vs the
existing NXAST_OUTPUT_REG that does not. The openflowplugin API will
still expose a single output reg action, but this will be converted to
openflowjava output reg2 action if the source choice is a experimenter
field or to the existing output reg action otherwise.
From [1], this is the structure of the output reg2 action:
struct nx_action_output_reg2 {
ovs_be16 type; // OFPAT_EXPERIMENTER = 0xFFFF
ovs_be16 len; // 24.
ovs_be32 vendor; // NX_VENDOR_ID = 0x00002320
ovs_be16 subtype; // NXAST_OUTPUT_REG2 = 32
ovs_be16 ofs_nbits; // (ofs << 6) | (n_bits - 1).
ovs_be16 max_len; // Max length to send to controller.
/* Followed by:
* - 'src', as an OXM/NXM header (either 4 or 8 bytes).
* - Enough 0-bytes to pad the action out to 24 bytes. */
};
[1] https://github.com/openvswitch/ovs/blob/master/lib/ofp-actions.c
Change-Id: I6865ea6b8b3191895f2c548e7acf6707d94402e0
JIRA: OPNFLWPLUG-1017
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
13 files changed: