Search in sources :

Example 1 with CtActions

use of org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.conntrack.grouping.nx.conntrack.CtActions in project openflowplugin by opendaylight.

the class ConntrackConvertor method getCtAction.

private List<CtActions> getCtAction(final NxActionConntrack action) {
    if (action.getCtActions() == null) {
        return null;
    }
    List<CtActions> ctActions = new ArrayList<>();
    for (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.conntrack.grouping.nx.action.conntrack.CtActions ctAction : action.getCtActions()) {
        org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.OfpactActions ofpactAction = ctAction.getOfpactActions();
        if (ofpactAction instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionNatCase) {
            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.nx.action.nat._case.NxActionNat nxActionNat = ((org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionNatCase) ofpactAction).getNxActionNat();
            NxActionNatBuilder nxActionNatBuilder = new NxActionNatBuilder();
            nxActionNatBuilder.setFlags(nxActionNat.getFlags());
            nxActionNatBuilder.setRangePresent(nxActionNat.getRangePresent());
            nxActionNatBuilder.setIpAddressMin(nxActionNat.getIpAddressMin());
            nxActionNatBuilder.setIpAddressMax(nxActionNat.getIpAddressMax());
            nxActionNatBuilder.setPortMin(nxActionNat.getPortMin());
            nxActionNatBuilder.setPortMax(nxActionNat.getPortMax());
            NxActionNatCaseBuilder caseBuilder = new NxActionNatCaseBuilder();
            caseBuilder.setNxActionNat(nxActionNatBuilder.build());
            CtActionsBuilder ctActionsBuilder = new CtActionsBuilder();
            ctActionsBuilder.setOfpactActions(caseBuilder.build());
            ctActions.add(ctActionsBuilder.build());
        } else if (ofpactAction instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionCtMarkCase) {
            org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.nx.action.ct.mark._case.NxActionCtMark nxActionCtMark = ((org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionCtMarkCase) ofpactAction).getNxActionCtMark();
            NxActionCtMarkBuilder nxActionCtMarkBuilder = new NxActionCtMarkBuilder();
            nxActionCtMarkBuilder.setCtMark(nxActionCtMark.getCtMark());
            // TODO: ct_mark mask is not supported yet
            NxActionCtMarkCaseBuilder caseBuilder = new NxActionCtMarkCaseBuilder();
            caseBuilder.setNxActionCtMark(nxActionCtMarkBuilder.build());
            CtActionsBuilder ctActionsBuilder = new CtActionsBuilder();
            ctActionsBuilder.setOfpactActions(caseBuilder.build());
            ctActions.add(ctActionsBuilder.build());
        }
    }
    return ctActions;
}
Also used : NxActionCtMarkCaseBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.ofpact.actions.ofpact.actions.NxActionCtMarkCaseBuilder) CtActions(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.conntrack.grouping.nx.conntrack.CtActions) ArrayList(java.util.ArrayList) NxActionNatBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.ofpact.actions.ofpact.actions.nx.action.nat._case.NxActionNatBuilder) CtActionsBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.conntrack.grouping.nx.conntrack.CtActionsBuilder) NxActionCtMarkBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.ofpact.actions.ofpact.actions.nx.action.ct.mark._case.NxActionCtMarkBuilder) NxActionCtMark(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.ofpact.actions.ofpact.actions.nx.action.ct.mark._case.NxActionCtMark) NxActionNatCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.ofpact.actions.ofpact.actions.NxActionNatCase) NxActionNatCaseBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.ofpact.actions.ofpact.actions.NxActionNatCaseBuilder)

Example 2 with CtActions

use of org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.conntrack.grouping.nx.conntrack.CtActions in project openflowplugin by opendaylight.

the class ConntrackCodec method serializeCtAction.

