From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 748AEA0544; Fri, 2 Sep 2022 10:45:47 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 140D740693; Fri, 2 Sep 2022 10:45:47 +0200 (CEST) Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net [185.136.64.227]) by mails.dpdk.org (Postfix) with ESMTP id 1804D40684 for ; Fri, 2 Sep 2022 10:45:45 +0200 (CEST) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 202209020845447203a73859b4629aa3 for ; Fri, 02 Sep 2022 10:45:44 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=felix.moessbauer@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc; bh=wPO5bBTY24QeKFGzvH+gP7aIQahrit6Ml6U67SsCL54=; b=KxGYIw/q+y3zN0uowTI24Pzl1FPx8Mh7cBvfXFJAiX/pavIBAl76u0hp2miytF8yDQ1Yzt U8VI7sGzzNC6H+808Nh78XHJdSPvVshTRIzz7xhOitRXOkL7vj1/ChMv9ypXYI+4KBxazI56 G7Tsq+rZ+EqOuXoZkoOgWDITh0dhc=; From: Felix Moessbauer To: dev@dpdk.org Cc: henning.schild@siemens.com, jan.kiszka@siemens.com, thomas@monjalon.net, Felix Moessbauer Subject: [PATCH v6 0/2] Add l2reflect measurement application Date: Fri, 2 Sep 2022 10:45:31 +0200 Message-Id: <20220902084533.675698-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-72506:519-21489:flowmailer 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 Dear DPDK community, this patch provides the l2reflect measurement tool which will be discussed in our 2022 DPDK Userspace Summit talk: "Using DPDK OVS for deterministic low latency communication" While the code still might need some polish, we believe it is a good starting point for discussions about low latency networking in DPDK. The tool can also be used in a CI environment to contineously measure latencies across the evolution of DPDK and Linux. Best regards, Felix Moessbauer Siemens AG Changes since v5: - rebased against current main - updated API to DPKD 22.x - use RTE tracing - rework handling of mempool - fixes around configurable packet size - backportet changes from out-of-tree version Changes since v4: All mentioned points from Thomas Monjalon's review are adressed. This includes: - remove obsolete makefile - remove authors from headers - include sbdirs in alphabetical order - use rte functions to compare mac addrs - use rte functions to format mac addrs - use jansson instead of cjson for json creation - print histogram to stderr to decouple from TUI - add option to disable color (autodisable if redirected) - improve documentation on how to use the tool - improve inline documentation (mainly l2reflect_rx_filter) This patch is still targeted towards dpdk/main until the final decision is made to put it in DTS. Further, currently only linux is supported due to the RT tuning stuff and a missing windows testing environment on our side. We would be happy about contributions to port that to other platforms as well. Changes since v3: - check for sys/io.h header - fix linking issues on gcc 10 Changes since v2: - add missing internal dependency - improve wording of commit message Changes since v1: - move to app folder, as suggested by maintainer - fix issues reported by checkpatch Felix Moessbauer (2): Fix build of apps with external dependencies Add l2reflect measurement application app/l2reflect/colors.c | 34 ++ app/l2reflect/colors.h | 19 + app/l2reflect/l2reflect.h | 53 ++ app/l2reflect/main.c | 1007 +++++++++++++++++++++++++++++++++++++ app/l2reflect/meson.build | 21 + app/l2reflect/payload.h | 26 + app/l2reflect/stats.c | 225 +++++++++ app/l2reflect/stats.h | 67 +++ app/l2reflect/utils.c | 67 +++ app/l2reflect/utils.h | 20 + app/meson.build | 3 +- 11 files changed, 1541 insertions(+), 1 deletion(-) create mode 100644 app/l2reflect/colors.c create mode 100644 app/l2reflect/colors.h create mode 100644 app/l2reflect/l2reflect.h create mode 100644 app/l2reflect/main.c create mode 100644 app/l2reflect/meson.build create mode 100644 app/l2reflect/payload.h create mode 100644 app/l2reflect/stats.c create mode 100644 app/l2reflect/stats.h create mode 100644 app/l2reflect/utils.c create mode 100644 app/l2reflect/utils.h -- 2.30.2