private static long resolveReg(Class<? extends NxmNxReg> reg) { if (reg.equals(NxmNxReg0.class)) { return NiciraMatchCodecs.REG0_CODEC.getHeaderWithoutHasMask().toLong(); } if (reg.equals(NxmNxReg1.class)) { return NiciraMatchCodecs.REG1_CODEC.getHeaderWithoutHasMask().toLong(); } if (reg.equals(NxmNxReg2.class)) { return NiciraMatchCodecs.REG2_CODEC.getHeaderWithoutHasMask().toLong(); } if (reg.equals(NxmNxReg3.class)) { return NiciraMatchCodecs.REG3_CODEC.getHeaderWithoutHasMask().toLong(); } if (reg.equals(NxmNxReg4.class)) { return NiciraMatchCodecs.REG4_CODEC.getHeaderWithoutHasMask().toLong(); } if (reg.equals(NxmNxReg5.class)) { return NiciraMatchCodecs.REG5_CODEC.getHeaderWithoutHasMask().toLong(); } if (reg.equals(NxmNxReg6.class)) { return NiciraMatchCodecs.REG6_CODEC.getHeaderWithoutHasMask().toLong(); } if (reg.equals(NxmNxReg7.class)) { return NiciraMatchCodecs.REG7_CODEC.getHeaderWithoutHasMask().toLong(); } throw new CodecPreconditionException("Missing codec for nxm_nx_reg?" + reg); }
private static Class<? extends ExtensionKey> resolveRegKey(Class<? extends MatchField> oxmMatchField) { if (NiciraMatchCodecs.REG0_CODEC.getNxmField().isAssignableFrom(oxmMatchField)) { return NxmNxReg0Key.class; } if (NiciraMatchCodecs.REG1_CODEC.getNxmField().isAssignableFrom(oxmMatchField)) { return NxmNxReg1Key.class; } if (NiciraMatchCodecs.REG2_CODEC.getNxmField().isAssignableFrom(oxmMatchField)) { return NxmNxReg2Key.class; } if (NiciraMatchCodecs.REG3_CODEC.getNxmField().isAssignableFrom(oxmMatchField)) { return NxmNxReg3Key.class; } if (NiciraMatchCodecs.REG4_CODEC.getNxmField().isAssignableFrom(oxmMatchField)) { return NxmNxReg4Key.class; } if (NiciraMatchCodecs.REG5_CODEC.getNxmField().isAssignableFrom(oxmMatchField)) { return NxmNxReg5Key.class; } if (NiciraMatchCodecs.REG6_CODEC.getNxmField().isAssignableFrom(oxmMatchField)) { return NxmNxReg6Key.class; } if (NiciraMatchCodecs.REG7_CODEC.getNxmField().isAssignableFrom(oxmMatchField)) { return NxmNxReg7Key.class; } throw new CodecPreconditionException("There is no key for " + oxmMatchField); }
private static Class<? extends NxmNxReg> resolveReg(long value) { if (value == NiciraMatchCodecs.REG0_CODEC.getHeaderWithoutHasMask().toLong()) { return NxmNxReg0.class; } if (value == NiciraMatchCodecs.REG1_CODEC.getHeaderWithoutHasMask().toLong()) { return NxmNxReg1.class; } if (value == NiciraMatchCodecs.REG2_CODEC.getHeaderWithoutHasMask().toLong()) { return NxmNxReg2.class; } if (value == NiciraMatchCodecs.REG3_CODEC.getHeaderWithoutHasMask().toLong()) { return NxmNxReg3.class; } if (value == NiciraMatchCodecs.REG4_CODEC.getHeaderWithoutHasMask().toLong()) { return NxmNxReg4.class; } if (value == NiciraMatchCodecs.REG5_CODEC.getHeaderWithoutHasMask().toLong()) { return NxmNxReg5.class; } if (value == NiciraMatchCodecs.REG6_CODEC.getHeaderWithoutHasMask().toLong()) { return NxmNxReg6.class; } if (value == NiciraMatchCodecs.REG7_CODEC.getHeaderWithoutHasMask().toLong()) { return NxmNxReg7.class; } return null; }