private void serializeCtAction(final ByteBuf outBuffer, final ActionConntrack action) {
    List<CtActions> ctActionsList = action.getNxActionConntrack().getCtActions();
    if (ctActionsList != null) {
        for (CtActions ctActions : ctActionsList) {
            if (ctActions.getOfpactActions() instanceof NxActionNatCase) {
                NxActionNatCase nxActionNatCase = (NxActionNatCase) ctActions.getOfpactActions();
                NxActionNat natAction = nxActionNatCase.getNxActionNat();
                int natLength = getNatActionLength(natAction);
                int pad = 8 - natLength % 8;
                serializeHeader(natLength + pad, NXAST_NAT_SUBTYPE, outBuffer);
                outBuffer.writeZero(2);
                outBuffer.writeShort(natAction.getFlags().shortValue());
                short rangePresent = natAction.getRangePresent().shortValue();
                outBuffer.writeShort(rangePresent);
                if (0 != (rangePresent & NxActionNatRangePresent.NXNATRANGEIPV4MIN.getIntValue())) {
                    if (null != natAction.getIpAddressMin()) {
                        outBuffer.writeBytes(IetfInetUtil.INSTANCE.ipv4AddressBytes(natAction.getIpAddressMin().getIpv4Address()));
                    }
                }
                if (0 != (rangePresent & NxActionNatRangePresent.NXNATRANGEIPV4MAX.getIntValue())) {
                    if (null != natAction.getIpAddressMax()) {
                        outBuffer.writeBytes(IetfInetUtil.INSTANCE.ipv4AddressBytes(natAction.getIpAddressMax().getIpv4Address()));
                    }
                }
                if (0 != (rangePresent & NxActionNatRangePresent.NXNATRANGEPROTOMIN.getIntValue())) {
                    outBuffer.writeShort(natAction.getPortMin());
                }
                if (0 != (rangePresent & NxActionNatRangePresent.NXNATRANGEPROTOMAX.getIntValue())) {
                    outBuffer.writeShort(natAction.getPortMax());
                }
                outBuffer.writeZero(pad);
            } else if (ctActions.getOfpactActions() instanceof NxActionCtMarkCase) {
                NxActionCtMarkCase nxActionCtMarkCase = (NxActionCtMarkCase) ctActions.getOfpactActions();
                NxActionCtMark ctMarkAction = nxActionCtMarkCase.getNxActionCtMark();
                // structure:
                // 00 19 - set field code
                // 00 10 - set field length
                // 00 01 d6 04
                // xx xx xx xx FIELD VALUE (4 bytes)
                // xx xx xx xx PADDING (4 bytes)
                outBuffer.writeShort(SET_FIELD_CODE);
                outBuffer.writeShort(SET_FIELD_LENGTH);
                outBuffer.writeZero(1);
                outBuffer.writeByte(NXM_FIELD_CODE);
                outBuffer.writeByte(NXM_CT_MARK_FIELD_CODE << 1);
                outBuffer.writeByte(INT_LENGTH);
                outBuffer.writeInt(ctMarkAction.getCtMark().intValue());
                outBuffer.writeZero(INT_LENGTH);
            // TODO: ct_mark mask is not supported yet
            }
        }
    }
}
Also used : NxActionCtMark(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.nx.action.ct.mark._case.NxActionCtMark) NxActionCtMarkCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionCtMarkCase) NxActionNatCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionNatCase) CtActions(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.conntrack.grouping.nx.action.conntrack.CtActions) NxActionNat(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.nx.action.nat._case.NxActionNat)

Example 3 with CtActions

use of org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.conntrack.grouping.nx.conntrack.CtActions in project openflowplugin by opendaylight.

the class ConntrackCodec method getActionLength.

private int getActionLength(final ActionConntrack action) {
    int length = 0;
    List<CtActions> ctActionsList = action.getNxActionConntrack().getCtActions();
    if (ctActionsList == null) {
        return length;
    }
    for (CtActions ctActions : ctActionsList) {
        if (ctActions.getOfpactActions() instanceof NxActionNatCase) {
            NxActionNatCase nxActionNatCase = (NxActionNatCase) ctActions.getOfpactActions();
            NxActionNat natAction = nxActionNatCase.getNxActionNat();
            int natLength = getNatActionLength(natAction);
            int pad = 8 - natLength % 8;
            length += natLength + pad;
        } else if (ctActions.getOfpactActions() instanceof NxActionCtMarkCase) {
            length += SET_FIELD_LENGTH;
        }
    }
    LOG.trace("ActionLength :conntrack: length {}", length);
    return length;
}
Also used : NxActionCtMarkCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionCtMarkCase) NxActionNatCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionNatCase) CtActions(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.conntrack.grouping.nx.action.conntrack.CtActions) NxActionNat(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.nx.action.nat._case.NxActionNat)

Example 4 with CtActions

use of org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.conntrack.grouping.nx.conntrack.CtActions in project openflowplugin by opendaylight.

