org.projectfloodlight.openflow.protocol.ver12.OFActionVer12 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openflowj Show documentation
Show all versions of openflowj Show documentation
OpenFlowJ API supporting OpenFlow versions 1.0 through 1.5.1, generated by LoxiGen
The newest version!
// Copyright (c) 2008 The Board of Trustees of The Leland Stanford Junior University
// Copyright (c) 2011, 2012 Open Networking Foundation
// Copyright (c) 2012, 2013 Big Switch Networks, Inc.
// This library was generated by the LoxiGen Compiler.
// See the file LICENSE.txt which should have been included in the source distribution
// Automatically generated by LOXI from template of_virtual_class.java
// Do not modify
package org.projectfloodlight.openflow.protocol.ver12;
import org.projectfloodlight.openflow.protocol.*;
import org.projectfloodlight.openflow.protocol.action.*;
import org.projectfloodlight.openflow.protocol.actionid.*;
import org.projectfloodlight.openflow.protocol.bsntlv.*;
import org.projectfloodlight.openflow.protocol.errormsg.*;
import org.projectfloodlight.openflow.protocol.meterband.*;
import org.projectfloodlight.openflow.protocol.instruction.*;
import org.projectfloodlight.openflow.protocol.instructionid.*;
import org.projectfloodlight.openflow.protocol.match.*;
import org.projectfloodlight.openflow.protocol.stat.*;
import org.projectfloodlight.openflow.protocol.oxm.*;
import org.projectfloodlight.openflow.protocol.oxs.*;
import org.projectfloodlight.openflow.protocol.queueprop.*;
import org.projectfloodlight.openflow.types.*;
import org.projectfloodlight.openflow.util.*;
import org.projectfloodlight.openflow.exceptions.*;
import io.netty.buffer.ByteBuf;
import java.util.Set;
abstract class OFActionVer12 {
// version: 1.2
final static byte WIRE_VERSION = 3;
final static int MINIMUM_LENGTH = 8;
public final static OFActionVer12.Reader READER = new Reader();
static class Reader implements OFMessageReader {
@Override
public OFAction readFrom(ByteBuf bb) throws OFParseError {
if(bb.readableBytes() < MINIMUM_LENGTH)
return null;
int start = bb.readerIndex();
short type = bb.readShort();
bb.readerIndex(start);
switch(type) {
case (short) 0xffff:
// discriminator value OFActionType.EXPERIMENTER=65535 for class OFActionExperimenterVer12
return OFActionExperimenterVer12.READER.readFrom(bb);
case (short) 0x0:
// discriminator value OFActionType.OUTPUT=0 for class OFActionOutputVer12
return OFActionOutputVer12.READER.readFrom(bb);
case (short) 0xc:
// discriminator value OFActionType.COPY_TTL_IN=12 for class OFActionCopyTtlInVer12
return OFActionCopyTtlInVer12.READER.readFrom(bb);
case (short) 0xb:
// discriminator value OFActionType.COPY_TTL_OUT=11 for class OFActionCopyTtlOutVer12
return OFActionCopyTtlOutVer12.READER.readFrom(bb);
case (short) 0x10:
// discriminator value OFActionType.DEC_MPLS_TTL=16 for class OFActionDecMplsTtlVer12
return OFActionDecMplsTtlVer12.READER.readFrom(bb);
case (short) 0x18:
// discriminator value OFActionType.DEC_NW_TTL=24 for class OFActionDecNwTtlVer12
return OFActionDecNwTtlVer12.READER.readFrom(bb);
case (short) 0x16:
// discriminator value OFActionType.GROUP=22 for class OFActionGroupVer12
return OFActionGroupVer12.READER.readFrom(bb);
case (short) 0x14:
// discriminator value OFActionType.POP_MPLS=20 for class OFActionPopMplsVer12
return OFActionPopMplsVer12.READER.readFrom(bb);
case (short) 0x12:
// discriminator value OFActionType.POP_VLAN=18 for class OFActionPopVlanVer12
return OFActionPopVlanVer12.READER.readFrom(bb);
case (short) 0x13:
// discriminator value OFActionType.PUSH_MPLS=19 for class OFActionPushMplsVer12
return OFActionPushMplsVer12.READER.readFrom(bb);
case (short) 0x11:
// discriminator value OFActionType.PUSH_VLAN=17 for class OFActionPushVlanVer12
return OFActionPushVlanVer12.READER.readFrom(bb);
case (short) 0xf:
// discriminator value OFActionType.SET_MPLS_TTL=15 for class OFActionSetMplsTtlVer12
return OFActionSetMplsTtlVer12.READER.readFrom(bb);
case (short) 0x17:
// discriminator value OFActionType.SET_NW_TTL=23 for class OFActionSetNwTtlVer12
return OFActionSetNwTtlVer12.READER.readFrom(bb);
case (short) 0x15:
// discriminator value OFActionType.SET_QUEUE=21 for class OFActionSetQueueVer12
return OFActionSetQueueVer12.READER.readFrom(bb);
case (short) 0x19:
// discriminator value OFActionType.SET_FIELD=25 for class OFActionSetFieldVer12
return OFActionSetFieldVer12.READER.readFrom(bb);
default:
throw new OFParseError("Unknown value for discriminator type of class OFActionVer12: " + type);
}
}
}
}