From 9d95c05457c5849afcef0f285752250b8aab7501 Mon Sep 17 00:00:00 2001 From: Vitaliy Pavlov Date: Thu, 22 Aug 2024 22:50:41 +0700 Subject: [PATCH] update message examples --- message_examples.json | 222 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 message_examples.json diff --git a/message_examples.json b/message_examples.json new file mode 100644 index 0000000..21f714a --- /dev/null +++ b/message_examples.json @@ -0,0 +1,222 @@ +Messages from Agent +- TO MAIN QUEUE: +AGENT_HELLO: +{ + "message": AGENT_HELLO (0), + "data": { + "hostname": "", + "version": "", + "interfaces": ["ens0p0","ens0p1"] + } +} + +AGENT_ERROR: // for errors that are not related to tasks +{ + "message": AGENT_ERROR (1), + "data": { + "error": "" + } +} + +- TO SEPARATED QUEUE: +AGENT_STATUS: +{ + "message": AGENT_STATUS (2), + "data": { + "status": TASK_STATUS_, // PREPARING (0), RUNNING (1), STOPPED (2), FINISHED (3), ERROR (4) + "taskId": , + "progress": "Optional 0-100 for TASK_STATUS_RUNNIG", + "error": "Optional for TASK_STATUS_ERROR" + } +} + +AGENT_PING: +{ + "message": AGENT_PING (3), +} + + + + + + +Messages from Controller +- TO SEPARATED QUEUE: +CONTROLLER_PONG: +{ + "message": CONTROLLER_PONG (3), +} + +CONTROLLER_TASK_PAUSE: +{ + "message": CONTROLLER_TASK_PAUSE (1), + "data": { + "taskId": + } +} + +CONTROLLER_TASK_STOP: +{ + "message": CONTROLLER_TASK_STOP (2), + "data": { + "taskId": + } +} + +CONTROLLER_TASK_START: +{ + "message": CONTROLLER_TASK_START (0), + "data": { + "taskId": , + "data": { + "type": TYPE_VFIO (0), // TYPE_POSIX (1) + "mode": MODE_THROUGHPUT_BPS (0), // MODE_THROUGHPUT_PPS (1), MODE_TCP_CONNECTIONS (2), MODE_USERS (3), + "time": , + "sourceClient": [ + "enp0s0": [ + { + "IPs": ["127.0.0.0/24", "120.0.1.1/32"], // SRC-IPs mask cannot be duplicated into two or more entities within 1 network interface + "MACs": { + "mode": IP_HASH (1), + "addresses": [ + { + "address": "00-B0-D0-63-C2-26", + }, + { + "address": "01-B0-D0-63-C2-26", + } + ], + }, + "nextHops": { + "mode": ROUND_ROBIN (0), + "addresses": [ + { + "address": "00-B0-D0-63-C2-26", + "weight": 47, + }, + { + "address": "01-B0-D0-63-C2-26", + "weight": 53, + } + ], + }, + }, + ], + "enp0s1": [ + { + "IPs": ["121.0.1.1/32"], + "MACs": { + "mode": IP_HASH (1), + "addresses": [ + { + "address": "00-B0-D0-63-C2-26", + }, + { + "address": "01-B0-D0-63-C2-26", + } + ], + }, // every packet receives round-robin balancing mac + "nextHops": { + "mode": ROUND_ROBIN (0), + "addresses": [ + { + "address": "00-B0-D0-63-C2-26", + "weight": 47, + }, + { + "address": "01-B0-D0-63-C2-26", + "weight": 53, + } + ], + }, + }, + { + "IPs": ["124.0.1.0/24", "127.0.1.0/16"], + "MACs": { + "mode": IP_HASH (1), + "addresses": [ + { + "address": "00-B0-D0-63-C2-26", + }, + { + "address": "01-B0-D0-63-C2-26", + } + ], + }, // IPs hash, divide and bind to every IPv4/IPv6. MAC-адресов не может быть больше IPs-адресов + "nextHops": { + "mode": ROUND_ROBIN (0), + "addresses": [ + { + "address": "00-B0-D0-63-C2-26", + "weight": 47, + }, + { + "address": "01-B0-D0-63-C2-26", + "weight": 53, + } + ], + }, + }, + { + "IPs": ["129.0.1.1/32"], + "MACs": { + "mode": RANDOM (2), // random MAC every packet + }, + "nextHops": { + "mode": ROUND_ROBIN (0), + "addresses": [ + { + "address": "00-B0-D0-63-C2-26", + "weight": 47, + }, + { + "address": "01-B0-D0-63-C2-26", + "weight": 53, + } + ], + }, + }, + { + "IPs": ["128.0.1.0/24"], + "MACs": { + "mode": GENERATE (3), // generate mac for every IPv4/IPv6 and bind it + }, + "nextHops": { + "mode": ROUND_ROBIN (0), + "addresses": [ + { + "address": "00-B0-D0-63-C2-26", + "weight": 47, + }, + { + "address": "01-B0-D0-63-C2-26", + "weight": 53, + } + ], + }, + } + ], + ], + "sourceReceiver": [ + + ], + "plugins": [ + { + "plugin": , + "weight": <0-100 value> + }, + { + "plugin": , + "weight": <0-100 value> + } + ], + "performance": { + "maxBps": , + "maxPps": , + "maxTcpConnections": , // max bps or max pps limit required with max tcp connections + "maxUsers": + }, + "tweaks": [[0, 10], [10, 60], [20, 60], [30, 120], ...] + } + } +} \ No newline at end of file