the class ConntrackCodecTest method createAction.

private Action createAction() {
    NxActionConntrackBuilder nxActionConntrackBuilder = new NxActionConntrackBuilder();
    nxActionConntrackBuilder.setFlags(1);
    nxActionConntrackBuilder.setZoneSrc((long) 2);
    nxActionConntrackBuilder.setConntrackZone(3);
    nxActionConntrackBuilder.setRecircTable((short) 4);
    NxActionNatBuilder nxActionNatBuilder = new NxActionNatBuilder();
    nxActionNatBuilder.setFlags(5);
    nxActionNatBuilder.setRangePresent(0x3F);
    nxActionNatBuilder.setIpAddressMin(new IpAddress("192.168.0.0".toCharArray()));
    nxActionNatBuilder.setIpAddressMax(new IpAddress("192.168.10.0".toCharArray()));
    nxActionNatBuilder.setPortMin(3000);
    nxActionNatBuilder.setPortMax(4000);
    NxActionNatCaseBuilder nxActionNatCaseBuilder = new NxActionNatCaseBuilder();
    nxActionNatCaseBuilder.setNxActionNat(nxActionNatBuilder.build());
    CtActionsBuilder ctActionsBuilder = new CtActionsBuilder();
    ctActionsBuilder.setOfpactActions(nxActionNatCaseBuilder.build());
    List<CtActions> ctActionsList = new ArrayList<>();
    ctActionsList.add(ctActionsBuilder.build());
    nxActionNatBuilder = new NxActionNatBuilder();
    nxActionNatBuilder.setFlags(5);
    nxActionNatBuilder.setRangePresent(0x21);
    nxActionNatBuilder.setIpAddressMin(new IpAddress("192.168.0.0".toCharArray()));
    nxActionNatBuilder.setPortMax(4000);
    nxActionNatCaseBuilder = new NxActionNatCaseBuilder();
    nxActionNatCaseBuilder.setNxActionNat(nxActionNatBuilder.build());
    ctActionsBuilder = new CtActionsBuilder();
    ctActionsBuilder.setOfpactActions(nxActionNatCaseBuilder.build());
    ctActionsList.add(ctActionsBuilder.build());
    nxActionConntrackBuilder.setCtActions(ctActionsList);
    NxActionCtMarkBuilder nxActionCtMarkBuilder = new NxActionCtMarkBuilder();
    nxActionCtMarkBuilder.setCtMark((long) 36);
    NxActionCtMarkCaseBuilder nxActionCtMarkCaseBuilder = new NxActionCtMarkCaseBuilder();
    nxActionCtMarkCaseBuilder.setNxActionCtMark(nxActionCtMarkBuilder.build());
    ctActionsBuilder = new CtActionsBuilder();
    ctActionsBuilder.setOfpactActions(nxActionCtMarkCaseBuilder.build());
    ctActionsList.add(ctActionsBuilder.build());
    nxActionConntrackBuilder.setCtActions(ctActionsList);
    ExperimenterId experimenterId = new ExperimenterId(NiciraConstants.NX_VENDOR_ID);
    ActionBuilder actionBuilder = new ActionBuilder();
    actionBuilder.setExperimenterId(experimenterId);
    ActionConntrackBuilder actionConntrackBuilder = new ActionConntrackBuilder();
    actionConntrackBuilder.setNxActionConntrack(nxActionConntrackBuilder.build());
    actionBuilder.setActionChoice(actionConntrackBuilder.build());
    return actionBuilder.build();
}
Also used : NxActionCtMarkCaseBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionCtMarkCaseBuilder) ActionBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder) NxActionConntrackBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.conntrack.grouping.NxActionConntrackBuilder) ActionConntrackBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionConntrackBuilder) CtActions(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.conntrack.grouping.nx.action.conntrack.CtActions) NxActionCtMarkBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.nx.action.ct.mark._case.NxActionCtMarkBuilder) NxActionNatBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.nx.action.nat._case.NxActionNatBuilder) ArrayList(java.util.ArrayList) CtActionsBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.conntrack.grouping.nx.action.conntrack.CtActionsBuilder) ExperimenterId(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.ExperimenterId) NxActionConntrackBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.conntrack.grouping.NxActionConntrackBuilder) NxActionNatCaseBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionNatCaseBuilder) IpAddress(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress)

Example 5 with CtActions

