All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.projectfloodlight.openflow.protocol.ver12.OFOxmsVer12 Maven / Gradle / Ivy

Go to download

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_factory_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.*;


public class OFOxmsVer12 implements OFOxms {
    public final static OFOxmsVer12 INSTANCE = new OFOxmsVer12();




    public OFOxmArpOp.Builder buildArpOp() {
        return new OFOxmArpOpVer12.Builder();
    }
    public OFOxmArpOp arpOp(ArpOpcode value) {
        return new OFOxmArpOpVer12(
                value
                    );
    }

    public OFOxmArpOpMasked.Builder buildArpOpMasked() {
        return new OFOxmArpOpMaskedVer12.Builder();
    }
    public OFOxmArpOpMasked arpOpMasked(ArpOpcode value, ArpOpcode mask) {
        return new OFOxmArpOpMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmArpSha.Builder buildArpSha() {
        return new OFOxmArpShaVer12.Builder();
    }
    public OFOxmArpSha arpSha(MacAddress value) {
        return new OFOxmArpShaVer12(
                value
                    );
    }

    public OFOxmArpShaMasked.Builder buildArpShaMasked() {
        return new OFOxmArpShaMaskedVer12.Builder();
    }
    public OFOxmArpShaMasked arpShaMasked(MacAddress value, MacAddress mask) {
        return new OFOxmArpShaMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmArpSpa.Builder buildArpSpa() {
        return new OFOxmArpSpaVer12.Builder();
    }
    public OFOxmArpSpa arpSpa(IPv4Address value) {
        return new OFOxmArpSpaVer12(
                value
                    );
    }

    public OFOxmArpSpaMasked.Builder buildArpSpaMasked() {
        return new OFOxmArpSpaMaskedVer12.Builder();
    }
    public OFOxmArpSpaMasked arpSpaMasked(IPv4Address value, IPv4Address mask) {
        return new OFOxmArpSpaMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmArpTha.Builder buildArpTha() {
        return new OFOxmArpThaVer12.Builder();
    }
    public OFOxmArpTha arpTha(MacAddress value) {
        return new OFOxmArpThaVer12(
                value
                    );
    }

    public OFOxmArpThaMasked.Builder buildArpThaMasked() {
        return new OFOxmArpThaMaskedVer12.Builder();
    }
    public OFOxmArpThaMasked arpThaMasked(MacAddress value, MacAddress mask) {
        return new OFOxmArpThaMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmArpTpa.Builder buildArpTpa() {
        return new OFOxmArpTpaVer12.Builder();
    }
    public OFOxmArpTpa arpTpa(IPv4Address value) {
        return new OFOxmArpTpaVer12(
                value
                    );
    }

    public OFOxmArpTpaMasked.Builder buildArpTpaMasked() {
        return new OFOxmArpTpaMaskedVer12.Builder();
    }
    public OFOxmArpTpaMasked arpTpaMasked(IPv4Address value, IPv4Address mask) {
        return new OFOxmArpTpaMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnEgrPortGroupId.Builder buildBsnEgrPortGroupId() {
        return new OFOxmBsnEgrPortGroupIdVer12.Builder();
    }
    public OFOxmBsnEgrPortGroupId bsnEgrPortGroupId(ClassId value) {
        return new OFOxmBsnEgrPortGroupIdVer12(
                value
                    );
    }

    public OFOxmBsnEgrPortGroupIdMasked.Builder buildBsnEgrPortGroupIdMasked() {
        return new OFOxmBsnEgrPortGroupIdMaskedVer12.Builder();
    }
    public OFOxmBsnEgrPortGroupIdMasked bsnEgrPortGroupIdMasked(ClassId value, ClassId mask) {
        return new OFOxmBsnEgrPortGroupIdMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnGlobalVrfAllowed.Builder buildBsnGlobalVrfAllowed() {
        return new OFOxmBsnGlobalVrfAllowedVer12.Builder();
    }
    public OFOxmBsnGlobalVrfAllowed bsnGlobalVrfAllowed(OFBooleanValue value) {
        return new OFOxmBsnGlobalVrfAllowedVer12(
                value
                    );
    }

    public OFOxmBsnGlobalVrfAllowedMasked.Builder buildBsnGlobalVrfAllowedMasked() {
        return new OFOxmBsnGlobalVrfAllowedMaskedVer12.Builder();
    }
    public OFOxmBsnGlobalVrfAllowedMasked bsnGlobalVrfAllowedMasked(OFBooleanValue value, OFBooleanValue mask) {
        return new OFOxmBsnGlobalVrfAllowedMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnInPorts128.Builder buildBsnInPorts128() {
        return new OFOxmBsnInPorts128Ver12.Builder();
    }
    public OFOxmBsnInPorts128 bsnInPorts128(OFBitMask128 value) {
        return new OFOxmBsnInPorts128Ver12(
                value
                    );
    }

    public OFOxmBsnInPorts128Masked.Builder buildBsnInPorts128Masked() {
        return new OFOxmBsnInPorts128MaskedVer12.Builder();
    }
    public OFOxmBsnInPorts128Masked bsnInPorts128Masked(OFBitMask128 value, OFBitMask128 mask) {
        return new OFOxmBsnInPorts128MaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnInPorts512.Builder buildBsnInPorts512() {
        return new OFOxmBsnInPorts512Ver12.Builder();
    }
    public OFOxmBsnInPorts512 bsnInPorts512(OFBitMask512 value) {
        return new OFOxmBsnInPorts512Ver12(
                value
                    );
    }

    public OFOxmBsnInPorts512Masked.Builder buildBsnInPorts512Masked() {
        return new OFOxmBsnInPorts512MaskedVer12.Builder();
    }
    public OFOxmBsnInPorts512Masked bsnInPorts512Masked(OFBitMask512 value, OFBitMask512 mask) {
        return new OFOxmBsnInPorts512MaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnIngressPortGroupId.Builder buildBsnIngressPortGroupId() {
        return new OFOxmBsnIngressPortGroupIdVer12.Builder();
    }
    public OFOxmBsnIngressPortGroupId bsnIngressPortGroupId(ClassId value) {
        return new OFOxmBsnIngressPortGroupIdVer12(
                value
                    );
    }

    public OFOxmBsnIngressPortGroupIdMasked.Builder buildBsnIngressPortGroupIdMasked() {
        return new OFOxmBsnIngressPortGroupIdMaskedVer12.Builder();
    }
    public OFOxmBsnIngressPortGroupIdMasked bsnIngressPortGroupIdMasked(ClassId value, ClassId mask) {
        return new OFOxmBsnIngressPortGroupIdMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnIpFragmentation.Builder buildBsnIpFragmentation() {
        return new OFOxmBsnIpFragmentationVer12.Builder();
    }
    public OFOxmBsnIpFragmentation bsnIpFragmentation(OFBooleanValue value) {
        return new OFOxmBsnIpFragmentationVer12(
                value
                    );
    }

    public OFOxmBsnIpFragmentationMasked.Builder buildBsnIpFragmentationMasked() {
        return new OFOxmBsnIpFragmentationMaskedVer12.Builder();
    }
    public OFOxmBsnIpFragmentationMasked bsnIpFragmentationMasked(OFBooleanValue value, OFBooleanValue mask) {
        return new OFOxmBsnIpFragmentationMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnL2CacheHit.Builder buildBsnL2CacheHit() {
        return new OFOxmBsnL2CacheHitVer12.Builder();
    }
    public OFOxmBsnL2CacheHit bsnL2CacheHit(OFBooleanValue value) {
        return new OFOxmBsnL2CacheHitVer12(
                value
                    );
    }

    public OFOxmBsnL2CacheHitMasked.Builder buildBsnL2CacheHitMasked() {
        return new OFOxmBsnL2CacheHitMaskedVer12.Builder();
    }
    public OFOxmBsnL2CacheHitMasked bsnL2CacheHitMasked(OFBooleanValue value, OFBooleanValue mask) {
        return new OFOxmBsnL2CacheHitMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnL3DstClassId.Builder buildBsnL3DstClassId() {
        return new OFOxmBsnL3DstClassIdVer12.Builder();
    }
    public OFOxmBsnL3DstClassId bsnL3DstClassId(ClassId value) {
        return new OFOxmBsnL3DstClassIdVer12(
                value
                    );
    }

    public OFOxmBsnL3DstClassIdMasked.Builder buildBsnL3DstClassIdMasked() {
        return new OFOxmBsnL3DstClassIdMaskedVer12.Builder();
    }
    public OFOxmBsnL3DstClassIdMasked bsnL3DstClassIdMasked(ClassId value, ClassId mask) {
        return new OFOxmBsnL3DstClassIdMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnL3InterfaceClassId.Builder buildBsnL3InterfaceClassId() {
        return new OFOxmBsnL3InterfaceClassIdVer12.Builder();
    }
    public OFOxmBsnL3InterfaceClassId bsnL3InterfaceClassId(ClassId value) {
        return new OFOxmBsnL3InterfaceClassIdVer12(
                value
                    );
    }

    public OFOxmBsnL3InterfaceClassIdMasked.Builder buildBsnL3InterfaceClassIdMasked() {
        return new OFOxmBsnL3InterfaceClassIdMaskedVer12.Builder();
    }
    public OFOxmBsnL3InterfaceClassIdMasked bsnL3InterfaceClassIdMasked(ClassId value, ClassId mask) {
        return new OFOxmBsnL3InterfaceClassIdMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnL3SrcClassId.Builder buildBsnL3SrcClassId() {
        return new OFOxmBsnL3SrcClassIdVer12.Builder();
    }
    public OFOxmBsnL3SrcClassId bsnL3SrcClassId(ClassId value) {
        return new OFOxmBsnL3SrcClassIdVer12(
                value
                    );
    }

    public OFOxmBsnL3SrcClassIdMasked.Builder buildBsnL3SrcClassIdMasked() {
        return new OFOxmBsnL3SrcClassIdMaskedVer12.Builder();
    }
    public OFOxmBsnL3SrcClassIdMasked bsnL3SrcClassIdMasked(ClassId value, ClassId mask) {
        return new OFOxmBsnL3SrcClassIdMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnLagId.Builder buildBsnLagId() {
        return new OFOxmBsnLagIdVer12.Builder();
    }
    public OFOxmBsnLagId bsnLagId(LagId value) {
        return new OFOxmBsnLagIdVer12(
                value
                    );
    }

    public OFOxmBsnLagIdMasked.Builder buildBsnLagIdMasked() {
        return new OFOxmBsnLagIdMaskedVer12.Builder();
    }
    public OFOxmBsnLagIdMasked bsnLagIdMasked(LagId value, LagId mask) {
        return new OFOxmBsnLagIdMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnTcpFlags.Builder buildBsnTcpFlags() {
        return new OFOxmBsnTcpFlagsVer12.Builder();
    }
    public OFOxmBsnTcpFlags bsnTcpFlags(U16 value) {
        return new OFOxmBsnTcpFlagsVer12(
                value
                    );
    }

    public OFOxmBsnTcpFlagsMasked.Builder buildBsnTcpFlagsMasked() {
        return new OFOxmBsnTcpFlagsMaskedVer12.Builder();
    }
    public OFOxmBsnTcpFlagsMasked bsnTcpFlagsMasked(U16 value, U16 mask) {
        return new OFOxmBsnTcpFlagsMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnUdf0.Builder buildBsnUdf0() {
        return new OFOxmBsnUdf0Ver12.Builder();
    }
    public OFOxmBsnUdf0 bsnUdf0(UDF value) {
        return new OFOxmBsnUdf0Ver12(
                value
                    );
    }

    public OFOxmBsnUdf0Masked.Builder buildBsnUdf0Masked() {
        return new OFOxmBsnUdf0MaskedVer12.Builder();
    }
    public OFOxmBsnUdf0Masked bsnUdf0Masked(UDF value, UDF mask) {
        return new OFOxmBsnUdf0MaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnUdf1.Builder buildBsnUdf1() {
        return new OFOxmBsnUdf1Ver12.Builder();
    }
    public OFOxmBsnUdf1 bsnUdf1(UDF value) {
        return new OFOxmBsnUdf1Ver12(
                value
                    );
    }

    public OFOxmBsnUdf1Masked.Builder buildBsnUdf1Masked() {
        return new OFOxmBsnUdf1MaskedVer12.Builder();
    }
    public OFOxmBsnUdf1Masked bsnUdf1Masked(UDF value, UDF mask) {
        return new OFOxmBsnUdf1MaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnUdf2.Builder buildBsnUdf2() {
        return new OFOxmBsnUdf2Ver12.Builder();
    }
    public OFOxmBsnUdf2 bsnUdf2(UDF value) {
        return new OFOxmBsnUdf2Ver12(
                value
                    );
    }

    public OFOxmBsnUdf2Masked.Builder buildBsnUdf2Masked() {
        return new OFOxmBsnUdf2MaskedVer12.Builder();
    }
    public OFOxmBsnUdf2Masked bsnUdf2Masked(UDF value, UDF mask) {
        return new OFOxmBsnUdf2MaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnUdf3.Builder buildBsnUdf3() {
        return new OFOxmBsnUdf3Ver12.Builder();
    }
    public OFOxmBsnUdf3 bsnUdf3(UDF value) {
        return new OFOxmBsnUdf3Ver12(
                value
                    );
    }

    public OFOxmBsnUdf3Masked.Builder buildBsnUdf3Masked() {
        return new OFOxmBsnUdf3MaskedVer12.Builder();
    }
    public OFOxmBsnUdf3Masked bsnUdf3Masked(UDF value, UDF mask) {
        return new OFOxmBsnUdf3MaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnUdf4.Builder buildBsnUdf4() {
        return new OFOxmBsnUdf4Ver12.Builder();
    }
    public OFOxmBsnUdf4 bsnUdf4(UDF value) {
        return new OFOxmBsnUdf4Ver12(
                value
                    );
    }

    public OFOxmBsnUdf4Masked.Builder buildBsnUdf4Masked() {
        return new OFOxmBsnUdf4MaskedVer12.Builder();
    }
    public OFOxmBsnUdf4Masked bsnUdf4Masked(UDF value, UDF mask) {
        return new OFOxmBsnUdf4MaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnUdf5.Builder buildBsnUdf5() {
        return new OFOxmBsnUdf5Ver12.Builder();
    }
    public OFOxmBsnUdf5 bsnUdf5(UDF value) {
        return new OFOxmBsnUdf5Ver12(
                value
                    );
    }

    public OFOxmBsnUdf5Masked.Builder buildBsnUdf5Masked() {
        return new OFOxmBsnUdf5MaskedVer12.Builder();
    }
    public OFOxmBsnUdf5Masked bsnUdf5Masked(UDF value, UDF mask) {
        return new OFOxmBsnUdf5MaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnUdf6.Builder buildBsnUdf6() {
        return new OFOxmBsnUdf6Ver12.Builder();
    }
    public OFOxmBsnUdf6 bsnUdf6(UDF value) {
        return new OFOxmBsnUdf6Ver12(
                value
                    );
    }

    public OFOxmBsnUdf6Masked.Builder buildBsnUdf6Masked() {
        return new OFOxmBsnUdf6MaskedVer12.Builder();
    }
    public OFOxmBsnUdf6Masked bsnUdf6Masked(UDF value, UDF mask) {
        return new OFOxmBsnUdf6MaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnUdf7.Builder buildBsnUdf7() {
        return new OFOxmBsnUdf7Ver12.Builder();
    }
    public OFOxmBsnUdf7 bsnUdf7(UDF value) {
        return new OFOxmBsnUdf7Ver12(
                value
                    );
    }

    public OFOxmBsnUdf7Masked.Builder buildBsnUdf7Masked() {
        return new OFOxmBsnUdf7MaskedVer12.Builder();
    }
    public OFOxmBsnUdf7Masked bsnUdf7Masked(UDF value, UDF mask) {
        return new OFOxmBsnUdf7MaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnVlanXlatePortGroupId.Builder buildBsnVlanXlatePortGroupId() {
        return new OFOxmBsnVlanXlatePortGroupIdVer12.Builder();
    }
    public OFOxmBsnVlanXlatePortGroupId bsnVlanXlatePortGroupId(ClassId value) {
        return new OFOxmBsnVlanXlatePortGroupIdVer12(
                value
                    );
    }

    public OFOxmBsnVlanXlatePortGroupIdMasked.Builder buildBsnVlanXlatePortGroupIdMasked() {
        return new OFOxmBsnVlanXlatePortGroupIdMaskedVer12.Builder();
    }
    public OFOxmBsnVlanXlatePortGroupIdMasked bsnVlanXlatePortGroupIdMasked(ClassId value, ClassId mask) {
        return new OFOxmBsnVlanXlatePortGroupIdMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnVrf.Builder buildBsnVrf() {
        return new OFOxmBsnVrfVer12.Builder();
    }
    public OFOxmBsnVrf bsnVrf(VRF value) {
        return new OFOxmBsnVrfVer12(
                value
                    );
    }

    public OFOxmBsnVrfMasked.Builder buildBsnVrfMasked() {
        return new OFOxmBsnVrfMaskedVer12.Builder();
    }
    public OFOxmBsnVrfMasked bsnVrfMasked(VRF value, VRF mask) {
        return new OFOxmBsnVrfMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmConnTrackingIpv6Dst.Builder buildConnTrackingIpv6Dst() {
        return new OFOxmConnTrackingIpv6DstVer12.Builder();
    }
    public OFOxmConnTrackingIpv6Dst connTrackingIpv6Dst(IPv6Address value) {
        return new OFOxmConnTrackingIpv6DstVer12(
                value
                    );
    }

    public OFOxmConnTrackingIpv6DstMasked.Builder buildConnTrackingIpv6DstMasked() {
        return new OFOxmConnTrackingIpv6DstMaskedVer12.Builder();
    }
    public OFOxmConnTrackingIpv6DstMasked connTrackingIpv6DstMasked(IPv6Address value, IPv6Address mask) {
        return new OFOxmConnTrackingIpv6DstMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmConnTrackingIpv6Src.Builder buildConnTrackingIpv6Src() {
        return new OFOxmConnTrackingIpv6SrcVer12.Builder();
    }
    public OFOxmConnTrackingIpv6Src connTrackingIpv6Src(IPv6Address value) {
        return new OFOxmConnTrackingIpv6SrcVer12(
                value
                    );
    }

    public OFOxmConnTrackingIpv6SrcMasked.Builder buildConnTrackingIpv6SrcMasked() {
        return new OFOxmConnTrackingIpv6SrcMaskedVer12.Builder();
    }
    public OFOxmConnTrackingIpv6SrcMasked connTrackingIpv6SrcMasked(IPv6Address value, IPv6Address mask) {
        return new OFOxmConnTrackingIpv6SrcMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmConnTrackingLabel.Builder buildConnTrackingLabel() {
        return new OFOxmConnTrackingLabelVer12.Builder();
    }
    public OFOxmConnTrackingLabel connTrackingLabel(U128 value) {
        return new OFOxmConnTrackingLabelVer12(
                value
                    );
    }

    public OFOxmConnTrackingLabelMasked.Builder buildConnTrackingLabelMasked() {
        return new OFOxmConnTrackingLabelMaskedVer12.Builder();
    }
    public OFOxmConnTrackingLabelMasked connTrackingLabelMasked(U128 value, U128 mask) {
        return new OFOxmConnTrackingLabelMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmConnTrackingMark.Builder buildConnTrackingMark() {
        return new OFOxmConnTrackingMarkVer12.Builder();
    }
    public OFOxmConnTrackingMark connTrackingMark(U32 value) {
        return new OFOxmConnTrackingMarkVer12(
                value
                    );
    }

    public OFOxmConnTrackingMarkMasked.Builder buildConnTrackingMarkMasked() {
        return new OFOxmConnTrackingMarkMaskedVer12.Builder();
    }
    public OFOxmConnTrackingMarkMasked connTrackingMarkMasked(U32 value, U32 mask) {
        return new OFOxmConnTrackingMarkMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmConnTrackingNwDst.Builder buildConnTrackingNwDst() {
        return new OFOxmConnTrackingNwDstVer12.Builder();
    }
    public OFOxmConnTrackingNwDst connTrackingNwDst(U32 value) {
        return new OFOxmConnTrackingNwDstVer12(
                value
                    );
    }

    public OFOxmConnTrackingNwDstMasked.Builder buildConnTrackingNwDstMasked() {
        return new OFOxmConnTrackingNwDstMaskedVer12.Builder();
    }
    public OFOxmConnTrackingNwDstMasked connTrackingNwDstMasked(U32 value, U32 mask) {
        return new OFOxmConnTrackingNwDstMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmConnTrackingNwProto.Builder buildConnTrackingNwProto() {
        return new OFOxmConnTrackingNwProtoVer12.Builder();
    }
    public OFOxmConnTrackingNwProto connTrackingNwProto(U8 value) {
        return new OFOxmConnTrackingNwProtoVer12(
                value
                    );
    }

    public OFOxmConnTrackingNwProtoMasked.Builder buildConnTrackingNwProtoMasked() {
        return new OFOxmConnTrackingNwProtoMaskedVer12.Builder();
    }
    public OFOxmConnTrackingNwProtoMasked connTrackingNwProtoMasked(U8 value, U8 mask) {
        return new OFOxmConnTrackingNwProtoMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmConnTrackingNwSrc.Builder buildConnTrackingNwSrc() {
        return new OFOxmConnTrackingNwSrcVer12.Builder();
    }
    public OFOxmConnTrackingNwSrc connTrackingNwSrc(U32 value) {
        return new OFOxmConnTrackingNwSrcVer12(
                value
                    );
    }

    public OFOxmConnTrackingNwSrcMasked.Builder buildConnTrackingNwSrcMasked() {
        return new OFOxmConnTrackingNwSrcMaskedVer12.Builder();
    }
    public OFOxmConnTrackingNwSrcMasked connTrackingNwSrcMasked(U32 value, U32 mask) {
        return new OFOxmConnTrackingNwSrcMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmConnTrackingState.Builder buildConnTrackingState() {
        return new OFOxmConnTrackingStateVer12.Builder();
    }
    public OFOxmConnTrackingState connTrackingState(U32 value) {
        return new OFOxmConnTrackingStateVer12(
                value
                    );
    }

    public OFOxmConnTrackingStateMasked.Builder buildConnTrackingStateMasked() {
        return new OFOxmConnTrackingStateMaskedVer12.Builder();
    }
    public OFOxmConnTrackingStateMasked connTrackingStateMasked(U32 value, U32 mask) {
        return new OFOxmConnTrackingStateMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmConnTrackingTpDst.Builder buildConnTrackingTpDst() {
        return new OFOxmConnTrackingTpDstVer12.Builder();
    }
    public OFOxmConnTrackingTpDst connTrackingTpDst(TransportPort value) {
        return new OFOxmConnTrackingTpDstVer12(
                value
                    );
    }

    public OFOxmConnTrackingTpDstMasked.Builder buildConnTrackingTpDstMasked() {
        return new OFOxmConnTrackingTpDstMaskedVer12.Builder();
    }
    public OFOxmConnTrackingTpDstMasked connTrackingTpDstMasked(TransportPort value, TransportPort mask) {
        return new OFOxmConnTrackingTpDstMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmConnTrackingTpSrc.Builder buildConnTrackingTpSrc() {
        return new OFOxmConnTrackingTpSrcVer12.Builder();
    }
    public OFOxmConnTrackingTpSrc connTrackingTpSrc(TransportPort value) {
        return new OFOxmConnTrackingTpSrcVer12(
                value
                    );
    }

    public OFOxmConnTrackingTpSrcMasked.Builder buildConnTrackingTpSrcMasked() {
        return new OFOxmConnTrackingTpSrcMaskedVer12.Builder();
    }
    public OFOxmConnTrackingTpSrcMasked connTrackingTpSrcMasked(TransportPort value, TransportPort mask) {
        return new OFOxmConnTrackingTpSrcMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmConnTrackingZone.Builder buildConnTrackingZone() {
        return new OFOxmConnTrackingZoneVer12.Builder();
    }
    public OFOxmConnTrackingZone connTrackingZone(U16 value) {
        return new OFOxmConnTrackingZoneVer12(
                value
                    );
    }

    public OFOxmConnTrackingZoneMasked.Builder buildConnTrackingZoneMasked() {
        return new OFOxmConnTrackingZoneMaskedVer12.Builder();
    }
    public OFOxmConnTrackingZoneMasked connTrackingZoneMasked(U16 value, U16 mask) {
        return new OFOxmConnTrackingZoneMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmEthDst.Builder buildEthDst() {
        return new OFOxmEthDstVer12.Builder();
    }
    public OFOxmEthDst ethDst(MacAddress value) {
        return new OFOxmEthDstVer12(
                value
                    );
    }

    public OFOxmEthDstMasked.Builder buildEthDstMasked() {
        return new OFOxmEthDstMaskedVer12.Builder();
    }
    public OFOxmEthDstMasked ethDstMasked(MacAddress value, MacAddress mask) {
        return new OFOxmEthDstMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmEthSrc.Builder buildEthSrc() {
        return new OFOxmEthSrcVer12.Builder();
    }
    public OFOxmEthSrc ethSrc(MacAddress value) {
        return new OFOxmEthSrcVer12(
                value
                    );
    }

    public OFOxmEthSrcMasked.Builder buildEthSrcMasked() {
        return new OFOxmEthSrcMaskedVer12.Builder();
    }
    public OFOxmEthSrcMasked ethSrcMasked(MacAddress value, MacAddress mask) {
        return new OFOxmEthSrcMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmEthType.Builder buildEthType() {
        return new OFOxmEthTypeVer12.Builder();
    }
    public OFOxmEthType ethType(EthType value) {
        return new OFOxmEthTypeVer12(
                value
                    );
    }

    public OFOxmEthTypeMasked.Builder buildEthTypeMasked() {
        return new OFOxmEthTypeMaskedVer12.Builder();
    }
    public OFOxmEthTypeMasked ethTypeMasked(EthType value, EthType mask) {
        return new OFOxmEthTypeMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIcmpv4Code.Builder buildIcmpv4Code() {
        return new OFOxmIcmpv4CodeVer12.Builder();
    }
    public OFOxmIcmpv4Code icmpv4Code(ICMPv4Code value) {
        return new OFOxmIcmpv4CodeVer12(
                value
                    );
    }

    public OFOxmIcmpv4CodeMasked.Builder buildIcmpv4CodeMasked() {
        return new OFOxmIcmpv4CodeMaskedVer12.Builder();
    }
    public OFOxmIcmpv4CodeMasked icmpv4CodeMasked(ICMPv4Code value, ICMPv4Code mask) {
        return new OFOxmIcmpv4CodeMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIcmpv4Type.Builder buildIcmpv4Type() {
        return new OFOxmIcmpv4TypeVer12.Builder();
    }
    public OFOxmIcmpv4Type icmpv4Type(ICMPv4Type value) {
        return new OFOxmIcmpv4TypeVer12(
                value
                    );
    }

    public OFOxmIcmpv4TypeMasked.Builder buildIcmpv4TypeMasked() {
        return new OFOxmIcmpv4TypeMaskedVer12.Builder();
    }
    public OFOxmIcmpv4TypeMasked icmpv4TypeMasked(ICMPv4Type value, ICMPv4Type mask) {
        return new OFOxmIcmpv4TypeMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIcmpv6Code.Builder buildIcmpv6Code() {
        return new OFOxmIcmpv6CodeVer12.Builder();
    }
    public OFOxmIcmpv6Code icmpv6Code(U8 value) {
        return new OFOxmIcmpv6CodeVer12(
                value
                    );
    }

    public OFOxmIcmpv6CodeMasked.Builder buildIcmpv6CodeMasked() {
        return new OFOxmIcmpv6CodeMaskedVer12.Builder();
    }
    public OFOxmIcmpv6CodeMasked icmpv6CodeMasked(U8 value, U8 mask) {
        return new OFOxmIcmpv6CodeMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIcmpv6Type.Builder buildIcmpv6Type() {
        return new OFOxmIcmpv6TypeVer12.Builder();
    }
    public OFOxmIcmpv6Type icmpv6Type(U8 value) {
        return new OFOxmIcmpv6TypeVer12(
                value
                    );
    }

    public OFOxmIcmpv6TypeMasked.Builder buildIcmpv6TypeMasked() {
        return new OFOxmIcmpv6TypeMaskedVer12.Builder();
    }
    public OFOxmIcmpv6TypeMasked icmpv6TypeMasked(U8 value, U8 mask) {
        return new OFOxmIcmpv6TypeMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmInPhyPort.Builder buildInPhyPort() {
        return new OFOxmInPhyPortVer12.Builder();
    }
    public OFOxmInPhyPort inPhyPort(OFPort value) {
        return new OFOxmInPhyPortVer12(
                value
                    );
    }

    public OFOxmInPhyPortMasked.Builder buildInPhyPortMasked() {
        return new OFOxmInPhyPortMaskedVer12.Builder();
    }
    public OFOxmInPhyPortMasked inPhyPortMasked(OFPort value, OFPort mask) {
        return new OFOxmInPhyPortMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmInPort.Builder buildInPort() {
        return new OFOxmInPortVer12.Builder();
    }
    public OFOxmInPort inPort(OFPort value) {
        return new OFOxmInPortVer12(
                value
                    );
    }

    public OFOxmInPortMasked.Builder buildInPortMasked() {
        return new OFOxmInPortMaskedVer12.Builder();
    }
    public OFOxmInPortMasked inPortMasked(OFPort value, OFPort mask) {
        return new OFOxmInPortMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIpDscp.Builder buildIpDscp() {
        return new OFOxmIpDscpVer12.Builder();
    }
    public OFOxmIpDscp ipDscp(IpDscp value) {
        return new OFOxmIpDscpVer12(
                value
                    );
    }

    public OFOxmIpDscpMasked.Builder buildIpDscpMasked() {
        return new OFOxmIpDscpMaskedVer12.Builder();
    }
    public OFOxmIpDscpMasked ipDscpMasked(IpDscp value, IpDscp mask) {
        return new OFOxmIpDscpMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIpEcn.Builder buildIpEcn() {
        return new OFOxmIpEcnVer12.Builder();
    }
    public OFOxmIpEcn ipEcn(IpEcn value) {
        return new OFOxmIpEcnVer12(
                value
                    );
    }

    public OFOxmIpEcnMasked.Builder buildIpEcnMasked() {
        return new OFOxmIpEcnMaskedVer12.Builder();
    }
    public OFOxmIpEcnMasked ipEcnMasked(IpEcn value, IpEcn mask) {
        return new OFOxmIpEcnMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIpProto.Builder buildIpProto() {
        return new OFOxmIpProtoVer12.Builder();
    }
    public OFOxmIpProto ipProto(IpProtocol value) {
        return new OFOxmIpProtoVer12(
                value
                    );
    }

    public OFOxmIpProtoMasked.Builder buildIpProtoMasked() {
        return new OFOxmIpProtoMaskedVer12.Builder();
    }
    public OFOxmIpProtoMasked ipProtoMasked(IpProtocol value, IpProtocol mask) {
        return new OFOxmIpProtoMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIpv4Dst.Builder buildIpv4Dst() {
        return new OFOxmIpv4DstVer12.Builder();
    }
    public OFOxmIpv4Dst ipv4Dst(IPv4Address value) {
        return new OFOxmIpv4DstVer12(
                value
                    );
    }

    public OFOxmIpv4DstMasked.Builder buildIpv4DstMasked() {
        return new OFOxmIpv4DstMaskedVer12.Builder();
    }
    public OFOxmIpv4DstMasked ipv4DstMasked(IPv4Address value, IPv4Address mask) {
        return new OFOxmIpv4DstMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIpv4Src.Builder buildIpv4Src() {
        return new OFOxmIpv4SrcVer12.Builder();
    }
    public OFOxmIpv4Src ipv4Src(IPv4Address value) {
        return new OFOxmIpv4SrcVer12(
                value
                    );
    }

    public OFOxmIpv4SrcMasked.Builder buildIpv4SrcMasked() {
        return new OFOxmIpv4SrcMaskedVer12.Builder();
    }
    public OFOxmIpv4SrcMasked ipv4SrcMasked(IPv4Address value, IPv4Address mask) {
        return new OFOxmIpv4SrcMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIpv6Dst.Builder buildIpv6Dst() {
        return new OFOxmIpv6DstVer12.Builder();
    }
    public OFOxmIpv6Dst ipv6Dst(IPv6Address value) {
        return new OFOxmIpv6DstVer12(
                value
                    );
    }

    public OFOxmIpv6DstMasked.Builder buildIpv6DstMasked() {
        return new OFOxmIpv6DstMaskedVer12.Builder();
    }
    public OFOxmIpv6DstMasked ipv6DstMasked(IPv6Address value, IPv6Address mask) {
        return new OFOxmIpv6DstMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIpv6Flabel.Builder buildIpv6Flabel() {
        return new OFOxmIpv6FlabelVer12.Builder();
    }
    public OFOxmIpv6Flabel ipv6Flabel(IPv6FlowLabel value) {
        return new OFOxmIpv6FlabelVer12(
                value
                    );
    }

    public OFOxmIpv6FlabelMasked.Builder buildIpv6FlabelMasked() {
        return new OFOxmIpv6FlabelMaskedVer12.Builder();
    }
    public OFOxmIpv6FlabelMasked ipv6FlabelMasked(IPv6FlowLabel value, IPv6FlowLabel mask) {
        return new OFOxmIpv6FlabelMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIpv6NdSll.Builder buildIpv6NdSll() {
        return new OFOxmIpv6NdSllVer12.Builder();
    }
    public OFOxmIpv6NdSll ipv6NdSll(MacAddress value) {
        return new OFOxmIpv6NdSllVer12(
                value
                    );
    }

    public OFOxmIpv6NdSllMasked.Builder buildIpv6NdSllMasked() {
        return new OFOxmIpv6NdSllMaskedVer12.Builder();
    }
    public OFOxmIpv6NdSllMasked ipv6NdSllMasked(MacAddress value, MacAddress mask) {
        return new OFOxmIpv6NdSllMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIpv6NdTarget.Builder buildIpv6NdTarget() {
        return new OFOxmIpv6NdTargetVer12.Builder();
    }
    public OFOxmIpv6NdTarget ipv6NdTarget(IPv6Address value) {
        return new OFOxmIpv6NdTargetVer12(
                value
                    );
    }

    public OFOxmIpv6NdTargetMasked.Builder buildIpv6NdTargetMasked() {
        return new OFOxmIpv6NdTargetMaskedVer12.Builder();
    }
    public OFOxmIpv6NdTargetMasked ipv6NdTargetMasked(IPv6Address value, IPv6Address mask) {
        return new OFOxmIpv6NdTargetMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIpv6NdTll.Builder buildIpv6NdTll() {
        return new OFOxmIpv6NdTllVer12.Builder();
    }
    public OFOxmIpv6NdTll ipv6NdTll(MacAddress value) {
        return new OFOxmIpv6NdTllVer12(
                value
                    );
    }

    public OFOxmIpv6NdTllMasked.Builder buildIpv6NdTllMasked() {
        return new OFOxmIpv6NdTllMaskedVer12.Builder();
    }
    public OFOxmIpv6NdTllMasked ipv6NdTllMasked(MacAddress value, MacAddress mask) {
        return new OFOxmIpv6NdTllMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmIpv6Src.Builder buildIpv6Src() {
        return new OFOxmIpv6SrcVer12.Builder();
    }
    public OFOxmIpv6Src ipv6Src(IPv6Address value) {
        return new OFOxmIpv6SrcVer12(
                value
                    );
    }

    public OFOxmIpv6SrcMasked.Builder buildIpv6SrcMasked() {
        return new OFOxmIpv6SrcMaskedVer12.Builder();
    }
    public OFOxmIpv6SrcMasked ipv6SrcMasked(IPv6Address value, IPv6Address mask) {
        return new OFOxmIpv6SrcMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmMetadata.Builder buildMetadata() {
        return new OFOxmMetadataVer12.Builder();
    }
    public OFOxmMetadata metadata(OFMetadata value) {
        return new OFOxmMetadataVer12(
                value
                    );
    }

    public OFOxmMetadataMasked.Builder buildMetadataMasked() {
        return new OFOxmMetadataMaskedVer12.Builder();
    }
    public OFOxmMetadataMasked metadataMasked(OFMetadata value, OFMetadata mask) {
        return new OFOxmMetadataMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmMplsLabel.Builder buildMplsLabel() {
        return new OFOxmMplsLabelVer12.Builder();
    }
    public OFOxmMplsLabel mplsLabel(U32 value) {
        return new OFOxmMplsLabelVer12(
                value
                    );
    }

    public OFOxmMplsLabelMasked.Builder buildMplsLabelMasked() {
        return new OFOxmMplsLabelMaskedVer12.Builder();
    }
    public OFOxmMplsLabelMasked mplsLabelMasked(U32 value, U32 mask) {
        return new OFOxmMplsLabelMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmMplsTc.Builder buildMplsTc() {
        return new OFOxmMplsTcVer12.Builder();
    }
    public OFOxmMplsTc mplsTc(U8 value) {
        return new OFOxmMplsTcVer12(
                value
                    );
    }

    public OFOxmMplsTcMasked.Builder buildMplsTcMasked() {
        return new OFOxmMplsTcMaskedVer12.Builder();
    }
    public OFOxmMplsTcMasked mplsTcMasked(U8 value, U8 mask) {
        return new OFOxmMplsTcMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmOvsTcpFlags.Builder buildOvsTcpFlags() {
        return new OFOxmOvsTcpFlagsVer12.Builder();
    }
    public OFOxmOvsTcpFlags ovsTcpFlags(U16 value) {
        return new OFOxmOvsTcpFlagsVer12(
                value
                    );
    }

    public OFOxmOvsTcpFlagsMasked.Builder buildOvsTcpFlagsMasked() {
        return new OFOxmOvsTcpFlagsMaskedVer12.Builder();
    }
    public OFOxmOvsTcpFlagsMasked ovsTcpFlagsMasked(U16 value, U16 mask) {
        return new OFOxmOvsTcpFlagsMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmSctpDst.Builder buildSctpDst() {
        return new OFOxmSctpDstVer12.Builder();
    }
    public OFOxmSctpDst sctpDst(TransportPort value) {
        return new OFOxmSctpDstVer12(
                value
                    );
    }

    public OFOxmSctpDstMasked.Builder buildSctpDstMasked() {
        return new OFOxmSctpDstMaskedVer12.Builder();
    }
    public OFOxmSctpDstMasked sctpDstMasked(TransportPort value, TransportPort mask) {
        return new OFOxmSctpDstMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmSctpSrc.Builder buildSctpSrc() {
        return new OFOxmSctpSrcVer12.Builder();
    }
    public OFOxmSctpSrc sctpSrc(TransportPort value) {
        return new OFOxmSctpSrcVer12(
                value
                    );
    }

    public OFOxmSctpSrcMasked.Builder buildSctpSrcMasked() {
        return new OFOxmSctpSrcMaskedVer12.Builder();
    }
    public OFOxmSctpSrcMasked sctpSrcMasked(TransportPort value, TransportPort mask) {
        return new OFOxmSctpSrcMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmTcpDst.Builder buildTcpDst() {
        return new OFOxmTcpDstVer12.Builder();
    }
    public OFOxmTcpDst tcpDst(TransportPort value) {
        return new OFOxmTcpDstVer12(
                value
                    );
    }

    public OFOxmTcpDstMasked.Builder buildTcpDstMasked() {
        return new OFOxmTcpDstMaskedVer12.Builder();
    }
    public OFOxmTcpDstMasked tcpDstMasked(TransportPort value, TransportPort mask) {
        return new OFOxmTcpDstMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmTcpSrc.Builder buildTcpSrc() {
        return new OFOxmTcpSrcVer12.Builder();
    }
    public OFOxmTcpSrc tcpSrc(TransportPort value) {
        return new OFOxmTcpSrcVer12(
                value
                    );
    }

    public OFOxmTcpSrcMasked.Builder buildTcpSrcMasked() {
        return new OFOxmTcpSrcMaskedVer12.Builder();
    }
    public OFOxmTcpSrcMasked tcpSrcMasked(TransportPort value, TransportPort mask) {
        return new OFOxmTcpSrcMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmTunnelIpv4Dst.Builder buildTunnelIpv4Dst() {
        return new OFOxmTunnelIpv4DstVer12.Builder();
    }
    public OFOxmTunnelIpv4Dst tunnelIpv4Dst(IPv4Address value) {
        return new OFOxmTunnelIpv4DstVer12(
                value
                    );
    }

    public OFOxmTunnelIpv4DstMasked.Builder buildTunnelIpv4DstMasked() {
        return new OFOxmTunnelIpv4DstMaskedVer12.Builder();
    }
    public OFOxmTunnelIpv4DstMasked tunnelIpv4DstMasked(IPv4Address value, IPv4Address mask) {
        return new OFOxmTunnelIpv4DstMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmTunnelIpv4Src.Builder buildTunnelIpv4Src() {
        return new OFOxmTunnelIpv4SrcVer12.Builder();
    }
    public OFOxmTunnelIpv4Src tunnelIpv4Src(IPv4Address value) {
        return new OFOxmTunnelIpv4SrcVer12(
                value
                    );
    }

    public OFOxmTunnelIpv4SrcMasked.Builder buildTunnelIpv4SrcMasked() {
        return new OFOxmTunnelIpv4SrcMaskedVer12.Builder();
    }
    public OFOxmTunnelIpv4SrcMasked tunnelIpv4SrcMasked(IPv4Address value, IPv4Address mask) {
        return new OFOxmTunnelIpv4SrcMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmUdpDst.Builder buildUdpDst() {
        return new OFOxmUdpDstVer12.Builder();
    }
    public OFOxmUdpDst udpDst(TransportPort value) {
        return new OFOxmUdpDstVer12(
                value
                    );
    }

    public OFOxmUdpDstMasked.Builder buildUdpDstMasked() {
        return new OFOxmUdpDstMaskedVer12.Builder();
    }
    public OFOxmUdpDstMasked udpDstMasked(TransportPort value, TransportPort mask) {
        return new OFOxmUdpDstMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmUdpSrc.Builder buildUdpSrc() {
        return new OFOxmUdpSrcVer12.Builder();
    }
    public OFOxmUdpSrc udpSrc(TransportPort value) {
        return new OFOxmUdpSrcVer12(
                value
                    );
    }

    public OFOxmUdpSrcMasked.Builder buildUdpSrcMasked() {
        return new OFOxmUdpSrcMaskedVer12.Builder();
    }
    public OFOxmUdpSrcMasked udpSrcMasked(TransportPort value, TransportPort mask) {
        return new OFOxmUdpSrcMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmVlanPcp.Builder buildVlanPcp() {
        return new OFOxmVlanPcpVer12.Builder();
    }
    public OFOxmVlanPcp vlanPcp(VlanPcp value) {
        return new OFOxmVlanPcpVer12(
                value
                    );
    }

    public OFOxmVlanPcpMasked.Builder buildVlanPcpMasked() {
        return new OFOxmVlanPcpMaskedVer12.Builder();
    }
    public OFOxmVlanPcpMasked vlanPcpMasked(VlanPcp value, VlanPcp mask) {
        return new OFOxmVlanPcpMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmVlanVid.Builder buildVlanVid() {
        return new OFOxmVlanVidVer12.Builder();
    }
    public OFOxmVlanVid vlanVid(OFVlanVidMatch value) {
        return new OFOxmVlanVidVer12(
                value
                    );
    }

    public OFOxmVlanVidMasked.Builder buildVlanVidMasked() {
        return new OFOxmVlanVidMaskedVer12.Builder();
    }
    public OFOxmVlanVidMasked vlanVidMasked(OFVlanVidMatch value, OFVlanVidMatch mask) {
        return new OFOxmVlanVidMaskedVer12(
                value,
                      mask
                    );
    }

    public OFOxmBsnInnerEthDst.Builder buildBsnInnerEthDst() {
        throw new UnsupportedOperationException("OFOxmBsnInnerEthDst not supported in version 1.2");
    }
    public OFOxmBsnInnerEthDst bsnInnerEthDst(MacAddress value) {
        throw new UnsupportedOperationException("OFOxmBsnInnerEthDst not supported in version 1.2");
    }

    public OFOxmBsnInnerEthDstMasked.Builder buildBsnInnerEthDstMasked() {
        throw new UnsupportedOperationException("OFOxmBsnInnerEthDstMasked not supported in version 1.2");
    }
    public OFOxmBsnInnerEthDstMasked bsnInnerEthDstMasked(MacAddress value, MacAddress mask) {
        throw new UnsupportedOperationException("OFOxmBsnInnerEthDstMasked not supported in version 1.2");
    }

    public OFOxmBsnInnerEthSrc.Builder buildBsnInnerEthSrc() {
        throw new UnsupportedOperationException("OFOxmBsnInnerEthSrc not supported in version 1.2");
    }
    public OFOxmBsnInnerEthSrc bsnInnerEthSrc(MacAddress value) {
        throw new UnsupportedOperationException("OFOxmBsnInnerEthSrc not supported in version 1.2");
    }

    public OFOxmBsnInnerEthSrcMasked.Builder buildBsnInnerEthSrcMasked() {
        throw new UnsupportedOperationException("OFOxmBsnInnerEthSrcMasked not supported in version 1.2");
    }
    public OFOxmBsnInnerEthSrcMasked bsnInnerEthSrcMasked(MacAddress value, MacAddress mask) {
        throw new UnsupportedOperationException("OFOxmBsnInnerEthSrcMasked not supported in version 1.2");
    }

    public OFOxmBsnInnerVlanVid.Builder buildBsnInnerVlanVid() {
        throw new UnsupportedOperationException("OFOxmBsnInnerVlanVid not supported in version 1.2");
    }
    public OFOxmBsnInnerVlanVid bsnInnerVlanVid(OFVlanVidMatch value) {
        throw new UnsupportedOperationException("OFOxmBsnInnerVlanVid not supported in version 1.2");
    }

    public OFOxmBsnInnerVlanVidMasked.Builder buildBsnInnerVlanVidMasked() {
        throw new UnsupportedOperationException("OFOxmBsnInnerVlanVidMasked not supported in version 1.2");
    }
    public OFOxmBsnInnerVlanVidMasked bsnInnerVlanVidMasked(OFVlanVidMatch value, OFVlanVidMatch mask) {
        throw new UnsupportedOperationException("OFOxmBsnInnerVlanVidMasked not supported in version 1.2");
    }

    public OFOxmBsnVfi.Builder buildBsnVfi() {
        throw new UnsupportedOperationException("OFOxmBsnVfi not supported in version 1.2");
    }
    public OFOxmBsnVfi bsnVfi(VFI value) {
        throw new UnsupportedOperationException("OFOxmBsnVfi not supported in version 1.2");
    }

    public OFOxmBsnVfiMasked.Builder buildBsnVfiMasked() {
        throw new UnsupportedOperationException("OFOxmBsnVfiMasked not supported in version 1.2");
    }
    public OFOxmBsnVfiMasked bsnVfiMasked(VFI value, VFI mask) {
        throw new UnsupportedOperationException("OFOxmBsnVfiMasked not supported in version 1.2");
    }

    public OFOxmBsnVxlanNetworkId.Builder buildBsnVxlanNetworkId() {
        throw new UnsupportedOperationException("OFOxmBsnVxlanNetworkId not supported in version 1.2");
    }
    public OFOxmBsnVxlanNetworkId bsnVxlanNetworkId(VxlanNI value) {
        throw new UnsupportedOperationException("OFOxmBsnVxlanNetworkId not supported in version 1.2");
    }

    public OFOxmBsnVxlanNetworkIdMasked.Builder buildBsnVxlanNetworkIdMasked() {
        throw new UnsupportedOperationException("OFOxmBsnVxlanNetworkIdMasked not supported in version 1.2");
    }
    public OFOxmBsnVxlanNetworkIdMasked bsnVxlanNetworkIdMasked(VxlanNI value, VxlanNI mask) {
        throw new UnsupportedOperationException("OFOxmBsnVxlanNetworkIdMasked not supported in version 1.2");
    }

    public OFOxmIpv6Exthdr.Builder buildIpv6Exthdr() {
        throw new UnsupportedOperationException("OFOxmIpv6Exthdr not supported in version 1.2");
    }
    public OFOxmIpv6Exthdr ipv6Exthdr(U16 value) {
        throw new UnsupportedOperationException("OFOxmIpv6Exthdr not supported in version 1.2");
    }

    public OFOxmIpv6ExthdrMasked.Builder buildIpv6ExthdrMasked() {
        throw new UnsupportedOperationException("OFOxmIpv6ExthdrMasked not supported in version 1.2");
    }
    public OFOxmIpv6ExthdrMasked ipv6ExthdrMasked(U16 value, U16 mask) {
        throw new UnsupportedOperationException("OFOxmIpv6ExthdrMasked not supported in version 1.2");
    }

    public OFOxmMplsBos.Builder buildMplsBos() {
        throw new UnsupportedOperationException("OFOxmMplsBos not supported in version 1.2");
    }
    public OFOxmMplsBos mplsBos(OFBooleanValue value) {
        throw new UnsupportedOperationException("OFOxmMplsBos not supported in version 1.2");
    }

    public OFOxmMplsBosMasked.Builder buildMplsBosMasked() {
        throw new UnsupportedOperationException("OFOxmMplsBosMasked not supported in version 1.2");
    }
    public OFOxmMplsBosMasked mplsBosMasked(OFBooleanValue value, OFBooleanValue mask) {
        throw new UnsupportedOperationException("OFOxmMplsBosMasked not supported in version 1.2");
    }

    public OFOxmTunnelId.Builder buildTunnelId() {
        throw new UnsupportedOperationException("OFOxmTunnelId not supported in version 1.2");
    }
    public OFOxmTunnelId tunnelId(U64 value) {
        throw new UnsupportedOperationException("OFOxmTunnelId not supported in version 1.2");
    }

    public OFOxmTunnelIdMasked.Builder buildTunnelIdMasked() {
        throw new UnsupportedOperationException("OFOxmTunnelIdMasked not supported in version 1.2");
    }
    public OFOxmTunnelIdMasked tunnelIdMasked(U64 value, U64 mask) {
        throw new UnsupportedOperationException("OFOxmTunnelIdMasked not supported in version 1.2");
    }

    public OFOxmBsnIfpClassId.Builder buildBsnIfpClassId() {
        throw new UnsupportedOperationException("OFOxmBsnIfpClassId not supported in version 1.2");
    }
    public OFOxmBsnIfpClassId bsnIfpClassId(ClassId value) {
        throw new UnsupportedOperationException("OFOxmBsnIfpClassId not supported in version 1.2");
    }

    public OFOxmBsnIfpClassIdMasked.Builder buildBsnIfpClassIdMasked() {
        throw new UnsupportedOperationException("OFOxmBsnIfpClassIdMasked not supported in version 1.2");
    }
    public OFOxmBsnIfpClassIdMasked bsnIfpClassIdMasked(ClassId value, ClassId mask) {
        throw new UnsupportedOperationException("OFOxmBsnIfpClassIdMasked not supported in version 1.2");
    }

    public OFOxmPbbUca.Builder buildPbbUca() {
        throw new UnsupportedOperationException("OFOxmPbbUca not supported in version 1.2");
    }
    public OFOxmPbbUca pbbUca(OFBooleanValue value) {
        throw new UnsupportedOperationException("OFOxmPbbUca not supported in version 1.2");
    }

    public OFOxmPbbUcaMasked.Builder buildPbbUcaMasked() {
        throw new UnsupportedOperationException("OFOxmPbbUcaMasked not supported in version 1.2");
    }
    public OFOxmPbbUcaMasked pbbUcaMasked(OFBooleanValue value, OFBooleanValue mask) {
        throw new UnsupportedOperationException("OFOxmPbbUcaMasked not supported in version 1.2");
    }

    public OFOxmActsetOutput.Builder buildActsetOutput() {
        throw new UnsupportedOperationException("OFOxmActsetOutput not supported in version 1.2");
    }
    public OFOxmActsetOutput actsetOutput(OFPort value) {
        throw new UnsupportedOperationException("OFOxmActsetOutput not supported in version 1.2");
    }

    public OFOxmActsetOutputMasked.Builder buildActsetOutputMasked() {
        throw new UnsupportedOperationException("OFOxmActsetOutputMasked not supported in version 1.2");
    }
    public OFOxmActsetOutputMasked actsetOutputMasked(OFPort value, OFPort mask) {
        throw new UnsupportedOperationException("OFOxmActsetOutputMasked not supported in version 1.2");
    }

    public OFOxmPacketType.Builder buildPacketType() {
        throw new UnsupportedOperationException("OFOxmPacketType not supported in version 1.2");
    }
    public OFOxmPacketType packetType(PacketType value) {
        throw new UnsupportedOperationException("OFOxmPacketType not supported in version 1.2");
    }

    public OFOxmPacketTypeMasked.Builder buildPacketTypeMasked() {
        throw new UnsupportedOperationException("OFOxmPacketTypeMasked not supported in version 1.2");
    }
    public OFOxmPacketTypeMasked packetTypeMasked(PacketType value, PacketType mask) {
        throw new UnsupportedOperationException("OFOxmPacketTypeMasked not supported in version 1.2");
    }

    public OFOxmTcpFlags.Builder buildTcpFlags() {
        throw new UnsupportedOperationException("OFOxmTcpFlags not supported in version 1.2");
    }
    public OFOxmTcpFlags tcpFlags(U16 value) {
        throw new UnsupportedOperationException("OFOxmTcpFlags not supported in version 1.2");
    }

    public OFOxmTcpFlagsMasked.Builder buildTcpFlagsMasked() {
        throw new UnsupportedOperationException("OFOxmTcpFlagsMasked not supported in version 1.2");
    }
    public OFOxmTcpFlagsMasked tcpFlagsMasked(U16 value, U16 mask) {
        throw new UnsupportedOperationException("OFOxmTcpFlagsMasked not supported in version 1.2");
    }

    public OFMessageReader> getReader() {
        return OFOxmVer12.READER;
    }

    @SuppressWarnings("unchecked")
    public > OFOxm fromValue(F value, MatchField field) {
        switch (field.id) {
            case ARP_OP:
                return (OFOxm)((Object)arpOp((ArpOpcode)((Object)value)));
            case ARP_SHA:
                return (OFOxm)((Object)arpSha((MacAddress)((Object)value)));
            case ARP_SPA:
                return (OFOxm)((Object)arpSpa((IPv4Address)((Object)value)));
            case ARP_THA:
                return (OFOxm)((Object)arpTha((MacAddress)((Object)value)));
            case ARP_TPA:
                return (OFOxm)((Object)arpTpa((IPv4Address)((Object)value)));
            case BSN_EGR_PORT_GROUP_ID:
                return (OFOxm)((Object)bsnEgrPortGroupId((ClassId)((Object)value)));
            case BSN_GLOBAL_VRF_ALLOWED:
                return (OFOxm)((Object)bsnGlobalVrfAllowed((OFBooleanValue)((Object)value)));
            case BSN_IN_PORTS_128:
                return (OFOxm)((Object)bsnInPorts128((OFBitMask128)((Object)value)));
            case BSN_IN_PORTS_512:
                return (OFOxm)((Object)bsnInPorts512((OFBitMask512)((Object)value)));
            case BSN_INGRESS_PORT_GROUP_ID:
                return (OFOxm)((Object)bsnIngressPortGroupId((ClassId)((Object)value)));
            case BSN_IP_FRAGMENTATION:
                return (OFOxm)((Object)bsnIpFragmentation((OFBooleanValue)((Object)value)));
            case BSN_L2_CACHE_HIT:
                return (OFOxm)((Object)bsnL2CacheHit((OFBooleanValue)((Object)value)));
            case BSN_L3_DST_CLASS_ID:
                return (OFOxm)((Object)bsnL3DstClassId((ClassId)((Object)value)));
            case BSN_L3_INTERFACE_CLASS_ID:
                return (OFOxm)((Object)bsnL3InterfaceClassId((ClassId)((Object)value)));
            case BSN_L3_SRC_CLASS_ID:
                return (OFOxm)((Object)bsnL3SrcClassId((ClassId)((Object)value)));
            case BSN_LAG_ID:
                return (OFOxm)((Object)bsnLagId((LagId)((Object)value)));
            case BSN_TCP_FLAGS:
                return (OFOxm)((Object)bsnTcpFlags((U16)((Object)value)));
            case BSN_UDF0:
                return (OFOxm)((Object)bsnUdf0((UDF)((Object)value)));
            case BSN_UDF1:
                return (OFOxm)((Object)bsnUdf1((UDF)((Object)value)));
            case BSN_UDF2:
                return (OFOxm)((Object)bsnUdf2((UDF)((Object)value)));
            case BSN_UDF3:
                return (OFOxm)((Object)bsnUdf3((UDF)((Object)value)));
            case BSN_UDF4:
                return (OFOxm)((Object)bsnUdf4((UDF)((Object)value)));
            case BSN_UDF5:
                return (OFOxm)((Object)bsnUdf5((UDF)((Object)value)));
            case BSN_UDF6:
                return (OFOxm)((Object)bsnUdf6((UDF)((Object)value)));
            case BSN_UDF7:
                return (OFOxm)((Object)bsnUdf7((UDF)((Object)value)));
            case BSN_VLAN_XLATE_PORT_GROUP_ID:
                return (OFOxm)((Object)bsnVlanXlatePortGroupId((ClassId)((Object)value)));
            case BSN_VRF:
                return (OFOxm)((Object)bsnVrf((VRF)((Object)value)));
            case CONN_TRACKING_IPV6_DST:
                return (OFOxm)((Object)connTrackingIpv6Dst((IPv6Address)((Object)value)));
            case CONN_TRACKING_IPV6_SRC:
                return (OFOxm)((Object)connTrackingIpv6Src((IPv6Address)((Object)value)));
            case CONN_TRACKING_LABEL:
                return (OFOxm)((Object)connTrackingLabel((U128)((Object)value)));
            case CONN_TRACKING_MARK:
                return (OFOxm)((Object)connTrackingMark((U32)((Object)value)));
            case CONN_TRACKING_NW_DST:
                return (OFOxm)((Object)connTrackingNwDst((U32)((Object)value)));
            case CONN_TRACKING_NW_PROTO:
                return (OFOxm)((Object)connTrackingNwProto((U8)((Object)value)));
            case CONN_TRACKING_NW_SRC:
                return (OFOxm)((Object)connTrackingNwSrc((U32)((Object)value)));
            case CONN_TRACKING_STATE:
                return (OFOxm)((Object)connTrackingState((U32)((Object)value)));
            case CONN_TRACKING_TP_DST:
                return (OFOxm)((Object)connTrackingTpDst((TransportPort)((Object)value)));
            case CONN_TRACKING_TP_SRC:
                return (OFOxm)((Object)connTrackingTpSrc((TransportPort)((Object)value)));
            case CONN_TRACKING_ZONE:
                return (OFOxm)((Object)connTrackingZone((U16)((Object)value)));
            case ETH_DST:
                return (OFOxm)((Object)ethDst((MacAddress)((Object)value)));
            case ETH_SRC:
                return (OFOxm)((Object)ethSrc((MacAddress)((Object)value)));
            case ETH_TYPE:
                return (OFOxm)((Object)ethType((EthType)((Object)value)));
            case ICMPV4_CODE:
                return (OFOxm)((Object)icmpv4Code((ICMPv4Code)((Object)value)));
            case ICMPV4_TYPE:
                return (OFOxm)((Object)icmpv4Type((ICMPv4Type)((Object)value)));
            case ICMPV6_CODE:
                return (OFOxm)((Object)icmpv6Code((U8)((Object)value)));
            case ICMPV6_TYPE:
                return (OFOxm)((Object)icmpv6Type((U8)((Object)value)));
            case IN_PHY_PORT:
                return (OFOxm)((Object)inPhyPort((OFPort)((Object)value)));
            case IN_PORT:
                return (OFOxm)((Object)inPort((OFPort)((Object)value)));
            case IP_DSCP:
                return (OFOxm)((Object)ipDscp((IpDscp)((Object)value)));
            case IP_ECN:
                return (OFOxm)((Object)ipEcn((IpEcn)((Object)value)));
            case IP_PROTO:
                return (OFOxm)((Object)ipProto((IpProtocol)((Object)value)));
            case IPV4_DST:
                return (OFOxm)((Object)ipv4Dst((IPv4Address)((Object)value)));
            case IPV4_SRC:
                return (OFOxm)((Object)ipv4Src((IPv4Address)((Object)value)));
            case IPV6_DST:
                return (OFOxm)((Object)ipv6Dst((IPv6Address)((Object)value)));
            case IPV6_FLABEL:
                return (OFOxm)((Object)ipv6Flabel((IPv6FlowLabel)((Object)value)));
            case IPV6_ND_SLL:
                return (OFOxm)((Object)ipv6NdSll((MacAddress)((Object)value)));
            case IPV6_ND_TARGET:
                return (OFOxm)((Object)ipv6NdTarget((IPv6Address)((Object)value)));
            case IPV6_ND_TLL:
                return (OFOxm)((Object)ipv6NdTll((MacAddress)((Object)value)));
            case IPV6_SRC:
                return (OFOxm)((Object)ipv6Src((IPv6Address)((Object)value)));
            case METADATA:
                return (OFOxm)((Object)metadata((OFMetadata)((Object)value)));
            case MPLS_LABEL:
                return (OFOxm)((Object)mplsLabel((U32)((Object)value)));
            case MPLS_TC:
                return (OFOxm)((Object)mplsTc((U8)((Object)value)));
            case OVS_TCP_FLAGS:
                return (OFOxm)((Object)ovsTcpFlags((U16)((Object)value)));
            case SCTP_DST:
                return (OFOxm)((Object)sctpDst((TransportPort)((Object)value)));
            case SCTP_SRC:
                return (OFOxm)((Object)sctpSrc((TransportPort)((Object)value)));
            case TCP_DST:
                return (OFOxm)((Object)tcpDst((TransportPort)((Object)value)));
            case TCP_SRC:
                return (OFOxm)((Object)tcpSrc((TransportPort)((Object)value)));
            case TUNNEL_IPV4_DST:
                return (OFOxm)((Object)tunnelIpv4Dst((IPv4Address)((Object)value)));
            case TUNNEL_IPV4_SRC:
                return (OFOxm)((Object)tunnelIpv4Src((IPv4Address)((Object)value)));
            case UDP_DST:
                return (OFOxm)((Object)udpDst((TransportPort)((Object)value)));
            case UDP_SRC:
                return (OFOxm)((Object)udpSrc((TransportPort)((Object)value)));
            case VLAN_PCP:
                return (OFOxm)((Object)vlanPcp((VlanPcp)((Object)value)));
            case VLAN_VID:
                return (OFOxm)((Object)vlanVid((OFVlanVidMatch)((Object)value)));
            case BSN_INNER_ETH_DST:
                return (OFOxm)((Object)bsnInnerEthDst((MacAddress)((Object)value)));
            case BSN_INNER_ETH_SRC:
                return (OFOxm)((Object)bsnInnerEthSrc((MacAddress)((Object)value)));
            case BSN_INNER_VLAN_VID:
                return (OFOxm)((Object)bsnInnerVlanVid((OFVlanVidMatch)((Object)value)));
            case BSN_VFI:
                return (OFOxm)((Object)bsnVfi((VFI)((Object)value)));
            case BSN_VXLAN_NETWORK_ID:
                return (OFOxm)((Object)bsnVxlanNetworkId((VxlanNI)((Object)value)));
            case IPV6_EXTHDR:
                return (OFOxm)((Object)ipv6Exthdr((U16)((Object)value)));
            case MPLS_BOS:
                return (OFOxm)((Object)mplsBos((OFBooleanValue)((Object)value)));
            case TUNNEL_ID:
                return (OFOxm)((Object)tunnelId((U64)((Object)value)));
            case BSN_IFP_CLASS_ID:
                return (OFOxm)((Object)bsnIfpClassId((ClassId)((Object)value)));
            case PBB_UCA:
                return (OFOxm)((Object)pbbUca((OFBooleanValue)((Object)value)));
            case ACTSET_OUTPUT:
                return (OFOxm)((Object)actsetOutput((OFPort)((Object)value)));
            case PACKET_TYPE:
                return (OFOxm)((Object)packetType((PacketType)((Object)value)));
            case TCP_FLAGS:
                return (OFOxm)((Object)tcpFlags((U16)((Object)value)));
            default:
                throw new IllegalArgumentException("No OXM known for match field " + field);
        }
    }

    @SuppressWarnings("unchecked")
    public > OFOxm fromValueAndMask(F value, F mask, MatchField field) {
        switch (field.id) {
            case ARP_OP:
                return (OFOxm)((Object)arpOpMasked((ArpOpcode)((Object)value), (ArpOpcode)((Object)mask)));
            case ARP_SHA:
                return (OFOxm)((Object)arpShaMasked((MacAddress)((Object)value), (MacAddress)((Object)mask)));
            case ARP_SPA:
                return (OFOxm)((Object)arpSpaMasked((IPv4Address)((Object)value), (IPv4Address)((Object)mask)));
            case ARP_THA:
                return (OFOxm)((Object)arpThaMasked((MacAddress)((Object)value), (MacAddress)((Object)mask)));
            case ARP_TPA:
                return (OFOxm)((Object)arpTpaMasked((IPv4Address)((Object)value), (IPv4Address)((Object)mask)));
            case BSN_EGR_PORT_GROUP_ID:
                return (OFOxm)((Object)bsnEgrPortGroupIdMasked((ClassId)((Object)value), (ClassId)((Object)mask)));
            case BSN_GLOBAL_VRF_ALLOWED:
                return (OFOxm)((Object)bsnGlobalVrfAllowedMasked((OFBooleanValue)((Object)value), (OFBooleanValue)((Object)mask)));
            case BSN_IN_PORTS_128:
                return (OFOxm)((Object)bsnInPorts128Masked((OFBitMask128)((Object)value), (OFBitMask128)((Object)mask)));
            case BSN_IN_PORTS_512:
                return (OFOxm)((Object)bsnInPorts512Masked((OFBitMask512)((Object)value), (OFBitMask512)((Object)mask)));
            case BSN_INGRESS_PORT_GROUP_ID:
                return (OFOxm)((Object)bsnIngressPortGroupIdMasked((ClassId)((Object)value), (ClassId)((Object)mask)));
            case BSN_IP_FRAGMENTATION:
                return (OFOxm)((Object)bsnIpFragmentationMasked((OFBooleanValue)((Object)value), (OFBooleanValue)((Object)mask)));
            case BSN_L2_CACHE_HIT:
                return (OFOxm)((Object)bsnL2CacheHitMasked((OFBooleanValue)((Object)value), (OFBooleanValue)((Object)mask)));
            case BSN_L3_DST_CLASS_ID:
                return (OFOxm)((Object)bsnL3DstClassIdMasked((ClassId)((Object)value), (ClassId)((Object)mask)));
            case BSN_L3_INTERFACE_CLASS_ID:
                return (OFOxm)((Object)bsnL3InterfaceClassIdMasked((ClassId)((Object)value), (ClassId)((Object)mask)));
            case BSN_L3_SRC_CLASS_ID:
                return (OFOxm)((Object)bsnL3SrcClassIdMasked((ClassId)((Object)value), (ClassId)((Object)mask)));
            case BSN_LAG_ID:
                return (OFOxm)((Object)bsnLagIdMasked((LagId)((Object)value), (LagId)((Object)mask)));
            case BSN_TCP_FLAGS:
                return (OFOxm)((Object)bsnTcpFlagsMasked((U16)((Object)value), (U16)((Object)mask)));
            case BSN_UDF0:
                return (OFOxm)((Object)bsnUdf0Masked((UDF)((Object)value), (UDF)((Object)mask)));
            case BSN_UDF1:
                return (OFOxm)((Object)bsnUdf1Masked((UDF)((Object)value), (UDF)((Object)mask)));
            case BSN_UDF2:
                return (OFOxm)((Object)bsnUdf2Masked((UDF)((Object)value), (UDF)((Object)mask)));
            case BSN_UDF3:
                return (OFOxm)((Object)bsnUdf3Masked((UDF)((Object)value), (UDF)((Object)mask)));
            case BSN_UDF4:
                return (OFOxm)((Object)bsnUdf4Masked((UDF)((Object)value), (UDF)((Object)mask)));
            case BSN_UDF5:
                return (OFOxm)((Object)bsnUdf5Masked((UDF)((Object)value), (UDF)((Object)mask)));
            case BSN_UDF6:
                return (OFOxm)((Object)bsnUdf6Masked((UDF)((Object)value), (UDF)((Object)mask)));
            case BSN_UDF7:
                return (OFOxm)((Object)bsnUdf7Masked((UDF)((Object)value), (UDF)((Object)mask)));
            case BSN_VLAN_XLATE_PORT_GROUP_ID:
                return (OFOxm)((Object)bsnVlanXlatePortGroupIdMasked((ClassId)((Object)value), (ClassId)((Object)mask)));
            case BSN_VRF:
                return (OFOxm)((Object)bsnVrfMasked((VRF)((Object)value), (VRF)((Object)mask)));
            case CONN_TRACKING_IPV6_DST:
                return (OFOxm)((Object)connTrackingIpv6DstMasked((IPv6Address)((Object)value), (IPv6Address)((Object)mask)));
            case CONN_TRACKING_IPV6_SRC:
                return (OFOxm)((Object)connTrackingIpv6SrcMasked((IPv6Address)((Object)value), (IPv6Address)((Object)mask)));
            case CONN_TRACKING_LABEL:
                return (OFOxm)((Object)connTrackingLabelMasked((U128)((Object)value), (U128)((Object)mask)));
            case CONN_TRACKING_MARK:
                return (OFOxm)((Object)connTrackingMarkMasked((U32)((Object)value), (U32)((Object)mask)));
            case CONN_TRACKING_NW_DST:
                return (OFOxm)((Object)connTrackingNwDstMasked((U32)((Object)value), (U32)((Object)mask)));
            case CONN_TRACKING_NW_PROTO:
                return (OFOxm)((Object)connTrackingNwProtoMasked((U8)((Object)value), (U8)((Object)mask)));
            case CONN_TRACKING_NW_SRC:
                return (OFOxm)((Object)connTrackingNwSrcMasked((U32)((Object)value), (U32)((Object)mask)));
            case CONN_TRACKING_STATE:
                return (OFOxm)((Object)connTrackingStateMasked((U32)((Object)value), (U32)((Object)mask)));
            case CONN_TRACKING_TP_DST:
                return (OFOxm)((Object)connTrackingTpDstMasked((TransportPort)((Object)value), (TransportPort)((Object)mask)));
            case CONN_TRACKING_TP_SRC:
                return (OFOxm)((Object)connTrackingTpSrcMasked((TransportPort)((Object)value), (TransportPort)((Object)mask)));
            case CONN_TRACKING_ZONE:
                return (OFOxm)((Object)connTrackingZoneMasked((U16)((Object)value), (U16)((Object)mask)));
            case ETH_DST:
                return (OFOxm)((Object)ethDstMasked((MacAddress)((Object)value), (MacAddress)((Object)mask)));
            case ETH_SRC:
                return (OFOxm)((Object)ethSrcMasked((MacAddress)((Object)value), (MacAddress)((Object)mask)));
            case ETH_TYPE:
                return (OFOxm)((Object)ethTypeMasked((EthType)((Object)value), (EthType)((Object)mask)));
            case ICMPV4_CODE:
                return (OFOxm)((Object)icmpv4CodeMasked((ICMPv4Code)((Object)value), (ICMPv4Code)((Object)mask)));
            case ICMPV4_TYPE:
                return (OFOxm)((Object)icmpv4TypeMasked((ICMPv4Type)((Object)value), (ICMPv4Type)((Object)mask)));
            case ICMPV6_CODE:
                return (OFOxm)((Object)icmpv6CodeMasked((U8)((Object)value), (U8)((Object)mask)));
            case ICMPV6_TYPE:
                return (OFOxm)((Object)icmpv6TypeMasked((U8)((Object)value), (U8)((Object)mask)));
            case IN_PHY_PORT:
                return (OFOxm)((Object)inPhyPortMasked((OFPort)((Object)value), (OFPort)((Object)mask)));
            case IN_PORT:
                return (OFOxm)((Object)inPortMasked((OFPort)((Object)value), (OFPort)((Object)mask)));
            case IP_DSCP:
                return (OFOxm)((Object)ipDscpMasked((IpDscp)((Object)value), (IpDscp)((Object)mask)));
            case IP_ECN:
                return (OFOxm)((Object)ipEcnMasked((IpEcn)((Object)value), (IpEcn)((Object)mask)));
            case IP_PROTO:
                return (OFOxm)((Object)ipProtoMasked((IpProtocol)((Object)value), (IpProtocol)((Object)mask)));
            case IPV4_DST:
                return (OFOxm)((Object)ipv4DstMasked((IPv4Address)((Object)value), (IPv4Address)((Object)mask)));
            case IPV4_SRC:
                return (OFOxm)((Object)ipv4SrcMasked((IPv4Address)((Object)value), (IPv4Address)((Object)mask)));
            case IPV6_DST:
                return (OFOxm)((Object)ipv6DstMasked((IPv6Address)((Object)value), (IPv6Address)((Object)mask)));
            case IPV6_FLABEL:
                return (OFOxm)((Object)ipv6FlabelMasked((IPv6FlowLabel)((Object)value), (IPv6FlowLabel)((Object)mask)));
            case IPV6_ND_SLL:
                return (OFOxm)((Object)ipv6NdSllMasked((MacAddress)((Object)value), (MacAddress)((Object)mask)));
            case IPV6_ND_TARGET:
                return (OFOxm)((Object)ipv6NdTargetMasked((IPv6Address)((Object)value), (IPv6Address)((Object)mask)));
            case IPV6_ND_TLL:
                return (OFOxm)((Object)ipv6NdTllMasked((MacAddress)((Object)value), (MacAddress)((Object)mask)));
            case IPV6_SRC:
                return (OFOxm)((Object)ipv6SrcMasked((IPv6Address)((Object)value), (IPv6Address)((Object)mask)));
            case METADATA:
                return (OFOxm)((Object)metadataMasked((OFMetadata)((Object)value), (OFMetadata)((Object)mask)));
            case MPLS_LABEL:
                return (OFOxm)((Object)mplsLabelMasked((U32)((Object)value), (U32)((Object)mask)));
            case MPLS_TC:
                return (OFOxm)((Object)mplsTcMasked((U8)((Object)value), (U8)((Object)mask)));
            case OVS_TCP_FLAGS:
                return (OFOxm)((Object)ovsTcpFlagsMasked((U16)((Object)value), (U16)((Object)mask)));
            case SCTP_DST:
                return (OFOxm)((Object)sctpDstMasked((TransportPort)((Object)value), (TransportPort)((Object)mask)));
            case SCTP_SRC:
                return (OFOxm)((Object)sctpSrcMasked((TransportPort)((Object)value), (TransportPort)((Object)mask)));
            case TCP_DST:
                return (OFOxm)((Object)tcpDstMasked((TransportPort)((Object)value), (TransportPort)((Object)mask)));
            case TCP_SRC:
                return (OFOxm)((Object)tcpSrcMasked((TransportPort)((Object)value), (TransportPort)((Object)mask)));
            case TUNNEL_IPV4_DST:
                return (OFOxm)((Object)tunnelIpv4DstMasked((IPv4Address)((Object)value), (IPv4Address)((Object)mask)));
            case TUNNEL_IPV4_SRC:
                return (OFOxm)((Object)tunnelIpv4SrcMasked((IPv4Address)((Object)value), (IPv4Address)((Object)mask)));
            case UDP_DST:
                return (OFOxm)((Object)udpDstMasked((TransportPort)((Object)value), (TransportPort)((Object)mask)));
            case UDP_SRC:
                return (OFOxm)((Object)udpSrcMasked((TransportPort)((Object)value), (TransportPort)((Object)mask)));
            case VLAN_PCP:
                return (OFOxm)((Object)vlanPcpMasked((VlanPcp)((Object)value), (VlanPcp)((Object)mask)));
            case VLAN_VID:
                return (OFOxm)((Object)vlanVidMasked((OFVlanVidMatch)((Object)value), (OFVlanVidMatch)((Object)mask)));
            case BSN_INNER_ETH_DST:
                return (OFOxm)((Object)bsnInnerEthDstMasked((MacAddress)((Object)value), (MacAddress)((Object)mask)));
            case BSN_INNER_ETH_SRC:
                return (OFOxm)((Object)bsnInnerEthSrcMasked((MacAddress)((Object)value), (MacAddress)((Object)mask)));
            case BSN_INNER_VLAN_VID:
                return (OFOxm)((Object)bsnInnerVlanVidMasked((OFVlanVidMatch)((Object)value), (OFVlanVidMatch)((Object)mask)));
            case BSN_VFI:
                return (OFOxm)((Object)bsnVfiMasked((VFI)((Object)value), (VFI)((Object)mask)));
            case BSN_VXLAN_NETWORK_ID:
                return (OFOxm)((Object)bsnVxlanNetworkIdMasked((VxlanNI)((Object)value), (VxlanNI)((Object)mask)));
            case IPV6_EXTHDR:
                return (OFOxm)((Object)ipv6ExthdrMasked((U16)((Object)value), (U16)((Object)mask)));
            case MPLS_BOS:
                return (OFOxm)((Object)mplsBosMasked((OFBooleanValue)((Object)value), (OFBooleanValue)((Object)mask)));
            case TUNNEL_ID:
                return (OFOxm)((Object)tunnelIdMasked((U64)((Object)value), (U64)((Object)mask)));
            case BSN_IFP_CLASS_ID:
                return (OFOxm)((Object)bsnIfpClassIdMasked((ClassId)((Object)value), (ClassId)((Object)mask)));
            case PBB_UCA:
                return (OFOxm)((Object)pbbUcaMasked((OFBooleanValue)((Object)value), (OFBooleanValue)((Object)mask)));
            case ACTSET_OUTPUT:
                return (OFOxm)((Object)actsetOutputMasked((OFPort)((Object)value), (OFPort)((Object)mask)));
            case PACKET_TYPE:
                return (OFOxm)((Object)packetTypeMasked((PacketType)((Object)value), (PacketType)((Object)mask)));
            case TCP_FLAGS:
                return (OFOxm)((Object)tcpFlagsMasked((U16)((Object)value), (U16)((Object)mask)));
            default:
                throw new IllegalArgumentException("No OXM known for match field " + field);
        }
    }

    @SuppressWarnings("unchecked")
    public > OFOxm fromMasked(Masked masked, MatchField field) {
        switch (field.id) {
            case ARP_OP:
                return (OFOxm)((Object)arpOpMasked((ArpOpcode)((Object)(masked.getValue())), (ArpOpcode)((Object)(masked.getMask()))));
            case ARP_SHA:
                return (OFOxm)((Object)arpShaMasked((MacAddress)((Object)(masked.getValue())), (MacAddress)((Object)(masked.getMask()))));
            case ARP_SPA:
                return (OFOxm)((Object)arpSpaMasked((IPv4Address)((Object)(masked.getValue())), (IPv4Address)((Object)(masked.getMask()))));
            case ARP_THA:
                return (OFOxm)((Object)arpThaMasked((MacAddress)((Object)(masked.getValue())), (MacAddress)((Object)(masked.getMask()))));
            case ARP_TPA:
                return (OFOxm)((Object)arpTpaMasked((IPv4Address)((Object)(masked.getValue())), (IPv4Address)((Object)(masked.getMask()))));
            case BSN_EGR_PORT_GROUP_ID:
                return (OFOxm)((Object)bsnEgrPortGroupIdMasked((ClassId)((Object)(masked.getValue())), (ClassId)((Object)(masked.getMask()))));
            case BSN_GLOBAL_VRF_ALLOWED:
                return (OFOxm)((Object)bsnGlobalVrfAllowedMasked((OFBooleanValue)((Object)(masked.getValue())), (OFBooleanValue)((Object)(masked.getMask()))));
            case BSN_IN_PORTS_128:
                return (OFOxm)((Object)bsnInPorts128Masked((OFBitMask128)((Object)(masked.getValue())), (OFBitMask128)((Object)(masked.getMask()))));
            case BSN_IN_PORTS_512:
                return (OFOxm)((Object)bsnInPorts512Masked((OFBitMask512)((Object)(masked.getValue())), (OFBitMask512)((Object)(masked.getMask()))));
            case BSN_INGRESS_PORT_GROUP_ID:
                return (OFOxm)((Object)bsnIngressPortGroupIdMasked((ClassId)((Object)(masked.getValue())), (ClassId)((Object)(masked.getMask()))));
            case BSN_IP_FRAGMENTATION:
                return (OFOxm)((Object)bsnIpFragmentationMasked((OFBooleanValue)((Object)(masked.getValue())), (OFBooleanValue)((Object)(masked.getMask()))));
            case BSN_L2_CACHE_HIT:
                return (OFOxm)((Object)bsnL2CacheHitMasked((OFBooleanValue)((Object)(masked.getValue())), (OFBooleanValue)((Object)(masked.getMask()))));
            case BSN_L3_DST_CLASS_ID:
                return (OFOxm)((Object)bsnL3DstClassIdMasked((ClassId)((Object)(masked.getValue())), (ClassId)((Object)(masked.getMask()))));
            case BSN_L3_INTERFACE_CLASS_ID:
                return (OFOxm)((Object)bsnL3InterfaceClassIdMasked((ClassId)((Object)(masked.getValue())), (ClassId)((Object)(masked.getMask()))));
            case BSN_L3_SRC_CLASS_ID:
                return (OFOxm)((Object)bsnL3SrcClassIdMasked((ClassId)((Object)(masked.getValue())), (ClassId)((Object)(masked.getMask()))));
            case BSN_LAG_ID:
                return (OFOxm)((Object)bsnLagIdMasked((LagId)((Object)(masked.getValue())), (LagId)((Object)(masked.getMask()))));
            case BSN_TCP_FLAGS:
                return (OFOxm)((Object)bsnTcpFlagsMasked((U16)((Object)(masked.getValue())), (U16)((Object)(masked.getMask()))));
            case BSN_UDF0:
                return (OFOxm)((Object)bsnUdf0Masked((UDF)((Object)(masked.getValue())), (UDF)((Object)(masked.getMask()))));
            case BSN_UDF1:
                return (OFOxm)((Object)bsnUdf1Masked((UDF)((Object)(masked.getValue())), (UDF)((Object)(masked.getMask()))));
            case BSN_UDF2:
                return (OFOxm)((Object)bsnUdf2Masked((UDF)((Object)(masked.getValue())), (UDF)((Object)(masked.getMask()))));
            case BSN_UDF3:
                return (OFOxm)((Object)bsnUdf3Masked((UDF)((Object)(masked.getValue())), (UDF)((Object)(masked.getMask()))));
            case BSN_UDF4:
                return (OFOxm)((Object)bsnUdf4Masked((UDF)((Object)(masked.getValue())), (UDF)((Object)(masked.getMask()))));
            case BSN_UDF5:
                return (OFOxm)((Object)bsnUdf5Masked((UDF)((Object)(masked.getValue())), (UDF)((Object)(masked.getMask()))));
            case BSN_UDF6:
                return (OFOxm)((Object)bsnUdf6Masked((UDF)((Object)(masked.getValue())), (UDF)((Object)(masked.getMask()))));
            case BSN_UDF7:
                return (OFOxm)((Object)bsnUdf7Masked((UDF)((Object)(masked.getValue())), (UDF)((Object)(masked.getMask()))));
            case BSN_VLAN_XLATE_PORT_GROUP_ID:
                return (OFOxm)((Object)bsnVlanXlatePortGroupIdMasked((ClassId)((Object)(masked.getValue())), (ClassId)((Object)(masked.getMask()))));
            case BSN_VRF:
                return (OFOxm)((Object)bsnVrfMasked((VRF)((Object)(masked.getValue())), (VRF)((Object)(masked.getMask()))));
            case CONN_TRACKING_IPV6_DST:
                return (OFOxm)((Object)connTrackingIpv6DstMasked((IPv6Address)((Object)(masked.getValue())), (IPv6Address)((Object)(masked.getMask()))));
            case CONN_TRACKING_IPV6_SRC:
                return (OFOxm)((Object)connTrackingIpv6SrcMasked((IPv6Address)((Object)(masked.getValue())), (IPv6Address)((Object)(masked.getMask()))));
            case CONN_TRACKING_LABEL:
                return (OFOxm)((Object)connTrackingLabelMasked((U128)((Object)(masked.getValue())), (U128)((Object)(masked.getMask()))));
            case CONN_TRACKING_MARK:
                return (OFOxm)((Object)connTrackingMarkMasked((U32)((Object)(masked.getValue())), (U32)((Object)(masked.getMask()))));
            case CONN_TRACKING_NW_DST:
                return (OFOxm)((Object)connTrackingNwDstMasked((U32)((Object)(masked.getValue())), (U32)((Object)(masked.getMask()))));
            case CONN_TRACKING_NW_PROTO:
                return (OFOxm)((Object)connTrackingNwProtoMasked((U8)((Object)(masked.getValue())), (U8)((Object)(masked.getMask()))));
            case CONN_TRACKING_NW_SRC:
                return (OFOxm)((Object)connTrackingNwSrcMasked((U32)((Object)(masked.getValue())), (U32)((Object)(masked.getMask()))));
            case CONN_TRACKING_STATE:
                return (OFOxm)((Object)connTrackingStateMasked((U32)((Object)(masked.getValue())), (U32)((Object)(masked.getMask()))));
            case CONN_TRACKING_TP_DST:
                return (OFOxm)((Object)connTrackingTpDstMasked((TransportPort)((Object)(masked.getValue())), (TransportPort)((Object)(masked.getMask()))));
            case CONN_TRACKING_TP_SRC:
                return (OFOxm)((Object)connTrackingTpSrcMasked((TransportPort)((Object)(masked.getValue())), (TransportPort)((Object)(masked.getMask()))));
            case CONN_TRACKING_ZONE:
                return (OFOxm)((Object)connTrackingZoneMasked((U16)((Object)(masked.getValue())), (U16)((Object)(masked.getMask()))));
            case ETH_DST:
                return (OFOxm)((Object)ethDstMasked((MacAddress)((Object)(masked.getValue())), (MacAddress)((Object)(masked.getMask()))));
            case ETH_SRC:
                return (OFOxm)((Object)ethSrcMasked((MacAddress)((Object)(masked.getValue())), (MacAddress)((Object)(masked.getMask()))));
            case ETH_TYPE:
                return (OFOxm)((Object)ethTypeMasked((EthType)((Object)(masked.getValue())), (EthType)((Object)(masked.getMask()))));
            case ICMPV4_CODE:
                return (OFOxm)((Object)icmpv4CodeMasked((ICMPv4Code)((Object)(masked.getValue())), (ICMPv4Code)((Object)(masked.getMask()))));
            case ICMPV4_TYPE:
                return (OFOxm)((Object)icmpv4TypeMasked((ICMPv4Type)((Object)(masked.getValue())), (ICMPv4Type)((Object)(masked.getMask()))));
            case ICMPV6_CODE:
                return (OFOxm)((Object)icmpv6CodeMasked((U8)((Object)(masked.getValue())), (U8)((Object)(masked.getMask()))));
            case ICMPV6_TYPE:
                return (OFOxm)((Object)icmpv6TypeMasked((U8)((Object)(masked.getValue())), (U8)((Object)(masked.getMask()))));
            case IN_PHY_PORT:
                return (OFOxm)((Object)inPhyPortMasked((OFPort)((Object)(masked.getValue())), (OFPort)((Object)(masked.getMask()))));
            case IN_PORT:
                return (OFOxm)((Object)inPortMasked((OFPort)((Object)(masked.getValue())), (OFPort)((Object)(masked.getMask()))));
            case IP_DSCP:
                return (OFOxm)((Object)ipDscpMasked((IpDscp)((Object)(masked.getValue())), (IpDscp)((Object)(masked.getMask()))));
            case IP_ECN:
                return (OFOxm)((Object)ipEcnMasked((IpEcn)((Object)(masked.getValue())), (IpEcn)((Object)(masked.getMask()))));
            case IP_PROTO:
                return (OFOxm)((Object)ipProtoMasked((IpProtocol)((Object)(masked.getValue())), (IpProtocol)((Object)(masked.getMask()))));
            case IPV4_DST:
                return (OFOxm)((Object)ipv4DstMasked((IPv4Address)((Object)(masked.getValue())), (IPv4Address)((Object)(masked.getMask()))));
            case IPV4_SRC:
                return (OFOxm)((Object)ipv4SrcMasked((IPv4Address)((Object)(masked.getValue())), (IPv4Address)((Object)(masked.getMask()))));
            case IPV6_DST:
                return (OFOxm)((Object)ipv6DstMasked((IPv6Address)((Object)(masked.getValue())), (IPv6Address)((Object)(masked.getMask()))));
            case IPV6_FLABEL:
                return (OFOxm)((Object)ipv6FlabelMasked((IPv6FlowLabel)((Object)(masked.getValue())), (IPv6FlowLabel)((Object)(masked.getMask()))));
            case IPV6_ND_SLL:
                return (OFOxm)((Object)ipv6NdSllMasked((MacAddress)((Object)(masked.getValue())), (MacAddress)((Object)(masked.getMask()))));
            case IPV6_ND_TARGET:
                return (OFOxm)((Object)ipv6NdTargetMasked((IPv6Address)((Object)(masked.getValue())), (IPv6Address)((Object)(masked.getMask()))));
            case IPV6_ND_TLL:
                return (OFOxm)((Object)ipv6NdTllMasked((MacAddress)((Object)(masked.getValue())), (MacAddress)((Object)(masked.getMask()))));
            case IPV6_SRC:
                return (OFOxm)((Object)ipv6SrcMasked((IPv6Address)((Object)(masked.getValue())), (IPv6Address)((Object)(masked.getMask()))));
            case METADATA:
                return (OFOxm)((Object)metadataMasked((OFMetadata)((Object)(masked.getValue())), (OFMetadata)((Object)(masked.getMask()))));
            case MPLS_LABEL:
                return (OFOxm)((Object)mplsLabelMasked((U32)((Object)(masked.getValue())), (U32)((Object)(masked.getMask()))));
            case MPLS_TC:
                return (OFOxm)((Object)mplsTcMasked((U8)((Object)(masked.getValue())), (U8)((Object)(masked.getMask()))));
            case OVS_TCP_FLAGS:
                return (OFOxm)((Object)ovsTcpFlagsMasked((U16)((Object)(masked.getValue())), (U16)((Object)(masked.getMask()))));
            case SCTP_DST:
                return (OFOxm)((Object)sctpDstMasked((TransportPort)((Object)(masked.getValue())), (TransportPort)((Object)(masked.getMask()))));
            case SCTP_SRC:
                return (OFOxm)((Object)sctpSrcMasked((TransportPort)((Object)(masked.getValue())), (TransportPort)((Object)(masked.getMask()))));
            case TCP_DST:
                return (OFOxm)((Object)tcpDstMasked((TransportPort)((Object)(masked.getValue())), (TransportPort)((Object)(masked.getMask()))));
            case TCP_SRC:
                return (OFOxm)((Object)tcpSrcMasked((TransportPort)((Object)(masked.getValue())), (TransportPort)((Object)(masked.getMask()))));
            case TUNNEL_IPV4_DST:
                return (OFOxm)((Object)tunnelIpv4DstMasked((IPv4Address)((Object)(masked.getValue())), (IPv4Address)((Object)(masked.getMask()))));
            case TUNNEL_IPV4_SRC:
                return (OFOxm)((Object)tunnelIpv4SrcMasked((IPv4Address)((Object)(masked.getValue())), (IPv4Address)((Object)(masked.getMask()))));
            case UDP_DST:
                return (OFOxm)((Object)udpDstMasked((TransportPort)((Object)(masked.getValue())), (TransportPort)((Object)(masked.getMask()))));
            case UDP_SRC:
                return (OFOxm)((Object)udpSrcMasked((TransportPort)((Object)(masked.getValue())), (TransportPort)((Object)(masked.getMask()))));
            case VLAN_PCP:
                return (OFOxm)((Object)vlanPcpMasked((VlanPcp)((Object)(masked.getValue())), (VlanPcp)((Object)(masked.getMask()))));
            case VLAN_VID:
                return (OFOxm)((Object)vlanVidMasked((OFVlanVidMatch)((Object)(masked.getValue())), (OFVlanVidMatch)((Object)(masked.getMask()))));
            case BSN_INNER_ETH_DST:
                return (OFOxm)((Object)bsnInnerEthDstMasked((MacAddress)((Object)(masked.getValue())), (MacAddress)((Object)(masked.getMask()))));
            case BSN_INNER_ETH_SRC:
                return (OFOxm)((Object)bsnInnerEthSrcMasked((MacAddress)((Object)(masked.getValue())), (MacAddress)((Object)(masked.getMask()))));
            case BSN_INNER_VLAN_VID:
                return (OFOxm)((Object)bsnInnerVlanVidMasked((OFVlanVidMatch)((Object)(masked.getValue())), (OFVlanVidMatch)((Object)(masked.getMask()))));
            case BSN_VFI:
                return (OFOxm)((Object)bsnVfiMasked((VFI)((Object)(masked.getValue())), (VFI)((Object)(masked.getMask()))));
            case BSN_VXLAN_NETWORK_ID:
                return (OFOxm)((Object)bsnVxlanNetworkIdMasked((VxlanNI)((Object)(masked.getValue())), (VxlanNI)((Object)(masked.getMask()))));
            case IPV6_EXTHDR:
                return (OFOxm)((Object)ipv6ExthdrMasked((U16)((Object)(masked.getValue())), (U16)((Object)(masked.getMask()))));
            case MPLS_BOS:
                return (OFOxm)((Object)mplsBosMasked((OFBooleanValue)((Object)(masked.getValue())), (OFBooleanValue)((Object)(masked.getMask()))));
            case TUNNEL_ID:
                return (OFOxm)((Object)tunnelIdMasked((U64)((Object)(masked.getValue())), (U64)((Object)(masked.getMask()))));
            case BSN_IFP_CLASS_ID:
                return (OFOxm)((Object)bsnIfpClassIdMasked((ClassId)((Object)(masked.getValue())), (ClassId)((Object)(masked.getMask()))));
            case PBB_UCA:
                return (OFOxm)((Object)pbbUcaMasked((OFBooleanValue)((Object)(masked.getValue())), (OFBooleanValue)((Object)(masked.getMask()))));
            case ACTSET_OUTPUT:
                return (OFOxm)((Object)actsetOutputMasked((OFPort)((Object)(masked.getValue())), (OFPort)((Object)(masked.getMask()))));
            case PACKET_TYPE:
                return (OFOxm)((Object)packetTypeMasked((PacketType)((Object)(masked.getValue())), (PacketType)((Object)(masked.getMask()))));
            case TCP_FLAGS:
                return (OFOxm)((Object)tcpFlagsMasked((U16)((Object)(masked.getValue())), (U16)((Object)(masked.getMask()))));
            default:
                return null;
        }
    }

    public OFVersion getVersion() {
            return OFVersion.OF_12;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy