{ "instructions": [ { "id": "STLVmFlowVar", "parameters": ["name", "init_value", "max_value","min_value","step", "size","op"] }, { "id": "STLVmWrFlowVar", "parameters": ["fv_name", "pkt_offset","offset_fixup","add_val","is_big"] }, { "id": "STLVmWrMaskFlowVar", "parameters": ["fv_name", "pkt_offset", "pkt_cast_size","mask", "shift","add_value","is_big"] }, { "id": "STLVmFixIpv4", "parameters": ["offset"] }, { "id": "STLVmTrimPktSize", "parameters": ["fv_name"] }, { "id": "STLVmTupleGen", "parameters": ["name", "ip_min", "ip_max", "port_min", "port_max", "limit_flows", "flags"] }, { "id": "STLVmFlowVarRepeatableRandom", "parameters": ["name", "size", "limit", "seed", "min_value", "max_value"] }, { "id": "STLVmFixChecksumHw", "parameters": ["l3_offset","l4_offset","l4_type"] } ], "instruction_params_meta": [ { "id": "name", "name": "Name", "type": "ENUM", "editable": true, "required": true, "defaultValue": "Not defined" }, { "id": "init_value", "name": "Initial value", "type": "STRING", "defaultValue": "0" }, { "id": "max_value", "name": "Maximum value", "type": "STRING", "required": true, "defaultValue": "0" }, { "id": "min_value", "name": "Minimum value", "type": "STRING", "required": true, "defaultValue": "0" }, { "id": "step", "name": "Step", "type": "NUMBER", "required": true, "defaultValue": "1" }, { "id": "op", "name": "Operation", "type": "ENUM", "defaultValue": "inc", "dict": { "dec": "Decrement", "inc": "Increment", "random": "Random" }, "required": true }, { "id": "size", "name": "Size", "type": "ENUM", "defaultValue": "4", "dict": { "1": "1", "2": "2", "4": "4", "8": "8" } }, { "id": "fv_name", "name": "Variable name", "type": "ENUM", "required": true, "editable": true }, { "id": "pkt_offset", "name": "Offset", "type": "ENUM", "required": true, "editable": true, "defaultValue": 0 }, { "id": "pkt_cast_size", "name": "Packet cast size", "type": "ENUM", "defaultValue": 1, "dict":{ "1":1, "2":2, "4":4 } }, { "id": "shift", "name": "Shift", "type": "NUMBER", "defaultValue": 0 }, { "id": "mask", "name": "Mask", "type": "STRING", "defaultValue": "0xff" }, { "id": "offset_fixup", "name": "offset_fixup", "type": "NUMBER", "defaultValue": 0 }, { "id": "add_val", "name": "add_val", "type": "NUMBER", "defaultValue": 0 }, { "id": "add_value", "name": "add_value", "type": "NUMBER", "defaultValue": 0 }, { "id": "is_big", "name": "is_big", "type": "ENUM", "defaultValue": "true", "dict": { "true": "true", "false": "false" } }, { "id": "offset", "name": "Offset", "type": "ENUM", "required": true, "editable": true, "defaultValue": 0 }, { "id": "l3_offset", "name": "L3 offset", "type": "STRING", "required": true, "autocomplete": true, "defaultValue": "IP" }, { "id": "l4_offset", "name": "L4 offset", "type": "STRING", "required": true, "defaultValue": "TCP" }, { "id": "ip_min", "name": "Min IP", "type": "STRING", "defaultValue": "0.0.0.1" }, { "id": "ip_max", "name": "Max IP", "type": "STRING", "defaultValue": "0.0.0.10" }, { "id": "port_max", "name": "Max Port number", "type": "NUMBER", "defaultValue": 65535 }, { "id": "port_min", "name": "Min Port number", "type": "NUMBER", "defaultValue": 1025 }, { "id": "limit_flows", "name": "FLows limit", "type": "NUMBER", "defaultValue": 100000 }, { "id": "limit", "name": "Limit", "type": "NUMBER", "defaultValue": 100 }, { "id": "seed", "name": "Seed", "type": "String", "defaultValue": "None" }, { "id": "flags", "name": "Flags", "type": "NUMBER", "defaultValue": 0 }, { "id": "l4_type", "name": "L4 type", "type": "ENUM", "required": true, "editable": false, "defaultValue": "13", "dict": { "11": "L4_TYPE_UDP", "13": "L4_TYPE_TCP" } } ], "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", "name": "Cache size", "type": "NUMBER", "defaultValue": "1000" } ] }