use of org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.conntrack.grouping.nx.conntrack.CtActions in project openflowplugin by opendaylight.

the class ConntrackCodecTest method deserializeTest.

@Test
public void deserializeTest() {
    createBuffer(buffer);
    action = conntrackCodec.deserialize(buffer);
    ActionConntrack result = (ActionConntrack) action.getActionChoice();
    Assert.assertEquals(1, result.getNxActionConntrack().getFlags().shortValue());
    Assert.assertEquals(2, result.getNxActionConntrack().getZoneSrc().intValue());
    Assert.assertEquals(3, result.getNxActionConntrack().getConntrackZone().shortValue());
    Assert.assertEquals(4, result.getNxActionConntrack().getRecircTable().byteValue());
    List<CtActions> ctActions = result.getNxActionConntrack().getCtActions();
    NxActionNatCase nxActionNatCase = (NxActionNatCase) ctActions.get(0).getOfpactActions();
    NxActionNat natAction = nxActionNatCase.getNxActionNat();
    Assert.assertEquals(5, natAction.getFlags().shortValue());
    Assert.assertEquals(0x3F, natAction.getRangePresent().intValue());
    Assert.assertEquals("192.168.0.0", natAction.getIpAddressMin().getIpv4Address().getValue());
    Assert.assertEquals("192.168.10.0", natAction.getIpAddressMax().getIpv4Address().getValue());
    Assert.assertEquals(3000, natAction.getPortMin().shortValue());
    Assert.assertEquals(4000, natAction.getPortMax().shortValue());
    nxActionNatCase = (NxActionNatCase) ctActions.get(1).getOfpactActions();
    natAction = nxActionNatCase.getNxActionNat();
    Assert.assertEquals(5, natAction.getFlags().shortValue());
    Assert.assertEquals(0x21, natAction.getRangePresent().intValue());
    Assert.assertEquals("192.168.0.0", natAction.getIpAddressMin().getIpv4Address().getValue());
    Assert.assertEquals(4000, natAction.getPortMax().shortValue());
    NxActionCtMarkCase nxActionCtMarkCase = (NxActionCtMarkCase) ctActions.get(2).getOfpactActions();
    NxActionCtMark ctMarkAction = nxActionCtMarkCase.getNxActionCtMark();
    Assert.assertEquals(36, ctMarkAction.getCtMark().longValue());
}
Also used : NxActionCtMark(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.nx.action.ct.mark._case.NxActionCtMark) NxActionCtMarkCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionCtMarkCase) NxActionNatCase(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionNatCase) CtActions(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.conntrack.grouping.nx.action.conntrack.CtActions) ActionConntrack(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionConntrack) NxActionNat(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.nx.action.nat._case.NxActionNat) Test(org.junit.Test)

Aggregations

ArrayList (java.util.ArrayList)6 CtActions (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.conntrack.grouping.nx.action.conntrack.CtActions)5 IpAddress (org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress)4 CtActions (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.conntrack.grouping.nx.conntrack.CtActions)4 NxActionNatCase (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.ofpact.actions.ofpact.actions.NxActionNatCase)4 NxActionNatBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.ofpact.actions.ofpact.actions.nx.action.nat._case.NxActionNatBuilder)4 Test (org.junit.Test)3 NxActionCtMarkCase (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionCtMarkCase)3 NxActionNatCase (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionNatCase)3 NxActionNat (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.nx.action.nat._case.NxActionNat)3 CtActionsBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.nx.action.conntrack.grouping.nx.conntrack.CtActionsBuilder)3 NxActionNatCaseBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.ofpact.actions.ofpact.actions.NxActionNatCaseBuilder)3 NxActionNat (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.nicira.action.rev140714.ofpact.actions.ofpact.actions.nx.action.nat._case.NxActionNat)3 ActionBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.ActionBuilder)2 ActionConntrack (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionConntrack)2 ActionConntrackBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.action.container.action.choice.ActionConntrackBuilder)2 NxActionConntrackBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.conntrack.grouping.NxActionConntrackBuilder)2 CtActionsBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofj.nx.action.conntrack.grouping.nx.action.conntrack.CtActionsBuilder)2 NxActionCtMarkCaseBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionCtMarkCaseBuilder)2 NxActionNatCaseBuilder (org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.action.rev140421.ofpact.actions.ofpact.actions.NxActionNatCaseBuilder)2