"name": "Variable name",
"type": "ENUM",
"required": true,
- "editable": false
+ "editable": true
},
{
"id": "pkt_offset",
}
],
"supported_protocols": ["IP","TCP","UDP"],
+ "templates":[
+ {
+ "id": "simple_flow_var",
+ "name": "Simple variable",
+ "instructionIds": ["STLVmFlowVar", "STLVmWrFlowVar"]
+ },
+ {
+ "id": "rep_rand_var",
+ "name": "Repeatable random",
+ "instructionIds": ["STLVmFlowVarRepetableRandom", "STLVmWrFlowVar"]
+ }
+ ],
"global_params_meta":[
{
"id": "cache_size",
self.field_engine_supported_protocols = {}
self.instruction_parameter_meta_definitions = []
self.field_engine_parameter_meta_definitions = []
+ self.field_engine_templates_definitions = []
self.field_engine_instructions_meta = []
self.field_engine_instruction_expressions = []
self._load_definitions_from_json()
self.instruction_parameter_meta_definitions = []
self.field_engine_supported_protocols = {}
self.field_engine_parameter_meta_definitions = []
+ self.field_engine_templates_definitions = []
with open('field_engine.json', 'r') as f:
metas = json.load(f)
self.instruction_parameter_meta_definitions = metas["instruction_params_meta"]
self._append_intructions_help()
self.field_engine_supported_protocols = metas["supported_protocols"]
self.field_engine_parameter_meta_definitions = metas["global_params_meta"]
+ self.field_engine_templates_definitions = metas["templates"]
def _append_intructions_help(self):
res = {"protocols": protocols,
"feInstructionParameters": self.instruction_parameter_meta_definitions,
"feInstructions": self.field_engine_instructions_meta,
- "feParameters": self.field_engine_parameter_meta_definitions}
+ "feParameters": self.field_engine_parameter_meta_definitions,
+ "feTemplates": self.field_engine_templates_definitions}
return res
def get_payload_classes(self,client_v_handler, pkt_model_descriptor):