@Override
    public OFOxmIpProto readFrom(ChannelBuffer bb) throws OFParseError {
      // fixed value property typeLen == 0x80001401L
      int typeLen = bb.readInt();
      if (typeLen != (int) 0x80001401)
        throw new OFParseError("Wrong typeLen: Expected=0x80001401L(0x80001401L), got=" + typeLen);
      IpProtocol value = IpProtocol.readByte(bb);

      OFOxmIpProtoVer12 oxmIpProtoVer12 = new OFOxmIpProtoVer12(value);
      if (logger.isTraceEnabled()) logger.trace("readFrom - read={}", oxmIpProtoVer12);
      return oxmIpProtoVer12;
    }