From patchwork Thu Apr 20 09:31:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 126316 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 92ACF42995; Thu, 20 Apr 2023 11:51:08 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5C80440A4B; Thu, 20 Apr 2023 11:51:08 +0200 (CEST) Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by mails.dpdk.org (Postfix) with ESMTP id B542940687 for ; Thu, 20 Apr 2023 11:51:06 +0200 (CEST) Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-50685f1b6e0so812561a12.0 for ; Thu, 20 Apr 2023 02:51:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon-tech.20221208.gappssmtp.com; s=20221208; t=1681984266; x=1684576266; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=hjZ+F1X7+vZTi0VwhZJKlNrAEFZ6uRtY9q1c/MQ863w=; b=zBzXt3NB8Dt8zLPeZ1KAIaqhR8paHX5u6lId0mlR8i8B+Inbjmib97hKiaHBpgKtM5 aaHqYgpJYU2+BGFF1yK+ZaVE6b1HEp4MwEep1m3kho+OlHrp45S8ZvkK4nrOGxkDHnKH l25s+Ar8fdy8xUZzhSqgpk0HfGA50reQ+Gmz5ZWfyrPX23jw76lCVYn7pk5GJG2k6oAM 7qKX5fse95jbkr8QPJX6ReyC43z5SlbP6kuf/nOozsl3hd2yKJ04zLk9giEvuMPg69qf 42G5OdqbdR3kVp0AoIsqMuttjapC2I6TdDfTfhMamFpL9Wa666d0QVFBpewsJ6gTkN7R zc8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681984266; x=1684576266; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=hjZ+F1X7+vZTi0VwhZJKlNrAEFZ6uRtY9q1c/MQ863w=; b=JYLo7DX7lPA1Q3HJ5cRHNZF1MuZqiTTaEnpLuCUvqIVu9sq30F8qw6APv0fDYXaEEB JEhTmw2wUBwPoTYL3aYQ4ngjXpSfMs7knXSFK42VQNx+guQt1JUrhAMj5JdWN4QTjKow HK/p9MDU1FyyYh+ORRJZ5uDqT7Qyb4VzFpoawcx9QoxVRbJimsjjEvh4tKF7NA3+wkRv 9LBsLDOSEi2M5yFFdBFhcoiN5uosTp1Bu/knv55UnIwIIH522VZYmey4glOWsKWn6pTy s7JL3wg5M9Iln6dlnJEzDFONMfKG5tZ1H7ZrsqqoXJYQ4ckoisHIgRPcChX1yZapa/L4 o03g== X-Gm-Message-State: AAQBX9fozvC1k5B6XwPhZIIgJ305tB9+YL3uZzOwCFzQJE/ww3BQkXNZ kBaXmKdhn00oKMvRhnaVh57v6MkUymlTTBLkOa6GoTYflk77iahDvEp8t1wdi7yuMC0aqmqACw= = X-Google-Smtp-Source: AKy350YcRpchLZLWQ2b1+vYPADYRlFEi0ZbOyIRvM+Q+94j0XyWMeVw4RyOb3G3ORKqAgpvuSP4lNg== X-Received: by 2002:a50:ef12:0:b0:504:b657:4cd8 with SMTP id m18-20020a50ef12000000b00504b6574cd8mr1219914eds.31.1681984266370; Thu, 20 Apr 2023 02:51:06 -0700 (PDT) Received: from jlinkes.pantheon.local (81.89.53.154.host.vnet.sk. [81.89.53.154]) by smtp.gmail.com with ESMTPSA id v2-20020aa7d802000000b004ad601533a3sm580801edq.55.2023.04.20.02.51.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Apr 2023 02:51:06 -0700 (PDT) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, lijuan.tu@intel.com, wathsala.vithanage@arm.com, jspewock@iol.unh.edu, probb@iol.unh.edu Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Subject: [RFC PATCH v1 0/5] dts: add tg abstractions and scapy Date: Thu, 20 Apr 2023 11:31:04 +0200 Message-Id: <20230420093109.594704-1-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The implementation adds abstractions for all traffic generators as well as those that can capture individual packets and investigate (not just count) them. The traffic generators reside on traffic generator nodes which are also added, along with some related code. Juraj Linkeš (5): dts: add scapy dependency dts: add traffic generator config dts: traffic generator abstractions dts: scapy traffic generator implementation dts: add traffic generator node to dts runner dts/conf.yaml | 25 ++ dts/framework/config/__init__.py | 107 +++++- dts/framework/config/conf_yaml_schema.json | 172 ++++++++- dts/framework/dts.py | 42 ++- dts/framework/remote_session/linux_session.py | 55 +++ dts/framework/remote_session/os_session.py | 22 +- dts/framework/remote_session/posix_session.py | 3 + .../remote_session/remote/remote_session.py | 7 + dts/framework/testbed_model/__init__.py | 1 + .../capturing_traffic_generator.py | 155 ++++++++ dts/framework/testbed_model/hw/port.py | 55 +++ dts/framework/testbed_model/node.py | 4 +- dts/framework/testbed_model/scapy.py | 348 ++++++++++++++++++ dts/framework/testbed_model/sut_node.py | 5 +- dts/framework/testbed_model/tg_node.py | 62 ++++ .../testbed_model/traffic_generator.py | 59 +++ dts/poetry.lock | 18 +- dts/pyproject.toml | 1 + 18 files changed, 1103 insertions(+), 38 deletions(-) create mode 100644 dts/framework/testbed_model/capturing_traffic_generator.py create mode 100644 dts/framework/testbed_model/hw/port.py create mode 100644 dts/framework/testbed_model/scapy.py create mode 100644 dts/framework/testbed_model/tg_node.py create mode 100644 dts/framework/testbed_model/traffic_generator.py