@Override public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(Action input, ActionPath path) { NxActionRegMove actionRegMove = ((ActionRegMove) input.getActionChoice()).getNxActionRegMove(); DstBuilder dstBuilder = new DstBuilder(); dstBuilder.setDstChoice(resolveDst(actionRegMove.getDst())); dstBuilder.setStart(actionRegMove.getDstOfs()); dstBuilder.setEnd(actionRegMove.getDstOfs() + actionRegMove.getNBits() - 1); SrcBuilder srcBuilder = new SrcBuilder(); srcBuilder.setSrcChoice(resolveSrc(actionRegMove.getSrc())); srcBuilder.setStart(actionRegMove.getSrcOfs()); srcBuilder.setEnd(actionRegMove.getSrcOfs() + actionRegMove.getNBits() - 1); NxRegMoveBuilder nxRegMoveBuilder = new NxRegMoveBuilder(); nxRegMoveBuilder.setDst(dstBuilder.build()); nxRegMoveBuilder.setSrc(srcBuilder.build()); return resolveAction(nxRegMoveBuilder.build(), path); }
@Override public Action convert(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) { Preconditions.checkArgument(nxActionArg instanceof NxActionRegMoveGrouping); NxActionRegMoveGrouping nxAction = (NxActionRegMoveGrouping) nxActionArg; Dst dst = nxAction.getNxRegMove().getDst(); Src src = nxAction.getNxRegMove().getSrc(); ActionRegMoveBuilder actionRegMoveBuilder = new ActionRegMoveBuilder(); NxActionRegMoveBuilder nxActionRegMove = new NxActionRegMoveBuilder(); nxActionRegMove.setDst(resolveDst(dst.getDstChoice())); nxActionRegMove.setDstOfs(dst.getStart()); nxActionRegMove.setSrc(resolveSrc(src.getSrcChoice())); nxActionRegMove.setSrcOfs(src.getStart()); nxActionRegMove.setNBits(dst.getEnd() - dst.getStart() + 1); actionRegMoveBuilder.setNxActionRegMove(nxActionRegMove.build()); return ActionUtil.createAction(actionRegMoveBuilder.build()); }
@Override public Action convert(final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) { Preconditions.checkArgument(nxActionArg instanceof NxActionRegLoadGrouping); NxActionRegLoadGrouping nxAction = (NxActionRegLoadGrouping) nxActionArg; Dst dst = nxAction.getNxRegLoad().getDst(); ActionRegLoadBuilder actionRegLoadBuilder = new ActionRegLoadBuilder(); NxActionRegLoadBuilder nxActionRegLoadBuilder = new NxActionRegLoadBuilder(); nxActionRegLoadBuilder.setDst(RegMoveConvertor.resolveDst(dst.getDstChoice())); nxActionRegLoadBuilder.setOfsNbits((dst.getStart() << 6) | (dst.getEnd() - dst.getStart())); nxActionRegLoadBuilder.setValue(nxAction.getNxRegLoad().getValue()); actionRegLoadBuilder.setNxActionRegLoad(nxActionRegLoadBuilder.build()); return ActionUtil.createAction(actionRegLoadBuilder.build()); }
public static long resolveDst(DstChoice dstChoice) { if (dstChoice instanceof DstNxRegCase) { return resolveReg(((DstNxRegCase) dstChoice).getNxReg());
@Override public Action convert(final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) { Preconditions.checkArgument(nxActionArg instanceof NxActionOutputRegGrouping); NxActionOutputRegGrouping nxAction = (NxActionOutputRegGrouping) nxActionArg; Src src = nxAction.getNxOutputReg().getSrc(); ActionOutputRegBuilder builder = new ActionOutputRegBuilder(); NxActionOutputRegBuilder nxActionOutputRegBuilder = new NxActionOutputRegBuilder(); nxActionOutputRegBuilder.setSrc(RegMoveConvertor.resolveSrc(src.getSrcChoice())); nxActionOutputRegBuilder.setNBits(src.getOfsNbits()); nxActionOutputRegBuilder.setMaxLen(nxAction.getNxOutputReg().getMaxLen()); builder.setNxActionOutputReg(nxActionOutputRegBuilder.build()); return ActionUtil.createAction(builder.build()); }
@Override public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(final Action input, final ActionPath path) { NxActionRegLoad actionRegLoad = ((ActionRegLoad) input.getActionChoice()).getNxActionRegLoad(); DstBuilder dstBuilder = new DstBuilder(); dstBuilder.setDstChoice(RegMoveConvertor.resolveDst(actionRegLoad.getDst())); dstBuilder.setStart(resolveStart(actionRegLoad.getOfsNbits())); dstBuilder.setEnd(resolveEnd(actionRegLoad.getOfsNbits())); NxRegLoadBuilder nxRegLoadBuilder = new NxRegLoadBuilder(); nxRegLoadBuilder.setDst(dstBuilder.build()); nxRegLoadBuilder.setValue(actionRegLoad.getValue()); return resolveAction(nxRegLoadBuilder.build(), path); }
static long resolveSrc(SrcChoice srcChoice) { if (srcChoice instanceof SrcNxRegCase) { return resolveReg(((SrcNxRegCase) srcChoice).getNxReg());
@Override public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(final Action input, final ActionPath path) { NxActionOutputReg action = ((ActionOutputReg) input.getActionChoice()).getNxActionOutputReg(); SrcBuilder srcBuilder = new SrcBuilder(); srcBuilder.setSrcChoice(RegMoveConvertor.resolveSrc(action.getSrc())); srcBuilder.setOfsNbits(action.getNBits()); NxOutputRegBuilder builder = new NxOutputRegBuilder(); builder.setSrc(srcBuilder.build()); builder.setMaxLen(action.getMaxLen()); return resolveAction(builder.build(), path); }
@Override public Action convert(final org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action nxActionArg) { Preconditions.checkArgument(nxActionArg instanceof NxActionMultipathGrouping); NxActionMultipathGrouping nxAction = (NxActionMultipathGrouping) nxActionArg; NxActionMultipathBuilder nxActionMultipathBuilder = new NxActionMultipathBuilder(); nxActionMultipathBuilder.setFields(nxAction.getNxMultipath().getFields()); nxActionMultipathBuilder.setBasis(nxAction.getNxMultipath().getBasis()); nxActionMultipathBuilder.setAlgorithm(nxAction.getNxMultipath().getAlgorithm()); nxActionMultipathBuilder.setMaxLink(nxAction.getNxMultipath().getMaxLink()); nxActionMultipathBuilder.setArg(nxAction.getNxMultipath().getArg()); Dst dst = nxAction.getNxMultipath().getDst(); nxActionMultipathBuilder.setOfsNbits((dst.getStart() << 6) | (dst.getEnd() - dst.getStart())); nxActionMultipathBuilder.setDst(RegMoveConvertor.resolveDst(dst.getDstChoice())); ActionMultipathBuilder actionMultipathBuilder = new ActionMultipathBuilder(); actionMultipathBuilder.setNxActionMultipath(nxActionMultipathBuilder.build()); return ActionUtil.createAction(actionMultipathBuilder.build()); }
static SrcChoice resolveSrc(long srcValue) { Class<? extends NxmNxReg> potentialSrc = resolveReg(srcValue); if (potentialSrc != null) { return new SrcNxRegCaseBuilder().setNxReg(potentialSrc).build();
@Override public org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action convert(final Action input, final ActionPath path) { NxActionMultipath action = ((ActionMultipath) input.getActionChoice()).getNxActionMultipath(); DstBuilder dstBuilder = new DstBuilder(); dstBuilder.setDstChoice(RegMoveConvertor.resolveDst(action.getDst())); dstBuilder.setStart(resolveStart(action.getOfsNbits())); dstBuilder.setEnd(resolveEnd(action.getOfsNbits())); NxMultipathBuilder builder = new NxMultipathBuilder(); builder.setBasis(action.getBasis()); builder.setAlgorithm(action.getAlgorithm()); builder.setMaxLink(action.getMaxLink()); builder.setArg(action.getArg()); builder.setDst(dstBuilder.build()); return resolveAction(builder.build(), path); }
public static DstChoice resolveDst(long dstValue) { Class<? extends NxmNxReg> potentialDst = resolveReg(dstValue); if (potentialDst != null) { return new DstNxRegCaseBuilder().setNxReg(potentialDst).build();